Вывод данных в СОМ порт — различия между версиями

Материал из ЭНЭ
Перейти к: навигация, поиск
(Новая страница: «== Вывод данных в СОМ порт == Для вывода данных в командную строку, в ОС Линукс выполняем на…»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 5: Строка 5:
 
  /usr/bin/cat < /dev/ttyUSB0
 
  /usr/bin/cat < /dev/ttyUSB0
  
В том случае, если же мы хотим, чтобы  результат вывод данных складывался бы в файл лога, для дальнейшей обработки и загрузки данных в HomeAssistant , то мы можем объединить эти команды в один скрипт и запускать его при старте системы, как сервис  
+
В том случае, если же мы хотим, чтобы  результат вывод данных складывался бы в файл лога в папку /config, для дальнейшей обработки и загрузки данных в HomeAssistant , то мы можем объединить эти команды в один скрипт и запускать его при старте системы, как сервис  
  
 
  #!/bin/bash
 
  #!/bin/bash
  /bin/stty -F /dev/ttyUSB0 raw -echo 115200
+
  /bin/stty -F /dev/ttyUSB0 raw -echo 9600
 
  /usr/bin/cat < /dev/ttyUSB0 >  /config/catusb.log &
 
  /usr/bin/cat < /dev/ttyUSB0 >  /config/catusb.log &
  
После того как скрипт начнет работать можно будет посмотреть содержимое файла - последнюю строчку следующей командой
+
После того как скрипт начнет работать можно будет посмотреть постоянно обновляющееся содержимое лог файла - следующей командой:
  cat /config/catusb.log |tail -n 2|head -n 1|awk '{print $0}'
+
  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
  
 
[[Категория: Home Assistant]]
 
[[Категория: Home Assistant]]

Текущая версия на 18:00, 14 июня 2023

Вывод данных в СОМ порт

Для вывода данных в командную строку, в ОС Линукс выполняем настройку 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