Página 1 de 1

Raspberry PI 3+WindSonic

Publicado: 11 Sep 2018, 21:19
por Beto_Ismael
hola gente, soy nuevo en lo que es rapsberry y en la empresa que trabajo mi jefe me solicita que logre conectar la raspberry PI 3 con un sensor Windsonic el cual se comunica por RS-232.

Mi idea es ocupar los los puertos de my pi 3 (10 RX y 8TX).
se que los puertos RX y TX toleran un voltaje ttl ,para ello estoy ocupando un conversor rs 232 a niveles mas bajo de lectura sin dañar la pi 3.

luego obtener los datos de lectura reflejados en pantalla o apoyarme con algun codigo python para guardar dichos datos.

La verdad es que no se por donde empezar...

Les ruego ayuda :triste :triste

Re: Raspberry PI 3+WindSonic

Publicado: 12 Sep 2018, 09:48
por egrueda
Lo suyo es que haya algún programa que acceda a los datos del sensor cada X segundos (o menos) y almacene esos datos para que los puedas consultar en cualquier momento.
Existen muchos códigos en python para leer y escribir al puerto serie:

Código: Seleccionar todo

import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=115200, timeout=3.0)
while True:
    port.write("\r\nSay something:")
    rcv = port.read(10)
    port.write("\r\nYou sent:" + repr(rcv))
Así que por un lado, tenemos el tema del código:
https://www.elinux.org/Serial_port_programming

Y por otro lado tenemos que "preparar" la raspberry para liberar el UART, es decir, para deshabilitar la consola por puerto serie de la raspi, de forma que puedas usar ese puerto serie para comunicación.
Eso se hace con "sudo raspi-config", opción 5 "Interfacing options", opción P6 "Serial" y ahí eliges "No" para deshabiltiar la consola serial
https://www.raspberrypi.org/documentati ... on/uart.md

Por último, lo más divertido: los comandos propios del sensor y la parte de interpretar las respuestas:
http://gillinstruments.com/data/manuals ... Manual.pdf

Re: Raspberry PI 3+WindSonic

Publicado: 12 Sep 2018, 17:51
por Beto_Ismael
Hice cada paso, ahora bien necesito conocer el scrip con el comando exacto que me permita leer el puerto en donde estará conectado mi sensor con el conversor...

Re: Raspberry PI 3+WindSonic

Publicado: 12 Sep 2018, 17:53
por egrueda
¿No te valen los ejemplos que te he enviado?
https://www.elinux.org/Serial_port_prog ... l_emulator

Re: Raspberry PI 3+WindSonic

Publicado: 12 Sep 2018, 19:42
por Beto_Ismael
Este es el codigo que encontré solo para leer el puerto en donde tengo conectado el sensor

Código: Seleccionar todo

  #!/usr/bin/env python
          
      
           import time
           import serial
          
      
           ser = serial.Serial(
              
               port='/dev/ttyAMA0',
               baudrate = 9600,
               parity=serial.PARITY_NONE,
               stopbits=serial.STOPBITS_ONE,
               bytesize=serial.EIGHTBITS,
               timeout=1
           )
           counter=0
          
      
           while 1:
               x=ser.readline()
               print x

Re: Raspberry PI 3+WindSonic

Publicado: 13 Sep 2018, 21:59
por Beto_Ismael
No logro leer el puerto con el sensor conectado.. :triste :triste :triste :triste

Re: Raspberry PI 3+WindSonic

Publicado: 13 Sep 2018, 22:10
por egrueda
¿Has desactivado la consola serie?

Código: Seleccionar todo

Eso se hace con "sudo raspi-config", opción 5 "Interfacing options", opción P6 "Serial" y ahí eliges "No" para deshabiltiar la consola serial
https://www.raspberrypi.org/documentation/configuration/uart.md

Re: Raspberry PI 3+WindSonic

Publicado: 13 Sep 2018, 23:02
por Beto_Ismael
hice todo eso, quizás no encuentro el scrip correcto para la lectura del puerto y ver los datos del sensor

Re: Raspberry PI 3+WindSonic

Publicado: 13 Sep 2018, 23:10
por Beto_Ismael
Este es el estado de mi pi 3

Código: Seleccionar todo

pi@raspberrypi:~ $ ls -lh /dev/serial0
lrwxrwxrwx 1 root root 7 sep 13 17:38 /dev/serial0 -> ttyAMA0
pi@raspberrypi:~ $ ls -lh /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 sep 13 17:38 /dev/ttyS0
pi@raspberrypi:~ $ dmesg | grep tty
[    0.000000] Kernel command line: 8250.nr_uarts=1 bcm2708_fb.fbwidth=800 bcm2708_fb.fbhe        ight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_ot        g.lpm_enable=0 console=tty1 root=PARTUUID=58cc10f9-02 rootfstype=ext4 elevator=deadline fs        ck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[    0.000148] console [tty1] enabled
[    0.545537] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a         PL011 rev2
[    0.546439] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 166, base_baud = 31250000) is a 1        6550
pi@raspberrypi:~ $