Данное API представляет собой набор простых AT команд для получения прогноза погоды с
https://openweathermap.org/, текущей даты-времени с
https://www.nist.gov/, а также отправки данных с погодных датчиков на проект “Народный мониторинг”
https://narodmon.ru/.
Основное назначение API - использование в любительских микропроцессорных конструкциях погодных станций посредством UART диалога на скорости 38400 бит в секунду.
Для тестирования работы нам потребуется:
- Mодуль на базе ESP8266-E12 (у меня это LoLin NodeMcu v.3).
- Регистрация на ресурсe https://openweathermap.org/ для получения прогноза погоды.
- Регистрация на https://narodmon.ru/ для записи показаний датчиков.
Скачайте файл прошивки погодного API для модуля ESP8266-E12. Используя программу NodeMcu firmware programmer (находится в архиве) залейте программу в модуль. Для подключения к ПК модуля LoLin NodeMcu v.3 вам может пригодиться
драйвер виртуального COM порта.

Для проверки результата прошивки подключите плату к ПК, настройте программу терминала на скорость передачи данных 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