我想不断监视串口,在某处写入数据(事件)并向其发送值。它没有" web部件"。
我正在玩" bottle"。为了能够检查一切是否正常,我想将串行设备数据写入文件,并在那里记录Web请求。因为这不起作用,你有吗
任何提示我做错了什么?
如果我的方法将我的设备带到网上:-)这样的话,我就不会感到害羞,所以我很感激任何想法。
@post('/art/control/serial/')
def artControlSerial():
import serial.tools.list_ports #https://pypi.python.org/pypi/pyserial
req_obj = request.body.read()
print(req_obj)
arduinoport = 'COM4'
try:
ser = serial.Serial(arduinoport,57600,timeout=0.01)
except serial.SerialException as e:
print("could not open serial port '{}': {}".format(arduinoport, e))
return
while True:
#send 2 serial
senddata = req_obj
ser.write(senddata.encode())
newline = 'a new line'
f = open('F:/test/logs/serial.log','w')
f.write(newline)
f.close
ser.flush()
ser.flushInput()
ser.flushOutput()
#callback message
return 'message written to serial port'
感谢, TBZ
答案 0 :(得分:0)
我已经完成了一个项目,您可以通过Web界面控制引擎。我发现您需要将串行连接分开设置,因为每次发出请求都会重新启动串行连接。