Съдържание:

Автоматизация на Green House: 11 стъпки
Автоматизация на Green House: 11 стъпки

Видео: Автоматизация на Green House: 11 стъпки

Видео: Автоматизация на Green House: 11 стъпки
Видео: ПОДСВЕТКА РАССАДЫ! ИСПЫТАЛ НА РАССАДЕ ВСЕ ТИПЫ ЛАМП И ОБАЛДЕЛ ОТ РЕЗУЛЬТАТОВ! ЧЕМ ЛУЧШЕ ПОДСВЕЧИВАТЬ 2024, Ноември
Anonim
Автоматизация на Green House
Автоматизация на Green House

Автоматизацията на оранжерията е проект, при който три параметъра на оранжерията, т.е. влажност на почвата, температура и влажност, се наблюдават от потребителя дистанционно, просто с помощта на уеб браузър.

Стъпка 1: Необходими компоненти

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

Някои необходими компоненти са изброени по -долу

1. Малина PI Модел В

2. Съвет за развитие на NodeMCU

3. ESP8266 Wifi модул

4. Сензор за влага

5. DHT11 сензор за температура и влажност

6. 5V едноканално реле

7. 5V потопяема водна помпа

8. Хлябна дъска

9. Модул за захранване на платка за хляб

Стъпка 2: Език и протокол

Език и протокол
Език и протокол
Език и протокол
Език и протокол
Език и протокол
Език и протокол
  • За микроконтролерите се използва език C.
  • MQTT съобщения: MQTT означава MQ телеметричен транспорт. Това е изключително прост и лек протокол за съобщения за публикуване/абониране, предназначен за ограничени устройства и ниска честотна лента, с висока латентност или ненадеждни мрежи. Принципите на проектиране са да се сведат до минимум мрежовата честотна лента и изискванията за ресурси на устройството, като същевременно се опитва да се гарантира надеждност и известна степен на сигурност на доставката. Оказва се, че тези принципи правят протокола идеален за възникващия свят на свързани машини „машина към машина“(M2M) или „Интернет на нещата“, както и за мобилни приложения, където честотната лента и захранването на батерията са на първо място.
  • Програмата Python се използва за автоматизиране на водния поток и свързаността с базата данни.

Стъпка 3: Eclipse Mosquitto MQTT брокер

Eclipse Mosquitto MQTT брокер
Eclipse Mosquitto MQTT брокер

Тук използвах Mosquitto MQTT Broker за лесна комуникация на съобщения между възлите.

Eclipse Mosquitto е посредник за съобщения с отворен код (лицензиран EPL/EDL), който изпълнява протоколите MQTT версии 5.0, 3.1.1 и 3.1. Mosquitto е лек и е подходящ за използване на всички устройства от единични бордови компютри с ниска мощност до пълноценни сървъри.

Протоколът MQTT осигурява лек метод за извършване на съобщения, използвайки модел за публикуване/абониране. Това го прави подходящ за съобщения в Интернет на нещата, като например със сензори с ниска мощност или мобилни устройства, като телефони, вградени компютри или микроконтролери.

Проектът Mosquitto предоставя също C библиотека за внедряване на клиенти на MQTT и много популярните клиенти на командния ред mosquitto_pub и mosquitto_sub от MQTT.

Стъпка 4: Поток от данни в целия проект

В горното изображение възлите са

  1. NodeMCU
  2. Малина PI
  3. ESP8266

NodeMCU е сензорната част на Зелената къща, а ESP8266 е задействащата част, която доставя водата, когато земята се нуждае от вода според сензорите.

Raspberry PI съдържа Mosquitto Broker и Python клиент, който абонира съобщенията, идващи от MQTT Broker и съхранява данните в SQL сървър.

Стъпка 5: Свързване на сензори с NodeMCU

Свързване на сензори с NodeMCU
Свързване на сензори с NodeMCU

Сензорът за температура и влажност на DHT11 и сензорът за влажност на водата могат да работят на 3.3 волта.

NodeMCU не може да осигури повече от 3,3 волта. Така че сензорите могат да бъдат директно свързани с платката на микроконтролера NodeMCU.

Стъпка 6: Свързване на потопяема водна помпа с ESP8266

Свързване на потопяема водна помпа с ESP8266
Свързване на потопяема водна помпа с ESP8266
Свързване на потопяема водна помпа с ESP8266
Свързване на потопяема водна помпа с ESP8266

Потопяема водна помпа се използва за подаване на водата, когато е необходимо.

Водната помпа се нуждае от захранване от 5 волта, за да работи.

За свързване на двигателя е необходимо едноканално реле. Когато се активира щифтът GPIO2 на ESP8266, релето се включва и автоматично подава водата с помощта на потопяема водна помпа.

Тук се осигурява външно захранване към платката ESP8266, релето и потопяемата водна помпа.

Моята пълна хардуерна връзка е в горното изображение.

Стъпка 7: Инсталиране на Mosquitto Broker & Running Python Program в Raspberry Pi

Следват стъпките за инсталиране на брокера Mosquitto в Raspberry PI

Отворете терминала и въведете следните команди

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get инсталирайте комар

sudo apt-get инсталирайте клиенти на комари

Той трябва автоматично да стартира комар.

За да спра и стартирам услугата, която трябваше да използвам

sudo service stop mosquitto

sudo услуга старт комар

Повечето сайтове, които открих, използвайки формата.

sudo /etc/init.d/mosquitза спиране

Стъпка 8: Как работи MQTT?

Как работи MQTT?
Как работи MQTT?

MQTT е един от най -често използваните протоколи в IoT проекти. Това означава телеметричен транспорт на опашки за съобщения.

В допълнение, той е проектиран като лек протокол за съобщения, който използва операции за публикуване/абониране за обмен на данни между клиенти и сървър. Освен това неговият малък размер, ниска консумация на енергия, минимизирани пакети данни и лекота на изпълнение правят протокола идеален за света „машина към машина“или „Интернет на нещата“.

Както всеки друг интернет протокол, MQTT се основава на клиенти и сървър. По същия начин сървърът е човекът, който е отговорен за обработката на заявките на клиента за получаване или изпращане на данни помежду си. MQTT сървърът се нарича брокер и клиентите са просто свързаните устройства.

* Когато устройство (клиент) иска да изпрати данни до брокера, ние наричаме тази операция „публикуване“.

* Когато устройство (клиент) иска да получи данни от брокера, ние наричаме тази операция „абониране“.

Стъпка 9: Програмиране на NodeMCU и ESP8266

Следват изходния код за микроконтролерната платка NodeMCU и ESP8266

Стъпка 10: Проектиране на уеб страница и свързване към SQL базата данни

Уеб страницата е проектирана с помощта на HTML, CSS и PHP език.

PHP се използва за извличане на показанията на сензора от базата данни и показването им в HTML страницата.

Като сърцевина на този проект се използва програма на python.

Работите, които прави програмата python, са както следва.

  1. Той се абонира за тема, в която сензорът изпраща показанията на сензора.
  2. Той публикува команда за включване/изключване на водна помпа на брокера MQTT.
  3. Той съхранява показанията на сензора в SQL база данни.

Тук в моя случай програмата python и SQL базата данни присъстват в лаптоп. Уеб страницата, работеща през локален хост.

Следва изходният код на моята програма на python.

Стъпка 11: Завършете работата

Пълна работа
Пълна работа

Следват стъпките, в които процесът продължава.

  1. NodeMCU работи като чувствителна част и отчита температурата, влажността и нивото на влажност на почвата.
  2. Той изпраща показанията до брокера на MQTT с тема „Тема 1“
  3. В лаптоп програмата python работи и се абонира за тема „Тема 1“с брокера MQTT.
  4. Когато NodeMCU изпраща показанията, тогава Mosquitto MQTT брокер незабавно изпраща данните към програмата python.
  5. След това програмата Python изчислява дали има нужда от вода в Зелената къща. След това съхранява показанията в SQL базата данни.
  6. Ако в Зелената къща е необходима вода, програмата python публикува съобщение за включване/изключване на водната помпа до брокера на Mosquitto MQTT с тема „Тема 2“
  7. ESP8266 работи като задвижващ механизъм. Той се абонира в темата "Тема 2", в която тема програмата python публикува съобщението. Когато програмата python публикува съобщение, съобщението незабавно се прехвърля в ESP8266. Според съобщението за включване/изключване той включва/изключва потопяемата водна помпа.
  8. Последна фаза за показване на показанията на живо в уеб страницата. Уеб страницата извлича данните от SQL базата данни, в която програмата python съхранява данните директно и показва показанията на страницата.

Препоръчано: