Рубрики
Проекты на ESP8266

Метеостанция IoT на NodeMCU ESP8266 и OpenWeatherMap

В этом проекте интернета вещей (IoT) мы узнаем, как сделать простую онлайн-метеостанцию ​​на основе IoT, используя плату разработки ESP8266 NodeMCU (ESP-12E) и OLED-дисплей SSD1306 (128×64 пикселей). Этот проект — замечательный проект для новичков в области IoT, которые хотят узнать о получении данных с онлайн-сервера Интернета на плату NodeMCU.

В этом проекте NodeMCU извлекает данные о погоде, такие как температура, влажность, давление, скорость и направление ветра, с погодного сайта openweathermap.org и отображает их на экране SSD1306.

На нашем сайте вы можете посмотреть ряд похожих проектов метеостанций:

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  3. Макетная плата.
  4. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Блок-схема метеостанции IoT

Это простая структурная схема для метеостанции IoT (интернета вещей), которая наглядно объясняет, как она работает.

Сайт openweathermap.org предоставляет онлайн-сервис для данных о погоде и прогноза. Данные загружаются на облачный сервер. Модуль NodeMCU ESP8266 собирает информацию о данных онлайн и загружает/извлекает такую ​​информацию, как температура, влажность, давление, скорость ветра и степень направления ветра.

Эти данные отображаются на 0,96-дюймовом OLED-дисплее SSD1306 вместе с городом.

Схема проекта

Схема подключения OLED дисплея SSD1306 к плате NodeMCU ESP8266 представлена на следующем рисунке.

Линии SDA и SCL шины I2C берут начало от GPIO4 (D2) и GPIO0 (D3) платы NodeMCU (соответственно), они подключены к контактам SDA и SCL (SCK) модуля дисплея SSD1306. Модуль OLED-дисплея питается напряжением 5 В от контакта Vin платы NodeMCU.

Генерация API из OpenWeatherMap

Сервис OpenWeatherMap предоставляет доступ к текущим данным о погоде для любого местоположения, включая более 200 000 городов по всему миру. Текущая погода часто обновляется с более чем 40 000 метеостанций. Данные доступны в формате JSON, XML или HTML. Мы будем использовать здесь данные в формате JSON.

Посетите https://openweathermap.org и войдите в систему, создав свою учетную запись.

Создайте или сгенерируйте свой ключ API, так как он необходим для извлечения данных.

Выберите город и код страны, введя название города. Пример: Jaipur, IN, здесь Jaipur — это город, а IN — код страны для Индии. Название города и код страны необходимо ввести в коде.

Исходный код программы

Ниже приведен код для IoT метеостанции с NodeMCU и сервисом OpenWeatherMap. Для этого вам понадобятся 3 разные библиотеки, а именно Adafruit_GFX.h , Adafruit_SSD1306.h и ArduinoJson.h . Вы можете получить все эти библиотеки из Library Manager (менеджера библиотек).

Измените в приведенном коде WIFI SSID, пароль и название города с кодом страны. Теперь вы можете загрузить этот код на плату NodeMCU.

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *