Satura rādītājs:

Zaļās mājas automatizācija: 11 soļi
Zaļās mājas automatizācija: 11 soļi

Video: Zaļās mājas automatizācija: 11 soļi

Video: Zaļās mājas automatizācija: 11 soļi
Video: Умный ZigBee выключатель Somgoms без нулевой линии – на симисторе автоматизация дома 2024, Jūlijs
Anonim
Zaļās mājas automatizācija
Zaļās mājas automatizācija

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

Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas 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

Valoda un protokols
Valoda un protokols
Valoda un protokols
Valoda un protokols
Valoda un protokols
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

Eclipse Mosquitto MQTT brokeris
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

  1. NodeMCU
  2. Aveņu PI
  3. 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

Sensoru savienošana ar NodeMCU
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

Iegremdējamā ūdens sūkņa savienojums ar ESP8266
Iegremdējamā ūdens sūkņa savienojums ar ESP8266
Iegremdējamā ūdens sūkņa savienojums ar ESP8266
Iegremdējamā ūdens sūkņa savienojums ar 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?

Kā darbojas MQTT?
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.

  1. Tā abonē tēmu, kurā sensors nosūta sensora rādījumus.
  2. Tā publicē ūdens sūkņa ieslēgšanas/izslēgšanas komandu MQTT brokerim.
  3. 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

Pabeigt darbu
Pabeigt darbu

Tālāk ir norādītas darbības, kurās process turpinās.

  1. NodeMCU darbojas kā sensoru daļa un nolasa temperatūru, mitrumu un augsnes mitruma līmeni.
  2. Tas nosūta rādījumus MQTT brokerim ar tēmu "1. tēma"
  3. Klēpjdatorā darbojas python programma, un tā abonē tēmu "1. tēma" ar MQTT brokeri.
  4. Kad NodeMCU nosūta rādījumus, Mosquitto MQTT Broker nekavējoties nosūta datus python programmai.
  5. 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ē.
  6. 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"
  7. 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.
  8. 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: