Sisukord:
- Samm: paigaldusjuhend
- 2. samm: kontrolli esitusviis
- 3. samm: projektis kasutatud osade/tarkvara loend
- Samm 4: I/0 loend
- Samm: ühendusskeem
- 6. samm: Arduino kood
- 7. samm: Vaarika Pi 3 B+
- Samm: Python
- Samm: MySQL
- 10. samm: sõlme-punane
Video: UCL - IIOT kasvuhoone: 11 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
See projekt on laiendus meie varasemale projektile Greenhouse'iga (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Sellesse projekti lisasime andmebaasi, kus logime kõik oma andmed ja visualiseerime need seejärel suurema punasega, et saada parem ülevaade.
Meie andmebaasi logitud sisu on mulla niiskus, temperatuur ja niiskus, mis on näidatud erinevatel diagrammidel.
Lisaks andmeallikale saame ka kontrollida, milline profiil on kasvuhoones aktiivne, ja seda kaugjuhtida.
Siis saame ka pumpa ja ventilaatorit käsitsi juhtida.
Samm: paigaldusjuhend
Esimene samm on kõigi erinevate komponentide installimine.
Sulgudes () oleme loetlenud, kuhu komponent on ühendatud. Nii on näiteks Arduino USB -kaabli kaudu ühendatud Raspberry Pi -ga.
Kasutatud riistvara:
- Arduino (Vaarika Pi)
- Vaarika Pi 3 B+
- Pinnase hügromeeter (Arduino)
- DHT11 andur (Arduino)
- HG-320 sukeldatav veepump (relee)
- 5 V relee (Arduino)
- Arvuti ventilaator (relee)
- 230V toide (pump)
Kasutatud tarkvara:
- Raspbian (Raspberry Pi OS)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Sõlm-punane (Raspberry Pi)- Pythonshell- Kokkuvõte- MySQL- Armatuurlaud
- MySQL -server (freemysqlhosting.net)
Kõigepealt peate ühendama riistvarakomponendid, seega järgige kasvuhoone ehitamiseks seda juhendit: Installijuhend.
Seejärel peate oma Raspberry Pi -sse installima Raspbian OS -i. Pärast seda peate installima Pythoni ja seejärel installima pythoni teegid.
Järgmine samm on installida Node-Red Raspberry Pi-le ja seejärel navigeerida palettide haldurisse ning installida varem märgitud moodulid.
Seejärel minge sellele saidile Free MySQL Server ja looge tasuta MySQL -server.
Kui see kõik on tehtud, olete valmis pythoni skripti oma Raspberry Pi-sse üle kandma, Node-Red skripti importima ja Arduino koodi üles laadima.
2. samm: kontrolli esitusviis
3. samm: projektis kasutatud osade/tarkvara loend
Kasvuhoone valmistamiseks kasutasime järgmist tehnoloogiat
- Arduino
- Vaarika Pi
- Sõlm-punane
- Python
- PHPMyAdmin
Samm 4: I/0 loend
Samm: ühendusskeem
6. samm: Arduino kood
Arduino kood töötab andurite abil mõõdetud andmete trükkimisega jadaühendusse, kus Raspberry Pi loeb neid ja edastab need andmebaasi.
Arduinol on Raspberry Pi -ga ühendatud ka mõned digitaalsed sisendnupud, mida Arduino loeb ja kui üks kolmest muutub HIGH -ks, muutub profiil IF -avalduse tõttu.
Samuti oleme uuendanud koodi, et viivituse asemel kasutada Millist, mis võimaldab vana tagumiku asemel intervallide asemel kogu aeg tagumikke ja ülejäänud koodi lugeda.
7. samm: Vaarika Pi 3 B+
Arduino ühendamiseks Interneti ja MySQL -i andmebaasiga kasutasime Raspberry Pi 3 B+. See võimaldas meil salvestada anduritelt saadud andmeid ja teha lõppkasutajale visuaalse liidese. Kasutajaliidese jaoks kasutasime juhtpaneeli paletiga sõlme-punast.
Kuid enne, kui saime oma anduriandmeid Node-Redis näidata, oli meil vaja viis MySQL-i andmebaasi andmete üleslaadimiseks ja selleks koostasime Pythoni skripti, mis töötab meie Raspberry Pi-l.
Samm: Python
Pythoni skripti kasutatakse andmete vastuvõtmiseks Arduinost pärinevast jadaühendusest. Seejärel saadab skript andmed MySQL -i andmebaasi.
Kasutasime kahte raamatukogu, pyserial ja mysqlclient.
Nii et esimene samm oleks nende kahe raamatukogu allalaadimine:
- PySerial
- MySQLclient
PySerialit kasutatakse andmete kogumiseks Arduino jadaühenduse kaudu.
seade = '/dev/ttyUSB0'
arduino = jada. Seeria (seade, 9600)
Esimest rida kasutatakse meie COM-pordi määratlemiseks. Raspberry Pi -l on see /dev /ttyUSB0, mida kasutame Arduino jaoks. Teine rida on jadaporti avamiseks Arduinole. Me lihtsalt määratleme, milline COM-port ja millise kiirusega ühendus töötab.
Ülejäänud kood töötab mõnda aega.
Järgmisena kasutame mitmeid proovi- ja välja arvatud plokke. Esiteks proovib kood käivitada proovimisploki sees, kui see ei õnnestu, käivitab see ploki Välja arvatud. Aga kui proovimisplokk töötab hästi, siis ei tööta see plokk Välja arvatud, vaid lihtsalt käivitab ülejäänud koodi.
Nii et Try-plokkide sees on meil kood, mis loeb jadakommunikatsiooni ja saadab selle seejärel meie MySQL-i andmebaasi.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Seega on ülaltoodud kood jadakommunikatsiooni ridade lugemiseks. Koodi lõpus olev number määrab jada loetud rea. Seega liigitatakse need read erinevatesse muutujatesse.
Kui Arduino andmed on vastu võetud, kasutasime MySQL -serverisse andmete saatmiseks mysqlclient moodulit.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", user = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
See rida on mõeldud meie MySQL andmebaasiga ühenduse loomiseks. See määrab serveri, kasutajanime, parooli ja millise andmebaasiga peaks serveris ühenduse looma. Siin peaksite määrama ühenduse oma MySQL DB -ga.
db.query ("INSERTINTO` TempHumid` (`temp", `niiske`,` hygro`) VÄÄRTUSED (%s, %s, %s) " %(temp, niiske, hügro))
Siin võtame oma DB ühenduse ja teeme SQL päringu. Päring ütleb, et väärtused tuleb sisestada tabelisse “TempHumid” ning seejärel veergudesse “temp”, “niiske” ja “hygro”. Viimane osa “(%s, %s, %s)” on stringide vormindamine ja seda kasutatakse andmebaasile vormindamiseks, mida see saab lugeda.
Ja kogu see toiming pannakse mõnda aega, nii et me saadame pidevalt andmeid MySQL -serverisse.
Kui soovite näha kogu koodi, laadige alla pythoni skript (TempHumid.py).
Samm: MySQL
MySQL -serveri jaoks kasutasime tasuta teenust saidil www.freemysqlhosting.net. Oleksime võinud Raspberry Pi -s kohapeal serveri teha, kuid läksime tasuta teenusega, et muuta see täielikult pilve/Interneti -ühendusega.
MySQL -ile juurdepääsuks peate minema saidile phpmyadmin.co ja logima sisse oma freemysqlhosting konto volitustega.
Kui olete sees, peate looma tabeli nimega "TempHumid", selle tabeli sees peate looma 4 veergu nimega "ID", "temp", "niiske" ja "hygro". Esimeses veerus (ID) peate märkima ruudu A_I (automaatne suurendamine). Seda selleks, et veerg ID annaks igale andmekogumile ID. Kõik järgmised veerud tuleb määrata INT (täisarv) ja määrata standardväärtuseks NULL.
10. samm: sõlme-punane
Meie projektis kasutasime graafilise liidese loomiseks sõlme-punast. Node-Red töötab Raspberry Pi-l ja kogub andmeid meie MySQL-i andmebaasist ning näitab neid andmeid sõõrikukujuliste gabariitide ja graafiliste diagrammidega, et lõppkasutaja saaks andmeid jälgida. Node-Redi nutikas asi on see, et seda saab vaadata mis tahes seadmes, mis tähendab, et saidi suurust muudetakse selle sisu vaatava seadme jaoks.
Node-Red programmeerimise installimiseks vaadake 1. sammu ja laadige alla dokument nimega "Node-Red.docx". Seejärel kopeerige ja kleepige tekst paremas ülanurgas asuva importimisfunktsiooni kaudu sõlme-punasesse.
Pärast seda muutke MySQL DB andmebaasi seadeid.
Soovitan:
Automaatne siseruumides kasutatav kasvuhoone, mis põhineb Ikea sokkel: 5 sammu
Automaatne siseruumides kasutatav kasvuhoone Ikea Sockeri baasil: Tere, see on minu esimene juhendatav. Ma õppisin selle kogukonnaga palju ja arvan, et on aeg oma tagasihoidlikud ideed tagasi tuua. Mul on kahju oma inglise keele pärast, see on kehv, aga ma teen kõik endast oleneva. Idee oli teha Deskopi kasvuhoone, mis laseb mul seemneid kasvatada ja
Kasvuhoone automatiseerimine LoRa abil! (2. osa) -- Mootoriga aknaavaja: 6 sammu (piltidega)
Kasvuhoone automatiseerimine LoRa abil! (2. osa) || Mootoriga aknaavaja: Selles projektis näitan teile, kuidas lõin oma kasvuhoonele mootoriga aknaavaja. See tähendab, et näitan teile, millist mootorit ma kasutasin, kuidas ma tegeliku mehaanilise süsteemi kavandasin, kuidas ma mootorit juhtisin ja lõpuks, kuidas ma kasutasin Arduino LoRa -d
Suurepärane kasvuhoone automaatse jootmise, Interneti -ühenduse ja palju muuga: 7 sammu (piltidega)
Suurepärane kasvuhoone automaatse jootmise, Interneti -ühenduse ja palju muuga: Tere tulemast sellesse juhendisse. Märtsi alguses olin aiapoes ja nägin mõnda kasvuhoonet. Ja kuna ma tahtsin juba pikka aega teha projekti taimede ja elektroonikaga, siis läksin edasi ja ostsin ühe: https://www.instagram.com/p
MAG (miniatuurne automaatne kasvuhoone): 9 sammu
MAG (miniatuurne automaatne kasvuhoone): mu ema on enamasti päris hõivatud. Nii et ma tahtsin teda kasvuhoonete automatiseerimisega aidata. Nii saab ta säästa natuke aega, kuna ta ei pea taimi kastma. Mul on see võimalik MAG -iga (miniatuurne automaatne aed). Nagu ka
Kasvuhoone automatiseerimine LoRa abil! (1. osa) -- Andurid (temperatuur, niiskus, mulla niiskus): 5 sammu
Kasvuhoone automatiseerimine LoRa abil! (1. osa) || Andurid (temperatuur, niiskus, mulla niiskus): Selles projektis näitan teile, kuidas ma kasvuhoonet automatiseerisin. See tähendab, et näitan teile, kuidas ma kasvuhoone ehitasin ja kuidas toite- ja automaatikaelektroonika ühendasin. Samuti näitan teile, kuidas programmeerida Arduino tahvlit, mis kasutab L