Вывод данных в СОМ порт
Материал из ЭНЭ
Версия от 18:00, 14 июня 2023; Woronin (обсуждение | вклад)
Вывод данных в СОМ порт
Для вывода данных в командную строку, в ОС Линукс выполняем настройку COM порта, в нашем случае это /dev/ttyUSB0, задаем ему скорость обмена 115200 бод и запускаем сам вывод данных
/bin/stty -F /dev/ttyUSB0 raw -echo 115200 /usr/bin/cat < /dev/ttyUSB0
В том случае, если же мы хотим, чтобы результат вывод данных складывался бы в файл лога в папку /config, для дальнейшей обработки и загрузки данных в HomeAssistant , то мы можем объединить эти команды в один скрипт и запускать его при старте системы, как сервис
#!/bin/bash /bin/stty -F /dev/ttyUSB0 raw -echo 9600 /usr/bin/cat < /dev/ttyUSB0 > /config/catusb.log &
После того как скрипт начнет работать можно будет посмотреть постоянно обновляющееся содержимое лог файла - следующей командой:
tail -f /config/catusb.log
Вывод будет примерно в таком виде:
ec_raw1= 964.781 ec_1= 1.225 T1= 24.0 H1= 39.0 Wlevel= 289.00 t_raw= 286.00 ec_raw1= 964.653 ec_1= 1.220 T1= 24.0 H1= 40.0 Wlevel= 292.00 t_raw= 278.00 ec_raw1= 964.651 ec_1= 1.220 T1= 24.0 H1= 40.0 Wlevel= 290.00 t_raw= 276.00
Чтобы получить конкретное - последнее значение ЕС можно выполнить следующую команду:
cat /config/catusb.log |tail -n 2|head -n 1|awk '{print $4}' 1.220