@hronius

Как принять строку по serial и передать в чат?

Как принять строку из serial порта оканчивающуюся /n/r и передать в телеграм по chat_id? То есть сделать такой своеобразный шлюз между serail port и telegram.
С отправкой из чат-бота в serial всё просто: ser.write(message.text.encode() + b'\n\r')
А как при этом всё время ожидать строку и потом её передавать в чат?
  • Вопрос задан
  • 699 просмотров
Пригласить эксперта
Ответы на вопрос 2
@pfg21
ex-турист
стандартно же. считываешь символы из потока ввода в кеш и по приходу /r/n сбрасываешь кеш в виде сообщения.
Ответ написан
Комментировать
erge
@erge
Примус починяю
Yandex: python +"serial port" listen
Google: python +"serial port" listen

Setting up Python to work with the serial port
https://pastebin.com/CswaUL9R
Python serial.Serial() Examples

в цикле читаете данные из порта, как считалось, отправляете на обработку.
и далее.

import serial
ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
while True:
    reading = ser.readline()
    print(reading)


while True:
                data = ser.read() #чтение данных с последовательного порта
                if data != '':
                    raw += data #формирование сообщения
                else:
                    if raw != '':
                        doprocessing(raw) # передаем сообщение на обработку
                        raw = ''
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы