Përmbajtje:

Automatizimi i Green House: 11 hapa
Automatizimi i Green House: 11 hapa

Video: Automatizimi i Green House: 11 hapa

Video: Automatizimi i Green House: 11 hapa
Video: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Korrik
Anonim
Automatizimi i Green House
Automatizimi i Green House

Automatizimi i serrës është një projekt ku tre parametra të një serë, domethënë Lagështia e Tokës, Temperatura dhe Lagështia, monitorohen nga përdoruesi nga distanca thjesht duke përdorur një shfletues uebi.

Hapi 1: Përbërësit e kërkuar

Përbërësit e kërkuar
Përbërësit e kërkuar
Përbërësit e kërkuar
Përbërësit e kërkuar
Përbërësit e kërkuar
Përbërësit e kërkuar

Disa përbërës thelbësorë të kërkuar janë renditur më poshtë

1. Raspberry PI Model B

2. Bordi i Zhvillimit të NodeMCU

3. Moduli ESP8266 Wifi

4. Sensori i lagështisë

5. Sensori i temperaturës dhe lagështisë DHT11

6. Stafetë 5V me një kanal

7. Pompë uji zhytëse 5V

8. Bordi i Bukës

9. Moduli i Furnizimit me Energji të Bordit të Bukës

Hapi 2: Gjuha dhe Protokolli

Gjuha & Protokolli
Gjuha & Protokolli
Gjuha & Protokolli
Gjuha & Protokolli
Gjuha & Protokolli
Gjuha & Protokolli
  • C Gjuha përdoret për mikro kontrolluesit.
  • Mesazhimi MQTT: MQTT qëndron për MQ Telemetry Transport. Shtë një protokoll i mesazheve publikim/pajtim, jashtëzakonisht i thjeshtë dhe i lehtë, i krijuar për pajisje të kufizuara dhe rrjete me brez të ulët, me vonesë të lartë ose jo të besueshme. Parimet e projektimit janë të minimizojnë gjerësinë e brezit të rrjetit dhe kërkesat për burimet e pajisjes, ndërsa përpiqen gjithashtu të sigurojnë besueshmëri dhe një shkallë sigurie të ofrimit. Këto parime gjithashtu rezultojnë se e bëjnë protokollin ideal të shfaqjes së botës "makinë-në-makinë" (M2M) ose "Internet of Things" të pajisjeve të lidhura, dhe për aplikacionet celulare ku gjerësia e brezit dhe fuqia e baterisë janë në një çmim të lartë.
  • Programi Python përdoret për automatizimin e rrjedhës së ujit dhe lidhjen e bazës së të dhënave.

Hapi 3: Ndërmjetësi Eclipse Mosquitto MQTT

Ndërmjetësi Eclipse Mosquitto MQTT
Ndërmjetësi Eclipse Mosquitto MQTT

Këtu kam përdorur ndërmjetësin Mosquitto MQTT për komunikimin e lehtë të mesazheve midis nyjeve.

Eclipse Mosquitto është një ndërmjetës mesazhi me burim të hapur (i licencuar nga EPL/EDL) që zbaton versionet e protokollit MQTT 5.0, 3.1.1 dhe 3.1. Mosquitto është i lehtë dhe është i përshtatshëm për përdorim në të gjitha pajisjet nga kompjuterët me një bord të vetëm me fuqi të ulët deri tek serverët e plotë.

Protokolli MQTT siguron një metodë të lehtë për të kryer mesazhe duke përdorur një model publikimi/abonimi. Kjo e bën atë të përshtatshëm për mesazhet e Internetit të Gjërave, të tilla si me sensorë me fuqi të ulët ose pajisje celulare, siç janë telefonat, kompjuterët e integruar ose mikrokontrolluesit.

Projekti Mosquitto gjithashtu siguron një bibliotekë C për zbatimin e klientëve MQTT, dhe klientët shumë të njohur mosquitto_pub dhe mosquitto_sub të linjës së komandës MQTT.

Hapi 4: Rrjedha e të dhënave në të gjithë projektin

Në imazhin e mësipërm nyjet janë

  1. NodeMCU
  2. Mjedra PI
  3. ESP8266

NodeMCU është pjesa ndijuese e Shtëpisë së Gjelbër dhe ESP8266 është pjesa aktivizuese e cila furnizon me ujë kur toka ka nevojë për ujë sipas sensorëve.

Raspberry PI përmban Mosquitto Broker dhe një klient Python i cili regjistron mesazhet që vijnë nga ndërmjetësi MQTT dhe ruan të dhënat në një server SQL.

Hapi 5: Lidhja e sensorëve me NodeMCU

Lidhja e sensorëve me NodeMCU
Lidhja e sensorëve me NodeMCU

Sensori i temperaturës dhe lagështisë DHT11 dhe sensori i lagështisë së ujit është në gjendje të funksionojë në 3.3 volt.

NodeMCU nuk mund të sigurojë më shumë se 3.3 volt. Pra, sensorët mund të lidhen drejtpërdrejt me bordin e mikrokontrolluesit NodeMCU.

Hapi 6: Lidhja e Pompës së Zhytjes së Ujit me ESP8266

Lidhja e Pompës së Zhytjes së Ujit me ESP8266
Lidhja e Pompës së Zhytjes së Ujit me ESP8266
Lidhja e Pompës së Zhytjes së Ujit me ESP8266
Lidhja e Pompës së Zhytjes së Ujit me ESP8266

Një pompë uji zhytëse përdoret për të furnizuar ujin sa herë që është e nevojshme.

Pompës së ujit i nevojitet furnizim me energji 5 volt për funksionimin e saj.

Për të lidhur motorin nevojitet një stafetë me një kanal të vetëm. Kur kunja GPIO2 e ESP8266 është aktivizuar, stafeta ndizet dhe furnizon automatikisht ujin duke përdorur pompën e ujit të zhytur.

Këtu furnizimi me energji të jashtme i sigurohet bordit ESP8266, Rele & pompës së ujit të zhytur.

Lidhja ime e plotë e harduerit është në imazhin e mësipërm.

Hapi 7: Instalimi i Mosquitto Broker & Running Python Program në Raspberry Pi

Më poshtë janë hapat për instalimin e ndërmjetësit Mosquitto në Raspberry PI

Hapni terminalin dhe shkruani komandat e mëposhtme

sudo apt-add-depo ppa: mushkonja-dev/mushkonja-ppa

përditësim sudo apt-get

sudo apt-get install mushkonja

sudo apt-get install mushkonja-klientë

Duhet të fillojë automatikisht mushkonja.

Për të ndaluar dhe filluar shërbimin që më duhej të përdorja

shërbimi sudo ndaloj mushkonjat

shërbimi sudo fillon mushkonja

Shumica e vendeve që kam zbuluar ku përdorin formatin.

sudo /etc/init.d/mosquitto ndalet

Hapi 8: Si funksionon MQTT?

Si funksionon MQTT?
Si funksionon MQTT?

MQTT është një nga protokollet më të përdorur në projektet IoT. Ai qëndron për Message Queuing Telemetry Transport.

Përveç kësaj, është projektuar si një protokoll mesazhesh i lehtë që përdor operacionet e publikimit/regjistrimit për të shkëmbyer të dhëna midis klientëve dhe serverit. Për më tepër, madhësia e tij e vogël, përdorimi i ulët i energjisë, paketat e minimizuara të të dhënave dhe lehtësia e zbatimit e bëjnë protokollin ideal të botës së "makinerisë në makinë" ose "Internetit të gjërave".

Ashtu si çdo protokoll tjetër i internetit, MQTT bazohet në klientë dhe një server. Po kështu, serveri është personi që është përgjegjës për trajtimin e kërkesave të klientit për marrjen ose dërgimin e të dhënave mes njëri -tjetrit. Serveri MQTT quhet ndërmjetës dhe klientët janë thjesht pajisjet e lidhura. Pra:

* Kur një pajisje (një klient) dëshiron t'i dërgojë të dhëna ndërmjetësit, ne e quajmë këtë operacion një "publikim".

* Kur një pajisje (një klient) dëshiron të marrë të dhëna nga ndërmjetësi, ne e quajmë këtë operacion një "pajtim".

Hapi 9: Programimi i NodeMCU dhe ESP8266

Më poshtë janë kodi burimor për bordin e Mikrokontrolluesit NodeMCU dhe ESP8266

Hapi 10: Hartimi i një faqe në internet dhe lidhja me bazën e të dhënave SQL

Faqja në internet është krijuar duke përdorur gjuhë HTML, CSS dhe PHP.

PHP përdoret për të nxjerrë leximet e sensorit nga baza e të dhënave dhe për ta treguar atë në faqen HTML.

Një program python përdoret si zemra e këtij projekti.

Punimet që po bëjnë programi python janë si më poshtë.

  1. Ai pajtohet me një temë në të cilën sensori dërgon leximet e sensorit.
  2. Ai publikon komandën e pompës së ujit për ndezjen/fikjen e ndërmjetësit MQTT.
  3. Ai ruan leximin e sensorit në një bazë të dhënash SQL.

Këtu në rastin tim programi python dhe baza e të dhënave SQL janë të pranishme në një laptop. Faqja e internetit që kalon përmes një hosti lokal.

Më poshtë është kodi burimor i programit tim python.

Hapi 11: Punë e plotë

Punë e Plotë
Punë e Plotë

Më poshtë janë hapat në të cilët procesi vazhdon.

  1. NodeMCU punon si pjesë ndijuese dhe lexon Temperaturën, Lagështinë dhe nivelin e lagështisë së tokës.
  2. Ai i dërgon leximet ndërmjetësit MQTT me një temë "Tema 1"
  3. Në një laptop programi python po funksionon dhe regjistrohet në një temë "Tema 1" me ndërmjetësin MQTT.
  4. Kur NodeMCU dërgon leximet atëherë ndërmjetësi Mosquitto MQTT i dërgon menjëherë të dhënat në programin python.
  5. Programi Python pastaj llogarit nëse ka ujë të nevojshëm në Shtëpinë e Gjelbër. Pastaj ruan leximet në bazën e të dhënave SQL.
  6. Nëse nevojitet ujë në Shtëpinë e Gjelbër, atëherë programi python publikoni mesazhin e ndezjes/fikjes së pompës së ujit për ndërmjetësin Mosquitto MQTT me një temë "Tema 2"
  7. ESP8266 punon si një nxitës. Abonohet në temën "Tema 2" në cilën temë programi python po publikon mesazhin. Kur programi python publikon ndonjë mesazh, atëherë mesazhi transferohet menjëherë në ESP8266. Sipas mesazhit të ndezjes/fikjes, ai ndezi/fikni pompën e ujit të zhytur.
  8. Faza e fundit për të shfaqur leximet e drejtpërdrejta në uebfaqe. Faqja e internetit merr të dhënat nga baza e të dhënave SQL në të cilën programi python i ruan të dhënat drejtpërdrejt dhe shfaq leximet në faqe.

Recommended: