24 квітня 2018 р.

Meteorological station


Recently, a meteorological station has been launched in the gymnasium, the development of which was being conducted throughout the year. The head of this project is Dmytro Luchyn, a 10th grade student. He will present his work at the final stage of the competition for the protection of research works in Kyiv.




Іoт метеостанція
Мета: створити IoT пристрій «Метеостанція» на основі плат серії ESP і написати програмне забезпечення для нього.
Завдання:
1.     Створити алгоритм роботи метеостанції.
2.     Написати програмне забезпечення на базі цього алгоритму.
3.     Зібрати апаратну частину.
4.     Забезпечити обробку і вивід даних в інтернет в реальному часі, з API функціями.
5.     Створити програму з графічним інтерфейсом для легкого налаштування користувачами.
6.     Опублікувати проект на платформі GitHub.
Алгоритм роботи метеостанції показаний на даній блок-схемі. Все можна звести до 4-х функцій.  
1.     Функція ініціалізації, яка виконується один раз під час запуску. (Запускає інтерфейси)
2.     Функція роботи з часом. (Синхронізує час через NTP сервер)
3.     Функція роботи з датчиками та отриманими даними. (Зчитує дані з датчиків та час від часу посилає їх на MQTT сервер)
4.     Вивід на дисплеї.
Програмне забезпечення написане мовою С++, а точніше її модифікованою версією, яка називається Wire, у середовищі розробки Arduino IDE.
Для написання використовувались безкоштовні бібліотеки. Їх просто використовувати через велику кількість прикладів і робочих проектів.
 У якості основи була вибрана плата ESP8266. Вона вміє запускати LUA скрипти вбудованим інтерпретатором, але вибрана вона була не тільки через це. При своїй невеликій ціні вона пропонує:
1.     80/160 MHz процесор
2.     48 KB RAM
3.     1 MB ROM
4.     Wi-Fi 2.4 GHz
Ці характеристики є достатніми для цілей нашого проекту.
Також в метеостанції було використано 3 модулі для Arduino.
1.     DHT22 – датчик температури та вологості.
2.     BMP180 – датчик температури і тиску.
3.     DS1307 – годинник реального часу.
Також в проекті було використано 3 екрани на базі MAX7219.
Дані виводяться в інтернет через протокол MQTT на сервери безкоштовного сервісу Thingspeak. Через API ключі можна отримувати доступ до даних звідки завгодно.
З використанням мови програмування С++, а також інструмента Windows Forms У середовищі розробки Microsoft Visual Studio я зміг створити програму з простим графічним інтерфейсом для зміни налаштувань в метеостанції. 






Немає коментарів:

Дописати коментар