Использование температурных датчиков с Raspberry Pi. Часть 4
Быстрое отображение температуры в командной строке — Bash
Вместо того, чтобы писать сценарий Python для чтения температуры с датчика, можно написать одну строку команды, которая будет читать датчик, извлекать температуру от остальной части возвращенных данных и обрабатывать результат с помощью Bash в командной строке Raspberry Pi.
Есть много способов для достижения этой цели, но вот один пример с использованием sed и awk:
cat / sys / bus / w1 / devices / 28-00000283c6cd / w1_slave | sed -n ‘s /^.* \ (t = [^] * \). * / \ 1 / p’ | sed ‘s / t = // ‘| awk’ {x = $ 1} END {print (x / 1000)} ‘
Символ трубы "|" используется для передачи вывода одной команды к следующей команде. Этот скрипт сначала читает температуру с датчика, прежде чем вернуть две строки данных, последняя часть второй строки, которая является t = XXXXX, где XXXXX является температурой в миллиградусах Цельсию. Затем мы используем sed, чтобы найти «слово», которое начинается с ‘t =’ в данных и пересылаем его во вторую команду sed, которая удаляет ‘t =’. Наконец, численный результат пропускается дальше к команде awk, которая делит его на 1000 и отображает температуру в градусах Цельсия.