Skip to content

zeniafiat/Wifi-School-Station

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект «Wifi-School-Station» представляет собой систему мониторинга окружающей среды, для школы которая собирает данные с датчиков и передает их на сервер для дальнейшей обработки и хранения. Пользователь может запросить актуальные данные или историю показателей через Telegram-бота. Проект разработан на базе микроконтроллера NodeMCU ESP8266 с использованием OLED-дисплея, датчиков MQ-5 и DHT-22. Программная часть включает в себя код для микроконтроллера, написанный на C++ в Arduino IDE, и серверную часть, реализованную с использованием Python, SQLite и библиотеки aiogram для Telegram-бота.

Технические особенности

Аппаратная часть:

  • Микроконтроллер: NodeMCU ESP8266
  • Датчики:
    • MQ-5: Датчик газа (определяет концентрацию углеводородов, водорода, метана и других газов).
    • DHT-22: Датчик температуры и влажности.
  • Дисплей: OLED-дисплей для отображения текущих показаний датчиков.
  • Связь: Wi-Fi модуль ESP8266 для передачи данных на сервер.

Программная часть:

  • Микроконтроллер: Программа написана на C++ в среде Arduino IDE. Используются библиотеки для работы с OLED-дисплеем, датчиками MQ-5 и DHT-22, а также для подключения к Wi-Fi и отправки данных на сервер. Сервер — Серверная часть написана на Python. Используются библиотеки: Aiogram — Для создания Telegram-бота. sqlite3 — Для работы с базой данных SQLite. Requests — Для обработки HTTP-запросов. SQLite — для хранения истории показаний датчиков. Socket и asyncio — для работы с сетью в Python. ESP8266WiFi.h, WiFiClient.h — для подключения к Wi-Fi и создания TCP-клиентов на ESP8266. MQUnifiedsensor.h — для работы с датчиками газа. Wire.h — для взаимодействия с устройствами по I2C. Adafruit_GFX.h и Adafruit_SSD1306.h — для управления OLED-дисплеями.

Применение

Проект может быть использован для мониторинга окружающей среды в учебных заведениях, офисах, домах или других помещениях. Основные функции:

  1. Отображение данных: Текущие показания датчиков отображаются на OLED-дисплее.
  2. Передача данных: Данные передаются на сервер для хранения и обработки.
  3. Запрос данных через Telegram-бота: Пользователь может запросить актуальные данные или историю показаний через Telegram-бота.

Вопросы и ответы

Вопрос: Как подключить датчики к NodeMCU ESP8266?

Ответ:

  • MQ-5: Подключите аналоговый выход датчика к аналоговому входу NodeMCU (например, A0).
  • DHT-22: Подключите выход датчика к цифровому пину NodeMCU (например, D4).

Вопрос: Как настроить Wi-Fi подключение?

Ответ: В коде для NodeMCU укажите SSID и пароль от вашей Wi-Fi сети в переменных ssid и password.

Вопрос: Как получить данные через Telegram-бота?

Ответ: Отправьте команду пришли данные в Telegram-боте, чтобы получить актуальные данные, или посмотреть прошлые данные, чтобы получить историю показаний.

Вопрос: как запустить проект у себя на ПК?

Ответ: Скачайте файлы проекта с https://github.com/zeniafiat/Wifi-School-Station. Далее откройте файл main.py в файлах Telegram-бота. После этого подключите устройство через провод Type-C к источнику питания 5В. Откройте телеграмм бота токен которого надо ввести в main.py .

Информация о датчиках и плате

Датчик MQ-5

  • Назначение: Определение концентрации газов (углеводороды, водород, метан и др.).
  • Подключение: Аналоговый выход датчика подключается к аналоговому входу NodeMCU.
  • Особенности: Требуется калибровка для точного определения концентрации газов.

Датчик DHT-22

  • Назначение: Измерение температуры и влажности.
  • Подключение: Цифровой выход датчика подключается к цифровому пину NodeMCU.
  • Особенности: Высокая точность измерений, но может быть задержка в получении данных.

Плата NodeMCU ESP8266

  • Микроконтроллер: ESP8266 с интегрированным Wi-Fi модулем.
  • Порты: Аналоговые и цифровые порты для подключения датчиков и других устройств.
  • Питание: 3.3V, но может работать от 5V через встроенный регулятор напряжения.

Сложности в программировании

  1. Работа с Wi-Fi: Настройка стабильного Wi-Fi соединения может быть сложной, особенно в условиях слабого сигнала.
  2. Калибровка датчиков: Датчик MQ-5 требует калибровки для точного измерения концентрации газов. Но в загруженной программе калибровка происходит автоматически.
  3. Обработка данных на сервере: Необходимо учитывать возможные задержки в передаче данных и обрабатывать ошибки соединения. При неправильном подключении.

Вывод

Проект «Wifi-School-Station» представляет собой эффективное решение для мониторинга окружающей среды с использованием современных технологий. Он сочетает в себе аппаратную часть на базе NodeMCU ESP8266 и программную часть, реализованную на Python. Проект может быть расширен за счет добавления новых датчиков и функциональности. В будущем планируется улучшение стабильности работы, добавление новых функций и оптимизация кода. Себестоимость устройства ≈40 BYN

Для дальнейшего развития проекта планируется:

  • Улучшить обработку ошибок и стабильность соединения.
  • Добавить поддержку новых датчиков.
  • Оптимизировать код для повышения производительности.
  • Cоздать сайт для администрации школьного заведения(для просмотра последних данных с классов учебного заведения)
  • Новый способ подключения устройств к Telegram-бота по их токену
  • Более компактная сборка устройста на печтаной плате личного производства(в процессе)

Ссылка на проект: Wifi-School-Station Ссылка на телеграмм бота: https://t.me/Coyrstestbot Переходник на github проекта: photo_2025-02-05_07-57-28 Вопросы разработчику можно задать тут: [email protected]

Приложение: Schematic_esp1_2025-01-27

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published