Hola.
Tengo hecho un script python-tk, en el cual monitoreo puerto serie de arduino, una webcam y unas alarmas de mails. Funciona a la perfeccion.
Se me ocurrio pasarla a wxpython y me encuentro en un atasco. busque y no comprendo o algo me pasa.
pongo un trozo de monitoreo de una temperatura.
Solo capturo la primera vez, se queda en ella. No refresca, igual un proceso o algo asi.
Gracias por todo que aprendi por aqui.
Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx
import serial
from time import *
ser = serial.Serial('/dev/ttyACM0', 9600)
class Termometro(wx.Frame):
def __init__(self, prnt):
wx.Frame.__init__(self, parent=prnt, title='Termometro')
self.SetClientSize(wx.Size(380, 160))
peso = wx.StaticText(self, label="TEMPERATURA: ", pos=(30, 45))
peso.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD))
self.leepeso = wx.TextCtrl(self, value="", pos=(170, 30), size=(160, 50))
self.leepeso.SetFont(wx.Font(22, wx.SWISS, wx.NORMAL, wx.BOLD))
self.leepeso.SetForegroundColour("red")
self.lee()
def lee(self):
dato = ser.readline() # lo leido de arduino lo trata como cadena
self.leepeso.SetValue(str(dato[0:5])) # dato a mostrar por el TextCtrl
if __name__ == '__main__':
app = wx.App()
frame = Termometro(None)
frame.Show()
app.MainLoop()