Control puerto serie RS232 en django

399 views
Skip to first unread message

José Jesús Palacios

unread,
Apr 5, 2015, 7:24:12 PM4/5/15
to djan...@googlegroups.com
Estoy desarrollando una aplicación en django y necesito leer el puerto RS232.
PySerial resuelve el problema de comunicación con el puerto y proporciona un backend para python en cualquier plataforma y es compatible incluso con python 3.x.

Pero, ¿es posible conseguir, por ejemplo que desde un formulario (en el navegador) se lea el puerto y el dato aparezca en un campo <input>?

Gracias a todos.


Javier Sanchez Toledano

unread,
Apr 5, 2015, 7:32:59 PM4/5/15
to djan...@googlegroups.com
Si el puerto que quieres leer está en el cliente, tendrás que recurrir a otras tecnologías. Tal vez java o javascript. Recuerda que Django funciona del lado del servidor.

Ricardo Daniel Quiroga

unread,
Apr 5, 2015, 7:37:27 PM4/5/15
to Grupo Django-Es
Hola
si lo podes leer desde pyserial ymostrar en consola es aplicable, el puerto deberia estar en la maquina servidor en el caso mas simple o 
bien implementar alguna API que consulte las peticiones en la maquina donde se leera los datos del puerto y cargue los datos leidos al
 servidor, en todo caso Django creo que es demaciado para lo que buscas hacer, mas diria que pruebe microframework como bottle o flask.

Saludos

--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a django-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--

Ricardo Daniel Quiroga

Enrique Garcia

unread,
Apr 6, 2015, 9:09:58 AM4/6/15
to djan...@googlegroups.com
Es interesante lo que quieres hacer Jose Jesus Palacios, es aplicable con los lectores de codigo de barras con entrada USB, lo eh visto en otros sistemas web pero que estan hecho en otro lenguaje (.Net) y estoy seguro si usan algun plugin  o quizas algo nativo de la plataforma. No lo eh visto si trabaja con un S.O. Linux o Mac pero en Win si lo eh visto y trabaja bien. (Todo esto es aplicable desde la parte Cliente y Servidor).

Y si lo que quieres es leer la entrada del lado del servidor seria suficiente el PySerial.

Pero si encuentra alguna solución se te agradecería bastante que nos la compartas.

Jose Regalado

unread,
Apr 6, 2015, 10:34:10 AM4/6/15
to djan...@googlegroups.com
Aplet de Java. y del lado del servidor python.

El día 6 de abril de 2015, 8:39, Enrique Garcia
<milton....@gmail.com> escribió:
> --
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del
> Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
> Para anular la suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.
> ---
> Has recibido este mensaje porque estás suscrito al grupo "Django-es" de
> Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a django-es+...@googlegroups.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
José Luis Regalado
bashman
Linux User nº 280381
WhatsApp / Telegram +58 416 1705119

José Jesús Palacios

unread,
Apr 6, 2015, 4:52:00 PM4/6/15
to djan...@googlegroups.com
Si, teneis razón. Es en el lado del cliente y por lo tanto tendría que hacerlo con javascript ya que los puestos son clientes que toman datos y los envían al servidor.

Bien, ¿y con javascript se puede hacer? Tiene que ser multiplataforma por eso, creo, lo mas fácil es usar un browser (navegador) como interfaz de usuario mediante un formulario.

Gracias a todos por las respuestas.

Nekmo

unread,
Apr 6, 2015, 5:41:02 PM4/6/15
to djan...@googlegroups.com
Esto es más bien una pregunta de HTML5, no de Django.

Para Chrome sí que conozco una API, pero no la he probado:
https://developer.chrome.com/apps/serial

De Firefox existen complelementos:
http://www.activexperts.com/serial-port-component/howto/firefox/

Java es la opción más "multiplataforma", pero hoy en día la mayoría lo
tienen desactivado, el navegador lo bloquea, el SO lo bloquea, el
antivirus lo bloquea......

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: cont...@nekmo.com
XMPP/Jabber: cont...@nekmo.com
Google+: Nekmo Com


El día 6 de abril de 2015, 22:52, José Jesús Palacios
<fun...@gmail.com> escribió:

Ricardo Daniel Quiroga

unread,
Apr 6, 2015, 9:53:07 PM4/6/15
to Grupo Django-Es
Hola

pense que era otra cosa, si es un lector de codigo de barra hasta lo que yo tenia entendido funcionaba igual que un teclado 
cargaba los valores y al final enviaba el comando enter. En fin si no existe, podrias crear una pequeña app y empaquetarla 
que cuando detecte ingresos de codigo simule pulsaciones de teclado :D.

¿En fin es cuestion de tener el lector de codigo de barra para probar?

Saludos

Para obtener más opciones, visita https://groups.google.com/d/optout.



--

Ricardo Daniel Quiroga

Manuel Saelices

unread,
Apr 7, 2015, 2:06:26 AM4/7/15
to djan...@googlegroups.com
Efectivamente, no hace falta usar ningún driver en el cliente a través del navegador. Sólo necesitas que:
  • El foco del teclado esté situado en el input correspondiente al código de barras.
  • La tecla intro provoque el envío del formulario.
Un saludo.

José Jesús Palacios

unread,
Apr 8, 2015, 6:13:10 AM4/8/15
to djan...@googlegroups.com, cont...@nekmo.com
Tienes razón. En el lado del servidor, node-serialport y "garrows" https://github.com/garrows/browser-serialport tiene un desarrollo basado en la api que mencionabas para Chrome. Hace unos años Nicholas Zambetti desarrolló seriallity como un plugin para el navegador, http://www.zambetti.com/projects/seriality/

Voy a probar todo esto, ver que camino tomo y mover esto a otro forum.

Gracias a todos, me habéis aclarado las ideas.
Reply all
Reply to author
Forward
0 new messages