Я хочу следить за качеством воздуха в моей квартире (сосед внизу заядлый курильщик). Для этого у меня есть Raspberry P ie 3, модель B +, подключенная к Enviro +.
В терминале я могу запустить скрипт, который измеряет мелкие частицы. python particulates.py
ср. https://github.com/pimoroni/enviroplus-python/blob/master/examples/particulates.py
Затем он запускается и отображает данные в терминале, как на картинке ниже: (да, я лучше на go -ing, чем кодирование).
Я заинтересован в ведении записи данных в текстовых файлах или CSV, поэтому я подумал, есть ли способ передать данные, которые отображаются на экране, непосредственно в CSV или текстовые файлы. Я знаю, что, возможно, я мог бы написать простой Python сценарий, который делает его красивым и трудным, но я слышал много похвал о добавлении Linux, что я хотел попробовать. Более того, я видел на одном форуме, что:
Awk и Sed ваши друзья по сценарию Shell. В Linux все является файлом, Awk и Sed могут записывать / редактировать файлы. Ужасные старые вещи, которые поставляются с каждой Linux ОС и просто работают.
Если вы используете веб-сервер, тогда вам не понадобится весь этот раздувной рабочий стол x11, просто безголовая Linux ОС. Легко поместите все это на карту 128 МБ. Busybox имеет веб-сервер или вы можете выбрать из множества вариантов. Я использую скрипт оболочки и Awk / Sed для перезаписи файлов CGI / HTML на лету.
Источник: https://www.raspberrypi.org/forums/viewtopic.php?t=248733
Я набрал в терминале следующее:
python Particulates.py > data.csv
Я также пытался:
python Particulates.py | data.csv
Данные отображались на экране, был создан файл CSV, но файл data.csv был пуст для оба варианта. Если мое понимание правильное, мне нужно поместить stdout в файл частиц.py в data.csv. Там должно быть что-то упущенное, потому что то, что я получаю, далеко от того, что этот адвокат awk / sed рекламировал на форуме.
Любая подсказка, как мне это сделать? и если я планирую результаты, я буду использовать gnuplot? могу ли я использовать его в одной линии, как в цепочке труб?
Спасибо за помощь.