Основное назначение API - использование в любительских микропроцессорных конструкциях погодных станций посредством UART диалога на скорости 38400 бит в секунду.
Для тестирования работы нам потребуется:
- Mодуль на базе ESP8266-E12 (у меня это LoLin NodeMcu v.3).
- Регистрация на ресурсe https://openweathermap.org/ для получения прогноза погоды.
- Регистрация на https://narodmon.ru/ для записи показаний датчиков.
Для проверки результата прошивки подключите плату к ПК, настройте программу терминала на скорость передачи данных 38400 бит в секунду, подключитесь к отладочной плате и дайте команду “VERSION=?”. В ответ вы должны получить версию прошивки. У меня это “20200511”.
Зарегистрируйтесь на https://openweathermap.org/. После регистрации вам выдадут API KEY для получения прогноза погоды. Данный ключ позволяет получать прогноз погоды на ближайшее время до 60 раз в минуту, что вполне достаточно для любительских устройств.
Рекомендую сразу же подсмотреть правильное написание своего города и страны: зайдите на главную страницу ресурса и попробуйте посмотреть прогноз погоды для своего города:
Для передачи данных на “Народный мониторинг” вам потребуется регистрация на сайте https://narodmon.ru/, а также информация о MAC адресе устройства связи (см. нижне, как это сделать).
Список поддерживаемых команд и пример диалога для получения прогноза погоды с https://openweathermap.org/ и отправки данных на https://narodmon.ru/
// Версия прошивки
VERSION=?
VERSION=20200511
// MAC адрес устройства связи
MAC=?
MAC=000000000000
// Подключиться к сети с именем
SSID=MY_WIFI_NET
SSID=OK
// Подключиться к сети с паролем
PSWD=MY_PASSWORD_FOR_WIFI_NET
PSWD=OK
// Город для получения прогноза погоды
CITY=BREST
CITY=OK
// Страна для получения прогноза погоды
COUNTRY=BY
COUNTRY=OK
// API KEY ресурса https://openweathermap.org/
APIKEY=1ae4d8b2e6b7873eca21
APIKEY=OK
// Режим отображения данных (0 - краткий, 1 - полный)
IMODE=1
IMODE=OK
// Получить прогноз погоды на ближайшие 3 часа
FORECAST=1
FORECAST1=03^Clouds^+23.50^747.75^2020-05-11 15:00:00^scattered clouds^
// Задержка в секундах при выводе результата некоторых команд
DELAY=2
DELAY=OK
// Получить прогноз погоды на ближайшие 3 и 6 часов
FORECAST=1-2
FORECAST1=03^Clouds^+23.50^747.75^2020-05-11 15:00:00^scattered clouds^
FORECAST2=10^Rain^+18.90^746.25^2020-05-11 18:00:00^light rain^
// Получить прогноз погоды на ближайшие 3, 6, 9, 12 часов
FORECAST=1-4
FORECAST1=03^Clouds^+23.50^747.75^2020-05-11 15:00:00^scattered clouds^
FORECAST2=10^Rain^+18.90^746.25^2020-05-11 18:00:00^light rain^
FORECAST3=10^Rain^+15.90^745.50^2020-05-11 21:00:00^light rain^
FORECAST4=10^Rain^+12.90^744.75^2020-05-12 00:00:00^light rain^
// Получить текущую погоду
WEATHER=?
WEATHER=04^Clouds^+25.00^750.00^^broken clouds^
// Отправить данные на ресурс https://narodmon.ru/
NARODMON=+10.00^+15.60^760.50^
NARODMON=OK
// Временная зона
TIMEZONE=3
TIMEZONE=OK
// Получение текущего времени с https://www.nist.gov/
TIME=?
TIME=11:44:39
// Получение текущей даты времени с https://www.nist.gov/
DATETIME=?
DATETIME=Mon May 11 11:46:20 2020