(python bottle pyserial):使用webapp

时间:2016-10-19 11:12:26

标签: python bottle pyserial

我想不断监视串口,在某处写入数据(事件)并向其发送值。它没有" 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

1 个答案:

答案 0 :(得分:0)

我已经完成了一个项目,您可以通过Web界面控制引擎。我发现您需要将串行连接分开设置,因为每次发出请求都会重新启动串行连接。