Мобільна версія Форум Arduino Документація Гарантійні умови 0 0
UA RU
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Розумна метеостанція на базі ESP32

2025-01-14

Всі статті →

Вступ.

З розвитком популярності DIY-проєктів і Інтернету речей (IoT) створення пристроїв для збору й аналізу даних із навколишнього середовища стало доступним для багатьох ентузіастів. У цій статті описується процес створення розумної метеостанції на основі мікроконтролера ESP32 із використанням датчика BME280 та кількох додаткових компонентів. Цей проєкт дозволяє вимірювати температуру, вологість і тиск, а також синхронізується з NTP-серверами для отримання точного часу та даних про погоду з OpenWeatherMap.

Основні функції пристрою:

  1. Збір даних: метеостанція збирає інформацію про температуру, вологість і тиск за допомогою датчика BME280.
  2. Інтеграція з Інтернетом: через API OpenWeatherMap отримуються дані про погоду, час сходу та заходу сонця.
  3. Графічний інтерфейс: веб-інтерфейс забезпечує зручний перегляд даних, включаючи графіки змін параметрів за певний період.
  4. Синхронізація часу: метеостанція використовує NTP-сервери для підтримки актуального часу з урахуванням переходу на літній та зимовий час.

Початок роботи та прошивка.

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

Мікроконтролер ESP32 (я використовував ESP32 S3 але код адаптований під звичайну ESP32 DEV);

Датчик BME280 для вимірювання температури, вологості та атмосферного тиску;

Модуль реального часу DS3231 для отримання максимально точного часу.

USB-кабель для підключення ESP32 до комп'ютера;

Програмне забезпечення: VS Code із розширенням PlatformIO.

Нижче показана схема підключення для ESP32 DEV:

Тепер можна переходити до прошивки та налаштування нашої метеостанції. Спочатку потрібно завантажити архів проекту, який знаходиться в самому низу статті. Далі відкрийте його у VS Code, використовуючи PlatformIO (його можна встановити через розділ Extensions).

Зайшовши в папку src та відкривши файл main.cpp:

Ми можемо налаштувати деякі параметри, такі як пароль та назва вашої WI-Fi мережі, час через який буде відбуватися синхронізація часу з NTP сервером, ваш часовий пояс та інше для коректної роботи:

У прошивці також є функція переходу на ЛІТНІЙ час і назад на ЗИМОВИЙ (можна прибрати якщо ця функція не потрібна):

Для початку прошивки потрібно натиснути UPLOAD:

Якщо у вас плата не ESP32 DEV, вам потрібно буде підправити файл PLATFORMIO.INI, тому що немає точної гарантії, що все буде працювати в даній конфігурації і на іншому МК. Після прошивки якщо ви все правильно зробили має вивестися таке повідомлення, де буде вказана IP адреса:

Ввівши його у ваш браузер ми отримаємо нашу веб-сторінку в якій ми можемо побачити 2 вкладки:

Тепер у нас є метеостанція зі зручним виведенням даних на телефон, показ самих даних з точністю 2 числа після точки, поточний час кожні кілька годин намагатиметься синхронізуватися з NTP сервером і як доповнення виведення даних про погоду вашого міста, за бажання можна змінити тип даних що будуть показуватися на веб-сервері, детальніше почитати можна тут.

Висновок.

Ця метеостанція є чудовим прикладом поєднання апаратного та програмного забезпечення для створення практичного IoT-пристрою. Вона не тільки дозволяє отримувати точні дані про навколишнє середовище, але й інтегрується з Інтернетом для доступу до додаткових функцій. Завдяки відкритій архітектурі та гнучким можливостям налаштування, цей проєкт можна легко адаптувати під індивідуальні потреби.

Посилання:

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Розумна метеостанція на базі ESP32"
5 з 5
зроблена на основі 2 оцінок 2 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Тарас Григорович
17.01.2025 23:06:24
І файл з сорцами теж правити треба, можна оновити як буде можливість? Дякую.
Тарас Григорович
17.01.2025 23:01:48
Доброго дня, а де файл charts.h?
оплата картами Visa і MasterCard