OWM Fetcher: различия между версиями

Материал из WEGA-PROJECT
Перейти к навигации Перейти к поиску
(Новая страница: «== Подключение погодного модуля OWM-LOG == Он нужен для получения данных о текущей погоде и ее логирования с последующим включением в состав графиков wega. * Регистрируемся на сервисе и создаем api ключ на этой странице: <code><nowiki>https://home.openweathermap.org/api_keys</nowiki></code> * Н...»)
 
Нет описания правки
Строка 1: Строка 1:
== Подключение погодного модуля OWM-LOG ==
== Подключение погодного модуля ==
Он нужен для получения данных о текущей погоде и ее логирования с последующим включением в состав графиков wega.
Он нужен для получения данных о текущей погоде и ее логирования с последующим включением в состав графиков wega.


Строка 13: Строка 13:


* Добавим
* Добавим
<syntaxhighlight lang="bash" line="1">
#!/bin/bash
sity="Khabarovsk,ru"
apikey="XXXXXXXXXXXXX"
wegaapikey="ХХХХХХХХХХХХ"


#!/bin/bash
curl "http://api.openweathermap.org/data/2.5/weather?q=$sity&appid=$apikey" > /run/shm/owm
sity="Khabarovsk,ru"
sdate=`date '+%Y-%m-%d %H:%M:%S'`
apikey="XXXXXXXXXXXXX"
hum=`jq -r ".main.humidity" /run/shm/owm`
wegaapikey="ХХХХХХХХХХХХ"
pressure=`jq -r ".main.pressure" /run/shm/owm`
temp=`jq -r ".main.temp" /run/shm/owm|awk -F ":" '{print $1-273.15}'`
curl "<nowiki>http://api.openweathermap.org/data/2.5/weather?q=$sity&appid=$apikey</nowiki>" > /run/shm/owm
clouds=`jq -r ".clouds.all" /run/shm/owm`
sdate=`date '+%Y-%m-%d %H:%M:%S'`
hum=`jq -r ".main.humidity" /run/shm/owm`
pressure=`jq -r ".main.pressure" /run/shm/owm`
temp=`jq -r ".main.temp" /run/shm/owm|awk -F ":" '{print $1-273.15}'`
clouds=`jq -r ".clouds.all" /run/shm/owm`
echo "$sdate;$temp;$hum;$pressure;$clouds" >> /var/log/sensors/owm.log
curl `echo "<nowiki>http://127.0.0.1/wega-api/wegabox.php?db=owm&auth=$wegaapikey&temp=$temp&hum=$hum&pressure=$pressure&clouds=$clouds</nowiki>" | sed -e s/,/./g`


echo "$sdate;$temp;$hum;$pressure;$clouds" >> /var/log/sensors/owm.log
curl `echo "http://127.0.0.1/wega-api/wegabox.php?db=owm&auth=$wegaapikey&temp=$temp&hum=$hum&pressure=$pressure&clouds=$clouds" | sed -e s/,/./g`
</syntaxhighlight>
* Делаем скрипт исполняемым и добавляем папку для логов
* Делаем скрипт исполняемым и добавляем папку для логов



Версия от 06:09, 20 апреля 2023

Подключение погодного модуля

Он нужен для получения данных о текущей погоде и ее логирования с последующим включением в состав графиков wega.

  • Регистрируемся на сервисе и создаем api ключ на этой странице: https://home.openweathermap.org/api_keys
  • Найти ближайшую точку можно на карте: https://openweathermap.org/weathermap

Установка

apt install curl jq

  • Создадим скрипт загрузки погоды, незабыв указать свой город и ключ в поля sity, apikey
nano /usr/bin/owm-log
  • Добавим
#!/bin/bash
sity="Khabarovsk,ru"
apikey="XXXXXXXXXXXXX"
wegaapikey="ХХХХХХХХХХХХ"

curl "http://api.openweathermap.org/data/2.5/weather?q=$sity&appid=$apikey" > /run/shm/owm
sdate=`date '+%Y-%m-%d %H:%M:%S'`
hum=`jq -r ".main.humidity" /run/shm/owm`
pressure=`jq -r ".main.pressure" /run/shm/owm`
temp=`jq -r ".main.temp" /run/shm/owm|awk -F ":" '{print $1-273.15}'`
clouds=`jq -r ".clouds.all" /run/shm/owm`

echo "$sdate;$temp;$hum;$pressure;$clouds" >> /var/log/sensors/owm.log
curl `echo "http://127.0.0.1/wega-api/wegabox.php?db=owm&auth=$wegaapikey&temp=$temp&hum=$hum&pressure=$pressure&clouds=$clouds" | sed -e s/,/./g`
  • Делаем скрипт исполняемым и добавляем папку для логов
chmod +x /usr/bin/owm-log
mkdir /var/log/sensors
  • Проверяем
owm-log
cat /var/log/sensors/owm.log

Если все прошло успешно в файл запишется текущее состояние погоды

  • Назначим выполнение загрузки погоды по расписанию
  • Откроем файл
nano /etc/crontab
  • И добавим туда в конец строку
*/15 * * * * root owm-log

Раз в 15 минут файл с погодой будет пополняться.