В прошлый четверг мы поставили новую метеостанцию. Целый день с Амирычем возились, а я вспоминал, как электросваркой пользоваться (уродливо, конечно, надо как-нибудь потренироваться на ненужных железяках).
Таки дописал
код демона, буду следить: надо проверить, как вычисляется среднее направление ветра, когда будет более-менее северный.
Обращаться можно как через обычные сокеты, так и веб-запросами (POST/GET). POST-запрос передает только метеоданные в формате параметр=значение, GET-запрос может еще и статистику передавать в том же формате (если указать путь /stat). А в случае обращений через сокет, можно еще и "короткий" формат задать: "simple" выведет метеоданные через запятую, скажем, так:
1684847413.985,3.4,52.0,790.6,13.5,74.2,31.0 (порядок тот же, но время впереди). "stat" выдаст статистику:
Windmax=3.8
Windmin=1.6
Windmean=2.9
Windrms=0.5
Dirmax=81.6
Dirmin=21.2
Dirmean=55.8
Dirrms=12.2
Pressuremax=790.6
Pressuremin=790.4
Pressuremean=790.5
Pressurerms=0.1
Temperaturemax=13.8
Temperaturemin=13.4
Temperaturemean=13.6
Temperaturerms=0.1
Humiditymax=75.8
Humiditymin=72.4
Humiditymean=74.0
Humidityrms=0.8
Rainmax=31.0
Rainmin=31.0
Rainmean=31.0
Rainrms=0.0
Timemax=1684847455.4
Timemin=1684846981.9
Timemean=1684847218.6
Timerms=136.7
"statsimple" - ее же с разделением через запятую:
4.0,1.6,3.0,0.5,81.6,21.2,55.0,12.0,790.6,790.4,790.5,0.1,13.8,13.4,13.6,0.1,75.8,72.4,74.1,0.8,31.0,31.0,31.0,0.0,1684847487.2,1684846981.9,1684847234.5,145.9
Ну, а любой другой запрос (в т.ч. пустой) - метеоданные в обычном формате:
Wind=3.4
Dir=53.9
Pressure=790.6
Temperature=13.5
Humidity=73.7
Rain=31.0
Time=1684847396.687
По умолчанию статистика выводится за 15 минут, но можно промежуток в секундах после запроса указать: stat1800 или statsimple1000.
Надо будет как-нибудь, когда совсем уж делать будет нечего, написать еще демон, который будет крутиться на сервере и собирать метеоданные в БД. А потом еще и расширить его на выдачу красивых графиков и данных по запросу из веб-морды... Но я GUI терпеть не могу, так что, скорей всего, это будет очень нескоро.