Метеостанция 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 (интернета вещей), которая наглядно объясняет, как она работает.

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

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

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

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

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

Схема подключения 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 и войдите в систему, создав свою учетную запись.

Главная страница сайта https://openweathermap.org

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

Создание своего ключа API на OpenWeatherMap

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

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

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

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

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

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

(Проголосуй первым!)
Загрузка...
42 просмотров

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

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