Съдържание:
- Стъпка 1: Необходими компоненти
- Стъпка 2: Език и протокол
- Стъпка 3: Eclipse Mosquitto MQTT брокер
- Стъпка 4: Поток от данни в целия проект
- Стъпка 5: Свързване на сензори с NodeMCU
- Стъпка 6: Свързване на потопяема водна помпа с ESP8266
- Стъпка 7: Инсталиране на Mosquitto Broker & Running Python Program в Raspberry Pi
- Стъпка 8: Как работи MQTT?
- Стъпка 9: Програмиране на NodeMCU и ESP8266
- Стъпка 10: Проектиране на уеб страница и свързване към SQL базата данни
- Стъпка 11: Завършете работата
Видео: Автоматизация на Green House: 11 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Автоматизацията на оранжерията е проект, при който три параметъра на оранжерията, т.е. влажност на почвата, температура и влажност, се наблюдават от потребителя дистанционно, просто с помощта на уеб браузър.
Стъпка 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 брокер
Тук използвах 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: Поток от данни в целия проект
В горното изображение възлите са
- NodeMCU
- Малина PI
- ESP8266
NodeMCU е сензорната част на Зелената къща, а ESP8266 е задействащата част, която доставя водата, когато земята се нуждае от вода според сензорите.
Raspberry PI съдържа Mosquitto Broker и Python клиент, който абонира съобщенията, идващи от MQTT Broker и съхранява данните в SQL сървър.
Стъпка 5: Свързване на сензори с NodeMCU
Сензорът за температура и влажност на DHT11 и сензорът за влажност на водата могат да работят на 3.3 волта.
NodeMCU не може да осигури повече от 3,3 волта. Така че сензорите могат да бъдат директно свързани с платката на микроконтролера NodeMCU.
Стъпка 6: Свързване на потопяема водна помпа с 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 е един от най -често използваните протоколи в 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 брокер незабавно изпраща данните към програмата python.
- След това програмата Python изчислява дали има нужда от вода в Зелената къща. След това съхранява показанията в SQL базата данни.
- Ако в Зелената къща е необходима вода, програмата python публикува съобщение за включване/изключване на водната помпа до брокера на Mosquitto MQTT с тема „Тема 2“
- ESP8266 работи като задвижващ механизъм. Той се абонира в темата "Тема 2", в която тема програмата python публикува съобщението. Когато програмата python публикува съобщение, съобщението незабавно се прехвърля в ESP8266. Според съобщението за включване/изключване той включва/изключва потопяемата водна помпа.
- Последна фаза за показване на показанията на живо в уеб страницата. Уеб страницата извлича данните от SQL базата данни, в която програмата python съхранява данните директно и показва показанията на страницата.
Препоръчано:
Бутон за автоматизация на дома $ 5: 4 стъпки
Бутон за домашна автоматизация от $ 5: Бутон за автоматизация от $ 5 Понякога най -простото решение е един бутон. Искахме лесен начин да задействаме рутина за „лягане“в нашия хъб за автоматизация на дома (Hubitat Elevation), която изключва повечето светлини, настройва другите на определени нива и
Първи стъпки с домашната автоматизация: Инсталиране на Home Assistant: 3 стъпки
Първи стъпки с автоматизацията на дома: Инсталиране на Home Assistant: Сега ще стартираме поредицата за домашна автоматизация, където създаваме интелигентен дом, който ще ни позволи да контролираме неща като светлини, високоговорители, сензори и така нататък, използвайки централен хъб заедно с гласов асистент. В тази публикация ще научим как да инс
Green City - Интерактивна стена: 6 стъпки
Green City - Интерактивна стена: Проектът Green City има за цел да проучи въпроса за възобновяемите енергии, които са толкова важни в контекста на енергетиката и за предотвратяване на изчерпването на природните ресурси, за да се повиши осведомеността по този въпрос по някакъв начин . Искаме и
Запалете часовник за деца - Green означава Go! Червено, останете в леглото !!!: 5 стъпки (със снимки)
Запалете часовник за деца - Green означава Go! Червено, остани в леглото !!!: Побъркахме без достатъчно сън !!! Нашето 2-годишно дете не можеше да разбере как да "изчака 7" на часовника, преди да излезе от стаята си сутрин след сутрин. Щеше да се събуди рано (имам предвид около 5:27 сутринта - " има 7 !!! "
Ultimate GREEN DIY Trackball Mouse От боклуци: 10 стъпки (със снимки)
Ultimate GREEN DIY Trackball Mouse От боклуци: Здравейте на всички! Днес ще изграждаме зелена мишка за тракбол Green DIY от стари боклуци, които имаме. Този проект е зелен по 3 причини: Изработен е от боклуци, така че е екологично чист Включих зелени светодиоди в дизайна (защо