#python #bottle #pyserial
#python #бутылка #pyserial
Вопрос:
я хочу постоянно отслеживать последовательный порт, записывать его данные (события) куда-нибудь и отправлять на него значения. он работает без «веб-части».
я играю с «бутылкой». чтобы иметь возможность проверить, все ли работает, я хотел записать данные последовательных устройств в файл и также зарегистрировать веб-запрос там. поскольку это не работает, есть ли у вас
-
любой намек на то, что я делаю неправильно?
-
я не уверен, что мой подход к выводу моего устройства в Интернет 🙂 работает так, поэтому я был бы признателен за любые идеи.
@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:
Я выполнил проект, в котором вы можете управлять движком через веб-интерфейс. Я обнаружил, что вам нужно настроить последовательное соединение отдельно, потому что каждый раз, когда вы делаете запрос, вы перезапускаете свое последовательное соединение.