Оглавление:
- Шаг 1. Необходимые компоненты
- Шаг 2. Язык и протокол
- Шаг 3. Брокер Eclipse Mosquitto MQTT
- Шаг 4: поток данных во всем проекте
- Шаг 5: Подключение датчиков к NodeMCU
- Шаг 6: Подключение погружного водяного насоса к ESP8266
- Шаг 7: Установка Mosquitto Broker и запуск программы Python в Raspberry Pi
- Шаг 8: Как работает MQTT?
- Шаг 9: Программирование NodeMCU и ESP8266
- Шаг 10: Создание веб-страницы и подключение к базе данных SQL
- Шаг 11: Завершите работу
Видео: Автоматизация зеленого дома: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Автоматизация теплицы - это проект, в котором три параметра теплицы, то есть влажность почвы, температура и влажность, отслеживаются пользователем удаленно, просто с помощью веб-браузера.
Шаг 1. Необходимые компоненты
Некоторые необходимые компоненты перечислены ниже.
1. Raspberry PI, модель B
2. Совет по развитию NodeMCU
3. Модуль Wi-Fi ESP8266
4. Датчик влажности
5. Датчик температуры и влажности DHT11.
6. Одноканальное реле 5 В
7. Погружной водяной насос 5 В
8. Хлебная доска.
9. Модуль питания платы для хлеба.
Шаг 2. Язык и протокол
- Язык C используется для микроконтроллеров.
- Обмен сообщениями MQTT: MQTT означает MQ Telemetry Transport. Это чрезвычайно простой и легкий протокол обмена сообщениями для публикации / подписки, разработанный для устройств с ограниченными возможностями и сетей с низкой пропускной способностью, высокой задержкой или ненадежностью. Принципы проектирования состоят в том, чтобы минимизировать требования к пропускной способности сети и ресурсам устройства, одновременно пытаясь обеспечить надежность и некоторую степень уверенности в доставке. Эти принципы также делают протокол идеальным для развивающегося мира подключенных устройств «машина-машина» (M2M) или «Интернета вещей», а также для мобильных приложений, где пропускная способность и мощность аккумулятора имеют первостепенное значение.
- Программа Python используется для автоматизации потока воды и подключения к базе данных.
Шаг 3. Брокер Eclipse Mosquitto MQTT
Здесь я использовал Mosquitto MQTT Broker для упрощения обмена сообщениями между узлами.
Eclipse Mosquitto - это брокер сообщений с открытым исходным кодом (под лицензией EPL / EDL), который реализует протокол MQTT версий 5.0, 3.1.1 и 3.1. Mosquitto легкий и подходит для использования на всех устройствах, от одноплатных компьютеров с низким энергопотреблением до полноценных серверов.
Протокол MQTT обеспечивает легкий метод обмена сообщениями с использованием модели публикации / подписки. Это делает его подходящим для обмена сообщениями Интернета вещей, например, с маломощными датчиками или мобильными устройствами, такими как телефоны, встроенные компьютеры или микроконтроллеры.
Проект Mosquitto также предоставляет библиотеку C для реализации клиентов MQTT и очень популярные клиенты MQTT командной строки mosquitto_pub и mosquitto_sub.
Шаг 4: поток данных во всем проекте
На изображении выше узлы
- NodeMCU
- Raspberry Pi
- ESP8266
NodeMCU - это чувствительная часть Зеленого дома, а ESP8266 - это исполнительная часть, которая подает воду, когда земля нуждается в воде в соответствии с датчиками.
Raspberry PI содержит брокера Mosquitto и клиента Python, который подписывается на сообщения, поступающие от брокера MQTT, и сохраняет данные на сервере SQL.
Шаг 5: Подключение датчиков к NodeMCU
Датчик температуры и влажности DHT11 и датчик влажности воды могут работать от 3,3 В.
NodeMCU не может обеспечить напряжение более 3,3 В. Таким образом, датчики могут напрямую подключаться к плате микроконтроллера NodeMCU.
Шаг 6: Подключение погружного водяного насоса к ESP8266
Погружной водяной насос используется для подачи воды по мере необходимости.
Для работы водяного насоса необходимо питание 5 Вольт.
Для подключения двигателя необходимо одноканальное реле. Когда контакт GPIO2 ESP8266 активирован, реле включается и автоматически подает воду с помощью погружного водяного насоса.
Здесь внешнее питание подается на плату ESP8266, реле и погружной водяной насос.
Мое полное подключение к оборудованию показано на изображении выше.
Шаг 7: Установка Mosquitto Broker и запуск программы Python в Raspberry Pi
Ниже приведены шаги по установке брокера Mosquitto в Raspberry PI.
Откройте терминал и введите следующие команды
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Он должен автоматически запустить москит.
Чтобы остановить и запустить службу, которую мне нужно было использовать
sudo сервис остановить москит
sudo сервис запускает москит
Большинство сайтов, которые я обнаружил, используют этот формат.
sudo /etc/init.d/mosquitto stop
Шаг 8: Как работает MQTT?
MQTT - один из наиболее часто используемых протоколов в проектах IoT. Это расшифровывается как передача телеметрии очереди сообщений.
Кроме того, он разработан как облегченный протокол обмена сообщениями, который использует операции публикации / подписки для обмена данными между клиентами и сервером. Кроме того, его небольшой размер, низкое энергопотребление, минимальное количество пакетов данных и простота реализации делают этот протокол идеальным для мира «машина-машина» или «Интернета вещей».
Как и любой другой интернет-протокол, MQTT основан на клиентах и сервере. Точно так же сервер - это парень, который отвечает за обработку клиентских запросов на получение или отправку данных между собой. Сервер MQTT называется брокером, а клиенты - просто подключенными устройствами. Итак:
* Когда устройство (клиент) хочет отправить данные брокеру, мы называем эту операцию «публикацией».
* Когда устройство (клиент) хочет получить данные от брокера, мы называем эту операцию «подпиской».
Шаг 9: Программирование NodeMCU и ESP8266
Ниже приведен исходный код платы микроконтроллера NodeMCU и ESP8266.
Шаг 10: Создание веб-страницы и подключение к базе данных SQL
Веб-страница разработана с использованием языков HTML, CSS и PHP.
PHP используется для извлечения показаний датчиков из базы данных и отображения их на HTML-странице.
В основе этого проекта лежит программа на Python.
Работы, выполняемые программой на Python, следующие.
- Он подписывается на тему, в которой датчик отправляет показания датчика.
- Он передает команду включения / выключения водяного насоса брокеру MQTT.
- Он сохраняет показания датчика в базе данных SQL.
Здесь в моем случае программа python и база данных SQL присутствуют в портативном компьютере. Веб-страница, работающая через локальный хост.
Ниже приведен исходный код моей программы на Python.
Шаг 11: Завершите работу
Ниже приведены шаги, по которым происходит этот процесс.
- NodeMCU работает как чувствительный элемент и считывает температуру, влажность и уровень влажности почвы.
- Он отправляет показания брокеру MQTT с темой «Тема 1».
- В портативном компьютере запущена программа python, и она подписывается на тему «Тема 1» с помощью брокера MQTT.
- Когда NodeMCU отправляет показания, Mosquitto MQTT Broker немедленно отправляет данные программе python.
- Затем программа Python рассчитывает, нужна ли вода в Зеленом доме. Затем он сохраняет показания в базе данных SQL.
- Если в Зеленом доме требуется вода, программа на Python отправляет сообщение о включении / выключении водяного насоса брокеру Mosquitto MQTT с темой «Тема 2».
- ESP8266 работает как исполнительный механизм. Он подписывается в теме «Тема 2», в которой программа python публикует сообщение. Когда программа python публикует какое-либо сообщение, оно немедленно передается на ESP8266. По сообщению вкл / выкл включил / выключил погружной водяной насос.
- Последний этап отображения текущих показаний на веб-странице. Веб-страница извлекает данные из базы данных SQL, в которой программа Python хранит данные напрямую и отображает показания на странице.
Рекомендуемые:
Как сделать датчик вибрации пружины дома !: 5 шагов (с картинками)
Как сделать датчик вибрации пружины дома !: Я работал над новым проектом, который включает датчик вибрации пружины, также известный как «датчик бедняка». акселерометр / датчик движения! Эти пружинно-вибрационные переключатели представляют собой высокочувствительные триггерные переключатели, вызываемые ненаправленной вибрацией. Внутри находится
Дисплей с датчиком CO2 Plug & Play с NodeMCU / ESP8266 для школ, детских садов или вашего дома: 7 шагов
Дисплей с датчиком CO2 Plug & Play с NodeMCU / ESP8266 для школ, детских садов или вашего дома: я собираюсь показать вам, как быстро построить plug & play датчик СО2, где все элементы проекта будут соединены проводами DuPont. Остается только 5 точек, которые нужно припаять, потому что до этого проекта я вообще не паял
Интернет / облачная автоматизация дома с использованием Esp8266 (aREST, MQTT, IoT): 7 шагов (с изображениями)
Интернет / облачная управляемая домашняя автоматизация с использованием Esp8266 (aREST, MQTT, IoT): ВСЕ кредиты на http://arest.io/ за облачный сервис !! IoT - самая обсуждаемая тема в мире прямо сейчас !! Облачные серверы и сервисы, делающие это возможным, являются точкой притяжения современного мира … УДАЛЕНИЕ РАССТОЯНИЯ БАРЬЕРА было и остается
Мониторинг зеленого дома с помощью IOT: 5 шагов
Мониторинг зеленых насаждений с помощью IOT: когда дело доходит до сельского хозяйства, мониторинг температуры и температуры. влажность растений - важный фактор их выживания. В настоящее время люди используют термометры, прикрепленные к теплице, чтобы фермеры могли измерять температуру. Однако это ручное приложение
Автоматизация умного дома с розетками Energenie - бесконтактные розетки: 4 шага
Автоматизация умного дома с помощью розеток Energenie - бесконтактные розетки: введение Существует множество примеров автоматизации умного дома, но этот простой и очень эффективно работает в течение года в моем доме, так что я надеюсь, вам он понравится. Когда вы закончите, у вас будет устройство, которое может сканировать сеть