[pyar] Puerto Serie (Ex Putty en Python)

Roberto Bozzacchi robbie en metasigno.com
Mar Mayo 24 12:34:03 ART 2016


Les pongo el caso de uso completo:

Hay una centralita que no tenemos manual ni nada y la empresa no tiene
planes de cambiarla por ahora.
Dicha centralita, cada media hora (hora reloj de la centralita) envía datos
por el RS232 (Puerto Serial)
En la PC del Jefe de ATU, recibe dichos datos. Hoy por hoy tiene que poner
el PUTTY, configurar el mismo y acordarse cada X tiempo de guardar con un
nombre el LOG.
Mi idea es lograr hacer un programa que quede en ESCUCHA como lo hace el
PUTTY y que ni bien termina de recibir los datos, los guarde ya sea en un
TXT o lo que sea. Si es en una Base de Datos mejor. Y luego otro programa
será el encargado de realizar el análisis de dichos datos.

Para más datos, la PC es un Windows 7 y el script deberá quedar en modo
ESCUCHA del puerto COM1 y disparar un evento cuando recibe los datos, para
que estos queden guardados.

Trabajé con PySerial, pero siempre en modo "OnLine" o como si fuera un
Terminal.
No se cómo hacer que el Script quede en espera de que ocurra un evento como
"Hay Datos en el Puerto COM1"

Espero esta vez me haya explicado mejor y pido disculpas si no lo hice
antes.

El 24 de mayo de 2016, 11:47, nahuel<nahuel.defosse en gmail.com> escribió:

> Quizás quieras ver el soporte de PySerial de Twisted.
> Encontré este ejemplo que habla con un GPS, podrías adaptarlo a tu
> necesidad:
> https://twistedmatrix.com/documents/current/_downloads/gpsfix.py
>
> Saludos!
>
> El 24 may 2016, a las 10:56 a.m., Roberto Bozzacchi <robbie en metasigno.com>
> escribió:
>
> No Nahuel, es a modo de ejemplo de uso de PySerial para enviar y recibir
> que hice en su momento.
> Pero lo que necesito ahora es tener un script que quede "EN ESCUCHA" y que
> cuando algo llegue al puerto COM1 dispare un evento para leer el mismo y
> guardar lo que llega en un archivo.
> Esto es lo que no encuentro
>
> El 23 de mayo de 2016, 19:48, Lucas Riccombene<lriccombene en gmail.com>
> escribió:
>
>> Hola como va tanto tiempo? Soy Lucas De S.L.A.M "software libre
>> autogestinado metropolitano"
>> Bueno es para contarles que estoy estudiando Django con el libro "Django
>> 1.8"
>> Alguien recomienda algo?
>> dejo mi correo por lucas en slamcoop.com.ar
>> Saludos
>>
>>
>>
>> El 23 de mayo de 2016, 16:31, nahuel <nahuel.defosse en gmail.com> escribió:
>>
>>> Hola Roberto,
>>>
>>> Estás intentando mandar SMS con Python, con puerto serie. Vas a tener
>>> problemas con el encoding de GSM.
>>> Mi humilde recomendación, si necesitas que funcione, es que utilices SMS
>>> Server Tools, dónde metes el
>>> SMS en un txt en una carpeta spool y es enviado.
>>> Al menos esa es la forma más fault tolerant que vi (puede fallar varias
>>> cosas, como que el carrier no haya registrado tu telular, que la potencia
>>> sea un valor negativo, que no recuerdo bien cuando ocurría). El SMS Server
>>> Tools reintenta y puede delegar la tarea en varios modems/telulares.
>>>
>>> Espero que te sirva
>>>
>>> Saludos!
>>> > El 23 may 2016, a las 3:31 p.m., Roberto Bozzacchi <
>>> robbie en metasigno.com> escribió:
>>> >
>>> > Bueno, tengo varios scripts que hice antes para escribir y leer el
>>> puerto serie siempre de la forma, envío un comando y leo la respuesta.
>>> >
>>> > Pero esta vez lo que tengo que hacer es quedar en escucha del puerto y
>>> cuando llega algo, recién ahí leer el puerto y guardar lo que llega en un
>>> TXT.
>>> >
>>> > Bueno, no tengo nada de ese estilo y no supe buscar en google esto...
>>> >
>>> > try:
>>> >     s = serial.Serial('/dev/rfcomm0', 9600, timeout=1)
>>> >     #AT commands tested successfully on Sony Ericsson, Nokia and
>>> Motorola terminals
>>> >     s.write('ATZ\r') # Back to default phone settings
>>> >     sleep(1)
>>> >     s.write('ATE=0\r') #Turn Off Local Echo
>>> >     sleep(1)
>>> >     s.write('AT+CPMS="ME","ME"\r')#Using Phone's Memory as workspace
>>> >     sleep(1)
>>> >     s.write('AT+CMGF=0\r') #Enabling PDU Mode. AT+CMGF=1 for Text Mode
>>> >     print "Sending..."
>>> >     sleep(1)
>>> >     s.write("AT+CMGW=%s\r" % ((len(pdu) / 2) - 1 )) #Writing SMS to
>>> phone instead of actually sending SMS (debug Mode),
>>> >                                                     #change this
>>> command to AT+CMGS when  you are ready to send SMS
>>> >     sleep(1)
>>> >     s.write(pdu.upper())
>>> >     s.write(chr(26)) # CTRL+Z
>>> >     sleep(1)
>>> >     print s.read(1024) #Reading phone answers
>>> >
>>> >     s.close()
>>> >
>>> > except Exception, e:
>>> >     print "Unable to open /dev/rfcomm0, Exception: %s" % e
>>> >
>>> > --
>>> >
>>> > Robbie Bozzacchi
>>> > Metasigno Brain
>>> > _______________________________________________
>>> > pyar mailing list pyar en python.org.ar
>>> > http://listas.python.org.ar/listinfo/pyar
>>> >
>>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>> >
>>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>>
>>
>>
>> --
>> saluda atentamente Lucas Riccombene
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
>
> Robbie Bozzacchi
> Metasigno Brain
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 

Robbie Bozzacchi
Metasigno Brain
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160524/bee95c95/attachment.html>


Más información sobre la lista de distribución pyar