Përmbajtje:
- Hapi 1: Përbërësit e kërkuar
- Hapi 2: Gjuha dhe Protokolli
- Hapi 3: Ndërmjetësi Eclipse Mosquitto MQTT
- Hapi 4: Rrjedha e të dhënave në të gjithë projektin
- Hapi 5: Lidhja e sensorëve me NodeMCU
- Hapi 6: Lidhja e Pompës së Zhytjes së Ujit me ESP8266
- Hapi 7: Instalimi i Mosquitto Broker & Running Python Program në Raspberry Pi
- Hapi 8: Si funksionon MQTT?
- Hapi 9: Programimi i NodeMCU dhe ESP8266
- Hapi 10: Hartimi i një faqe në internet dhe lidhja me bazën e të dhënave SQL
- Hapi 11: Punë e plotë
Video: Automatizimi i Green House: 11 hapa
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
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
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
- 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
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ë
- NodeMCU
- Mjedra PI
- 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
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
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?
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ë.
- Ai pajtohet me një temë në të cilën sensori dërgon leximet e sensorit.
- Ai publikon komandën e pompës së ujit për ndezjen/fikjen e ndërmjetësit MQTT.
- 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ë
Më poshtë janë hapat në të cilët procesi vazhdon.
- NodeMCU punon si pjesë ndijuese dhe lexon Temperaturën, Lagështinë dhe nivelin e lagështisë së tokës.
- Ai i dërgon leximet ndërmjetësit MQTT me një temë "Tema 1"
- Në një laptop programi python po funksionon dhe regjistrohet në një temë "Tema 1" me ndërmjetësin MQTT.
- Kur NodeMCU dërgon leximet atëherë ndërmjetësi Mosquitto MQTT i dërgon menjëherë të dhënat në programin python.
- 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.
- 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"
- 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.
- 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.