Библиотека/фреймворк для погодной станции на базе ESP8266
На GitHub есть фреймворк, упрощающий создание погодной станции на базе ESP8266. Его также можно найти в IDE Arduino – просто кликните на «Скетч» > «Подключить библиотеку» > «Управлять библиотеками...» (Sketch > Include Library > Manage Libraries...).
Затем поищите по запросу «esp8266 weather station» и установите библиотеку, нажав на кнопку «Установка» (Install). Эту библиотеку также можно загрузить отсюда и установить вручную.
Вам также нужно будет установить еще две библиотеки. Сначала установите «json-streaming-parser» (ее ZIP-архив можно скачать отсюда).
После этого установите библиотеку «esp8266 oled ssd1306», проделав следующее:
Кликните тут, чтобы скачать ZIP-архив библиотеки. Он должен скачаться в папку «Загрузки»;
Распакуйте его. У вас должна получиться папка «esp8266-oled-ssd1306-master»;
Переименуйте ее на «esp8266_oled_ssd1306»;
Переместите эту папку в папку «libraries» (туда устанавливаются библиотеки IDE Arduino), которая находится внутри папки, куда установлена IDE Arduino;
Библиотека «esp8266 weather station» использует сервис под названием Wundeground, у которого есть API, позволяющий запросить данные о погоде в вашем регионе. Но для этого вам нужно будет создать аккаунт на сайте Wunderground.com (для этого нажмите по гиперссылке «Join» в правом верхнем углу экрана и следуйте дальнейшим инструкциям).
Создав аккаунт, перейдите в нижнюю часть страницы и кликните по ссылке «Weather API».
Кликните по вкладке Pricing и выберите бесплатный тариф. Заполните форму необходимыми данными и нажмите на кнопку Purchase Key.
Их бесплатный тариф идеально подходит для того, что мы будем делать в нашем проекте. Получив API-ключ, скопируйте его в безопасное место, т.к. уже совсем скоро он нам понадобится.
Демо-скетч для погодной станции
В комплекте с библиотекой «esp8266 weather station» идет несколько скетчей-примеров, один из которых пригодится для нашего проекта. Кликните в IDE Arduino на «Файл» > «Примеры» > «ESP8266 Weather Station» > «WeatherStationDemo» (File > Examples > ESP8266 Weather Station» > WeatherStationDemo).
Этот скетч будет показывать время, дату, прогноз погоды, наружную температуру и влажность, считанные из API Wundeground.
Мы не будем разбирать, что делается во всех фрагментах этого скетча – т.к. это выходит за пределы нашего руководства – и пройдемся лишь по самому главному.
Настройки WiFi
В скетч нужно будет вписать SSID и пароль от своей WiFi-сети, чтобы ESP8266 могла подключиться к вашему роутеру.
Нам также нужно будет задать настройки для Wundeground, чтобы ESP8266 могла считывать данные прямо из API сервиса. Впишите в эти строчки свой уникальный API-ключ, используемый язык, 2-буквенный код страны и название города.