elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] leer puerto serie desde PyQt5 y arduino y mostrase interfaz grafica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] leer puerto serie desde PyQt5 y arduino y mostrase interfaz grafica  (Leído 3,729 veces)
jenju302

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[Python] leer puerto serie desde PyQt5 y arduino y mostrase interfaz grafica
« en: 30 Octubre 2016, 02:01 »

Buenos dias, estoy realizando pruebas con un sensor de temperatura en arduino, estoy utilizando la libreria PySerial para mostrar los datos en python. Pero estos datos son muy planos. Y quiero mostrarlos en una interfas grafica de PyQt5, pero no lo he logrado.En el campo ldt_sensor debo mostrar el dato leído por el sensor. Si alguien me pudiera dicir que estoy haciendo mal le agradeceria. Este es el codigo en PyQt5. Gracias.

Código
  1. import sys
  2. import serial
  3. import time
  4. import pylab
  5. from PyQt5.QtWidgets import (QApplication, QWidget,QToolTip,
  6.                             QPushButton, QMessageBox, QLabel, QLineEdit)
  7. from PyQt5.QtGui import QIcon, QFont
  8. from PyQt5.QtCore import QCoreApplication
  9. serie = serial.Serial('COM3', 9600, timeout = 1)
  10. class Ejemplo(QWidget):
  11.  
  12.    def __init__(self):
  13.        super().__init__()
  14.  
  15.        self.initUI()
  16.  
  17.  
  18.    def initUI(self):
  19.  
  20.        QToolTip.setFont(QFont('Arial', 10))
  21.  
  22.        self.setToolTip('Es un mensaje de prueba <b>QWidget</b> widget')
  23.        # En este ejemplo, creamos un botón de salida. Al hacer clic en el botón, la aplicación termina.
  24.        qbtn = QPushButton('Salir', self)
  25.        qbtn.clicked.connect(QCoreApplication.instance().quit)
  26.        qbtn.resize(qbtn.sizeHint())
  27.        qbtn.move(50, 50)
  28.        #Colocamos un mensaje en el boton
  29.        btn = QPushButton('Boton', self)
  30.        btn.setToolTip('Boton de prueba <b>QPushButton</b> widget')
  31.        btn.resize(btn.sizeHint())
  32.        btn.move(50, 80)
  33.  
  34.        #Creamos un Label para escribir testo
  35.        lbl = QLabel('Prueba label 1', self)
  36.        lbl.resize(lbl.sizeHint())
  37.        lbl.move(45, 120)            
  38.        #creamos un cajon para ingresar datos
  39.        ldt = QLineEdit('Prueba Texto 1', self)
  40.        ldt.resize(ldt.sizeHint())
  41.        ldt.move(120, 120)
  42.        #Segundo label
  43.        lbl_sensor = QLabel('Prueba Sensor', self)
  44.        lbl_sensor.resize(lbl_sensor.sizeHint())
  45.        lbl_sensor.move(45, 170)
  46.        #segundo cajon
  47.    def sensor(): # Funcion para mostrar los datos en la interfas grafica
  48.  
  49.        while True:
  50.  
  51.            dato = serie.readline()# comunicacion serial.
  52.            ldt_sensor = QLineEdit(self) # caja donde se muestra el dato enviado por el sensor.
  53.            ldt_sensor.resize(ldt_sensor.sizeHint())
  54.            ldt_sensor.move(120, 165)
  55.            ldt_sensor = dato
  56.  
  57.  
  58.    #definimos la ventana medidas, Titulo de la ventana, colocamos un icono.    
  59.        self.setGeometry(300, 300, 300, 220)# X y Y situan la ventana metodo setGeometry
  60.        self.setWindowTitle("Mostrar icono en la ventana") #muestra el titulo en la ventana
  61.        self.setWindowIcon(QIcon('F:\PyQt\ventana_icono\pyserial.png'))#muestra un icono en la parte izquierda de la ventana    
  62.        self.show()
  63.    #definimos una clase para crear un mensaje de confirmacion si queremos salir
  64.    def closeEvent(self, event):
  65.        reply = QMessageBox.question(self, 'Mensaje',
  66.            "Deseas Salir de la aplicacion?", QMessageBox.Yes |
  67.            QMessageBox.No, QMessageBox.No)
  68.  
  69.        if reply == QMessageBox.Yes:
  70.            event.accept()
  71.        else:
  72.            event.ignore()        
  73.  
  74. if __name__=='__main__':
  75.  
  76.    app = QApplication(sys.argv)
  77.    ex = Ejemplo()
  78.    sys.exit(app.exec_())
   
MOD: etiqueta GeSHi.



« Última modificación: 31 Octubre 2016, 18:50 por jenju302 » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.225

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Comunicar PyQt5 con arduino puerto serial interfas grafica
« Respuesta #1 en: 30 Octubre 2016, 06:23 »

la verdad que no entiendo bien que querés saber, pero mirando a vuelo de pájaro tu código, aún te falta algo importante entre la línea 77 y 78:
Código
  1. ex.show()
  2.  


En línea

jenju302

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Comunicar PyQt5 con arduino puerto serial interfas grafica
« Respuesta #2 en: 31 Octubre 2016, 18:22 »

Deseo que la lectura del arduino se muestre en el campo ldt_sensor...eso seria todo pero no lo he logrado.
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.225

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] leer puerto serie desde PyQt5 y arduino y mostrase interfaz grafica
« Respuesta #3 en: 1 Noviembre 2016, 00:44 »

el problema para mi es que no tengo ni uso arduino, por lo tanto no se como lee los datos, ahora si sabes como toma los datos y de que forma los recupera, si querés ponelos en un archivo de texto y a partir de ahí vemos como mostrarlos. Lo siento por no disponer de otra forma de ayudarte.
En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: [Python] leer puerto serie desde PyQt5 y arduino y mostrase interfaz grafica
« Respuesta #4 en: 5 Noviembre 2016, 04:03 »

Hola, justo también estoy trabajando con Python y Arduino aunque no majeno QT. Lo que veo es que no estás llamando en ninguna parte a la función sensor()

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Interfaz puerto serie PicRS232 v2 (beta)
Electrónica
Meta 0 2,019 Último mensaje 30 Diciembre 2009, 06:44
por Meta
Arduino tengo el RX/TX y un puerto serie... Como hago una conexion?
Electrónica
Banti 4 10,207 Último mensaje 26 Junio 2010, 22:26
por Debci
Librerias para leer el puerto Serie desde PHP
PHP
Graphixx 2 5,960 Último mensaje 23 Agosto 2011, 13:57
por [u]nsigned
Sacar info hacia puerto serie físico, no virtual de Arduino.
Electrónica
Meta 0 2,448 Último mensaje 27 Noviembre 2013, 03:16
por Meta
[Tutorial] Puerto serie en PDF con Visual Basic 6 y Arduino
Programación Visual Basic
Meta 0 1,218 Último mensaje 11 Abril 2015, 17:24
por Meta
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines