Satura rādītājs:
- 1. darbība. Nepieciešamās sastāvdaļas
- 2. darbība. Valoda un protokols
- 3. solis: Eclipse Mosquitto MQTT brokeris
- 4. solis: datu plūsma visā projektā
- 5. darbība: sensoru savienošana ar NodeMCU
- 6. darbība: iegremdējamā ūdens sūkņa pievienošana ESP8266
- 7. solis: Mosquitto Broker & Python programmas instalēšana Raspberry Pi
- 8. darbība: kā darbojas MQTT?
- 9. solis: NodeMCU un ESP8266 programmēšana
- 10. darbība. Tīmekļa lapas izstrāde un savienošanās ar SQL datu bāzi
- 11. darbība. Pabeigt darbu
Video: Zaļās mājas automatizācija: 11 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Siltumnīcas automatizācija ir projekts, kurā lietotājs attālināti, izmantojot tīmekļa pārlūkprogrammu, uzrauga trīs siltumnīcas parametrus, t.i., augsnes mitrumu, temperatūru un mitrumu.
1. darbība. Nepieciešamās sastāvdaļas
Tālāk ir uzskaitītas dažas nepieciešamās sastāvdaļas
1. Aveņu PI modelis B
2. NodeMCU attīstības padome
3. ESP8266 Wifi modulis
4. Mitruma sensors
5. DHT11 temperatūras un mitruma sensors
6. 5V viena kanāla relejs
7. 5V iegremdējamais ūdens sūknis
8. Maizes dēlis
9. Maizes dēļa barošanas bloks
2. darbība. Valoda un protokols
- C Mikrokontrolleriem tiek izmantota valoda.
- MQTT ziņojumapmaiņa: MQTT apzīmē MQ telemetrijas transportu. Tas ir publicēšanas/abonēšanas ārkārtīgi vienkāršs un viegls ziņojumapmaiņas protokols, kas paredzēts ierobežotām ierīcēm un zema joslas platuma, augstas latentuma vai neuzticamiem tīkliem. Projektēšanas principi ir samazināt tīkla joslas platumu un ierīces resursu prasības, vienlaikus cenšoties nodrošināt uzticamību un zināmu piegādes garantiju. Šie principi arī padara protokolu par ideālu jaunās “mašīnas-mašīnas” (M2M) vai “lietu interneta” savienoto ierīču pasaulē un mobilajām lietojumprogrammām, kurās joslas platums un akumulatora jauda ir augstāka.
- Python programma tiek izmantota, lai automatizētu ūdens plūsmu un datu bāzes savienojumu.
3. solis: Eclipse Mosquitto MQTT brokeris
Šeit es izmantoju Mosquitto MQTT Broker, lai ērti sazinātos ar ziņojumiem starp mezgliem.
Eclipse Mosquitto ir atvērtā koda (EPL/EDL licencēts) ziņojumu starpnieks, kas īsteno MQTT protokola versijas 5.0, 3.1.1 un 3.1. Mosquitto ir viegls un piemērots lietošanai visās ierīcēs, sākot no mazjaudas viena paneļa datoriem līdz pilniem serveriem.
MQTT protokols nodrošina vieglu ziņapmaiņas metodi, izmantojot publicēšanas/abonēšanas modeli. Tas padara to piemērotu lietu interneta ziņojumapmaiņai, piemēram, ar mazjaudas sensoriem vai mobilajām ierīcēm, piemēram, tālruņiem, iegultiem datoriem vai mikrokontrolleriem.
Projekts Mosquitto nodrošina arī C bibliotēku MQTT klientu ieviešanai, kā arī ļoti populāros komandrindas MQTT klientus mosquitto_pub un mosquitto_sub.
4. solis: datu plūsma visā projektā
Iepriekš redzamajā attēlā ir mezgli
- NodeMCU
- Aveņu PI
- ESP8266
NodeMCU ir Zaļās mājas uztveršanas daļa, un ESP8266 ir iedarbināšanas daļa, kas piegādā ūdeni, kad zemei nepieciešams ūdens saskaņā ar sensoriem.
Raspberry PI satur Mosquitto Broker un Python klientu, kas abonē ziņojumus, kas nāk no MQTT Broker, un uzglabā datus SQL serverī.
5. darbība: sensoru savienošana ar NodeMCU
DHT11 temperatūras un mitruma sensors un ūdens mitruma sensors spēj darboties ar 3,3 voltiem.
NodeMCU nevar nodrošināt vairāk par 3,3 voltiem. Tātad sensorus var tieši savienot ar NodeMCU mikrokontrolleru plati.
6. darbība: iegremdējamā ūdens sūkņa pievienošana ESP8266
Ūdens padevei tiek izmantots iegremdējamais ūdens sūknis, kad vien tas ir nepieciešams.
Ūdens sūkņa darbībai nepieciešama 5 voltu barošana.
Lai savienotu motoru, ir nepieciešams viena kanāla relejs. Kad ESP8266 GPIO2 tapa ir aktivizēta, relejs ieslēdzas un automātiski piegādā ūdeni, izmantojot iegremdējamo ūdens sūkni.
Šeit ESP8266 plāksnei, relejam un iegremdējamam ūdens sūknim tiek nodrošināts ārējs barošanas avots.
Mans pilnīgais aparatūras savienojums ir attēlā.
7. solis: Mosquitto Broker & Python programmas instalēšana Raspberry Pi
Tālāk ir norādītas darbības, lai instalētu Mosquitto brokeri Raspberry PI
Atveriet termināli un ierakstiet šādas komandas
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-customers
Tam vajadzētu automātiski sākt moskītu.
Lai apturētu un sāktu pakalpojumu, kas man bija jāizmanto
sudo servisa apturēt moskītu
sudo pakalpojums sākt moskītu
Lielākā daļa vietņu, kuras es atklāju, izmanto formātu.
sudo /etc/init.d/mosquitto stop
8. darbība: kā darbojas MQTT?
MQTT ir viens no IoT projektos visbiežāk izmantotajiem protokoliem. Tas nozīmē Message Queuing Telemetry Transport.
Turklāt tas ir veidots kā viegls ziņojumapmaiņas protokols, kas izmanto publicēšanas/abonēšanas darbības datu apmaiņai starp klientiem un serveri. Turklāt tā mazais izmērs, zems enerģijas patēriņš, minimizētas datu paketes un vienkārša ieviešana padara protokolu par ideālu “mašīnu-mašīnu” vai “lietu interneta” pasaulē.
Tāpat kā jebkuru citu interneta protokolu, MQTT pamatā ir klienti un serveris. Tāpat serveris ir puisis, kurš ir atbildīgs par klienta pieprasījumu apstrādi, lai saņemtu vai nosūtītu datus savā starpā. MQTT serveri sauc par brokeri, un klienti ir vienkārši pievienotās ierīces. Tātad:
* Ja ierīce (klients) vēlas nosūtīt datus brokerim, mēs šo darbību saucam par “publicēšanu”.
* Ja ierīce (klients) vēlas saņemt datus no brokera, mēs šo darbību saucam par “abonēšanu”.
9. solis: NodeMCU un ESP8266 programmēšana
Tālāk ir norādīts NodeMCU un ESP8266 mikrokontroles plates avota kods
10. darbība. Tīmekļa lapas izstrāde un savienošanās ar SQL datu bāzi
Web lapa ir veidota, izmantojot HTML, CSS un PHP valodu.
PHP izmanto sensora rādījumu iegūšanai no datu bāzes un parādīšanai HTML lapā.
Šī projekta pamatā ir pitona programma.
Darbi, ko veic python programma, ir šādi.
- Tā abonē tēmu, kurā sensors nosūta sensora rādījumus.
- Tā publicē ūdens sūkņa ieslēgšanas/izslēgšanas komandu MQTT brokerim.
- Tas saglabā sensora rādījumus SQL datu bāzē.
Šeit manā gadījumā python programma un SQL datu bāze ir klēpjdatorā. Tīmekļa lapa, kas iet caur vietējo resursdatoru.
Tālāk ir sniegts manas python programmas avota kods.
11. darbība. Pabeigt darbu
Tālāk ir norādītas darbības, kurās process turpinās.
- NodeMCU darbojas kā sensoru daļa un nolasa temperatūru, mitrumu un augsnes mitruma līmeni.
- Tas nosūta rādījumus MQTT brokerim ar tēmu "1. tēma"
- Klēpjdatorā darbojas python programma, un tā abonē tēmu "1. tēma" ar MQTT brokeri.
- Kad NodeMCU nosūta rādījumus, Mosquitto MQTT Broker nekavējoties nosūta datus python programmai.
- Pēc tam programma Python aprēķina, vai Zaļajā mājā ir nepieciešams ūdens. Tad tas saglabā rādījumus SQL datu bāzē.
- Ja Zaļajā mājā nepieciešams ūdens, tad pitona programma publicē paziņojumu par ūdens sūkņa ieslēgšanu/izslēgšanu Mosquitto MQTT brokerim ar tēmu "2. tēma"
- ESP8266 darbojas kā izpildmehānisms. Tā abonē tēmu "2. tēma", kurā tēmā python programma publicē ziņojumu. Kad python programma publicē jebkuru ziņojumu, ziņojums tiek nekavējoties pārsūtīts uz ESP8266. Saskaņā ar ieslēgšanas/izslēgšanas ziņojumu tas ieslēdza/izslēdza iegremdējamo ūdens sūkni.
- Pēdējais posms, lai tīmekļa lapā parādītu tiešos rādījumus. Tīmekļa lapa ielādē datus no SQL datu bāzes, kurā programma python tieši saglabā datus un parāda rādījumus lapā.
Ieteicams:
Runājošā automatizācija -- Audio no Arduino -- Balss vadāma automatizācija -- HC -05 Bluetooth modulis: 9 soļi (ar attēliem)
Runājošā automatizācija || Audio no Arduino || Balss vadāma automatizācija || HC -05 Bluetooth modulis: …………………………. Lūdzu, abonējiet manu YouTube kanālu, lai iegūtu vairāk videoklipu …. …. šajā video mēs esam izveidojuši runīgu automatizāciju. Kad jūs nosūtīsit balss komandu, izmantojot mobilo tālruni, tā ieslēgs mājas ierīces un nosūtīs atsauksmes
Zaļās mājas monitorings ar IOT: 5 soļi
Zaļās mājas monitorings ar IOT: ja runa ir par lauksaimniecību, temperatūras uzraudzība & Augu mitrums ir svarīgs faktors to izdzīvošanai. Pašlaik cilvēki izmanto siltumnīcā piestiprinātus termometrus, lai lauksaimnieki varētu izmērīt temperatūru. Tomēr šī manuālā lietotne
Mājas automatizācija soli pa solim, izmantojot Wemos D1 Mini ar PCB dizainu: 4 soļi
Mājas automatizācija soli pa solim, izmantojot Wemos D1 Mini ar PCB dizainu: Mājas automatizācija soli pa solim, izmantojot Wemos D1 Mini ar PCB dizainu. Dažas nedēļas atpakaļ mēs vietnē rootsaid.com publicējām apmācību “Mājas automatizācija, izmantojot Raspberry Pi”, kas tika labi uztverta starp hobijiem un koledžas studenti. Tad ieradās viens no mūsu biedriem
Zaļās gaismas: 4 soļi (ar attēliem)
Zaļās gaismas: Zaļās gaismas ir projekts, kas tika izveidots, lai mācītu skolēniem fizisko skaitļošanu. Tas ietver ieejas un izejas, elektrību, programmēšanu ar Arduino un mazliet par satiksmes kontroles sistēmām. Krustojums tiks ierīkots no otras puses
Mājas automatizācija, izmantojot Android un Arduino: atveriet vārtus, atgriežoties mājās: 5 soļi
Mājas automatizācija, izmantojot Android un Arduino: atveriet vārtus, kad atgriezīsities mājās: Šī pamācība ir paredzēta mājas automatizācijas sistēmas iestatīšanai, lai to kontrolētu, izmantojot viedtālruni, izmantojot interneta savienojumu, lai tai varētu piekļūt no jebkuras vietas, kur tas nepieciešams. Turklāt tā veiks noteiktas darbības ikreiz, kad tiks izpildīts kāds kritērijs