ESP8266:Примеры/Погодная станция на базе ESP8266, оснащенная OLED-дисплеем

Материал из Онлайн справочника
Версия от 12:43, 18 июня 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Внимание!

Данный пример больше не актуален, ввиду того, что сервис Wundeground закрыл бесплатный доступ к своему API.

Погодная станция на базе ESP8266, оснащенная OLED-дисплеем

В этом руководстве мы расскажем, как собрать на базе ESP8266 погодную станцию, оснащенную OLED-дисплеем.

Необходимое оборудование

Библиотека/фреймворк для погодной станции на базе ESP8266

На GitHub есть фреймворк, упрощающий создание погодной станции на базе ESP8266. Его также можно найти в IDE Arduino – просто кликните на «Скетч» > «Подключить библиотеку» > «Управлять библиотеками...» (Sketch > Include Library > Manage Libraries...).

Затем поищите по запросу «esp8266 weather station» и установите библиотеку, нажав на кнопку «Установка» (Install). Эту библиотеку также можно загрузить отсюда и установить вручную.

Вам также нужно будет установить еще две библиотеки. Сначала установите «json-streaming-parser» (ее ZIP-архив можно скачать отсюда).

После этого установите библиотеку «esp8266 oled ssd1306», проделав следующее:

  1. Кликните тут, чтобы скачать ZIP-архив библиотеки. Он должен скачаться в папку «Загрузки»;
  2. Распакуйте его. У вас должна получиться папка «esp8266-oled-ssd1306-master»;
  3. Переименуйте ее на «esp8266_oled_ssd1306»;
  4. Переместите эту папку в папку «libraries» (туда устанавливаются библиотеки IDE Arduino), которая находится внутри папки, куда установлена IDE Arduino;
  5. Перезапустите IDE Arduino;

Сервис Wundeground

Библиотека «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 могла подключиться к вашему роутеру.

// WIFI
const char* WIFI_SSID = "yourssid";
const char* WIFI_PWD = "yourpassw0rd";

Настройки Wundeground

Нам также нужно будет задать настройки для Wundeground, чтобы ESP8266 могла считывать данные прямо из API сервиса. Впишите в эти строчки свой уникальный API-ключ, используемый язык, 2-буквенный код страны и название города.

// Настройки Wundeground:
const boolean IS_METRIC = true;
const String WUNDERGRROUND_API_KEY = "API_KEY";
const String WUNDERGRROUND_LANGUAGE = "DL";
const String WUNDERGROUND_COUNTRY = "CH";
const String WUNDERGROUND_CITY = "Zurich";

Настройки Thingspeak

Настройки Thingspeak можно оставить без изменений, т.к. они не используются.

// Настройки Thingspeak:
const String THINGSPEAK_CHANNEL_ID = "67284";
const String THINGSPEAK_API_READ_KEY = "L2VIW20QVNZJBLAK";

Загружаем код на ESP8266

Отредактировав скетч, загрузите его на ESP8266. Но перед этим не забудьте выбрать плату «WeMos D1 R2 & Mini» и правильный COM-порт.

Схема

Эта цепь собирается очень просто. Никакой пайки не нужно – вам понадобятся лишь провода-перемычки типа «мама-мама».

Вам нужно подключить друг к другу следующие контакты:

См.также

Внешние ссылки