![UCL - IIOT staklenik: 11 koraka UCL - IIOT staklenik: 11 koraka](https://i.howwhatproduce.com/images/004/image-9085-7-j.webp)
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
![UCL - IIOT staklenik UCL - IIOT staklenik](https://i.howwhatproduce.com/images/004/image-9085-8-j.webp)
Ovaj projekt je produžetak našeg ranijeg projekta sa Staklenikom (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
U ovaj projekt dodali smo bazu podataka u koju zapisujemo sve svoje podatke, a zatim ih vizualiziramo crvenim čvorom za bolji pregled.
Sadržaj koji prijavljujemo u našu bazu podataka je Vlažnost, Temperatura i vlažnost tla, što je prikazano na različitim dijagramima.
Osim dataloggin -a, također možemo kontrolirati koji je profil aktivan u stakleniku i daljinski ga kontrolirati.
Tada smo u mogućnosti i ručno upravljati pumpom i ventilatorom.
Korak 1: Vodič za instalaciju
![Vodič za instalaciju Vodič za instalaciju](https://i.howwhatproduce.com/images/004/image-9085-9-j.webp)
Prvi korak je instaliranje svih različitih komponenti.
Unutar zagrada () naveli smo gdje je komponenta spojena. Na primjer, Arduino je povezan s Raspberry Pi putem USB kabela.
Korišteni hardver:
- Arduino (Raspberry Pi)
- Malina Pi 3 B+
- Higrometar tla (Arduino)
- DHT11 senzor (Arduino)
- HG-320 Potopna pumpa za vodu (relejna)
- 5V relej (Arduino)
- Računarski ventilator (relej)
- 230V napajanje (pumpa)
Korišteni softver:
- Raspbian (OS za Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Node-Red (Raspberry Pi)- Pythonshell- Summariser- MySQL- Nadzorna ploča
- MySQL server (freemysqlhosting.net)
Prvo ćete morati spojiti hardverske komponente, pa slijedite ovaj vodič za izgradnju staklenika: Vodič za instalaciju.
Tada ćete morati instalirati Raspbian OS na svoj Raspberry Pi. Nakon toga ćete morati instalirati Python, a zatim instalirati python biblioteke.
Sljedeći korak je instaliranje Node-Red na Raspberry Pi, a zatim idite do upravitelja paleta i instalirajte module navedene ranije.
Zatim idite na ovu web lokaciju Free MySQL Server i kreirajte besplatni MySQL server.
Kad sve ovo obavite, spremni ste za prijenos python skripte na svoj Raspberry Pi, uvoz Node-Red skripte i učitavanje koda za Arduino.
Korak 2: Izlog kontrole
![Image Image](https://i.howwhatproduce.com/images/004/image-9085-11-j.webp)
![](https://i.ytimg.com/vi/eS538gYEkO0/hqdefault.jpg)
Korak 3: Lista dijelova/softvera koji se koriste u projektu
Za izradu staklenika koristili smo sljedeću tehnologiju
- Arduino
- Raspberry Pi
- Node-Red
- Python
- PHPMyAdmin
Korak 4: I/0 lista
![Shema ožičenja Shema ožičenja](https://i.howwhatproduce.com/images/004/image-9085-12-j.webp)
Korak 5: Shema ožičenja
Korak 6: Arduino kod
Arduino kôd radi ispisujući podatke, mjerene senzorima, na serijsku vezu gdje ih čita Raspberry Pi i prenosi u bazu podataka.
Arduino također ima neke digitalne ulazne priključke povezane s Raspberry Pi koje Arduino čita i ako jedno od tri postane VISOKO profil će se promijeniti zbog IF naredbe.
Također smo nadogradili kod tako da koristi Millis umjesto odgode koja omogućava da se zadnjice i ostatak koda čitaju cijelo vrijeme umjesto intervala po starom kašnjenju.
Korak 7: Raspberry Pi 3 B+
![Malina Pi 3 B+ Malina Pi 3 B+](https://i.howwhatproduce.com/images/004/image-9085-13-j.webp)
Koristili smo Raspberry Pi 3 B+ za povezivanje našeg Arduina s internetom i MySQL bazom podataka. To nam je omogućilo pohranu podataka sa naših senzora i izradu vizualnog sučelja za krajnjeg korisnika. Za korisničko sučelje koristili smo Node-Red s paletom nadzorne ploče.
No, prije nego što smo mogli prikazati naše senzorske podatke na Node-Redu, trebao nam je način za postavljanje podataka u MySQL bazu podataka, a za to smo napravili Python skriptu koja će se izvoditi na našem Raspberry Pi.
Korak 8: Python
![Python Python](https://i.howwhatproduce.com/images/004/image-9085-14-j.webp)
Python skripta se koristi za prijem podataka iz serijske komunikacije koja dolazi sa Arduina. Skripta zatim šalje podatke u bazu podataka MySQL.
Koristili smo dvije biblioteke, pyserial i mysqlclient.
Dakle, prvi korak bi bio preuzimanje ove dvije biblioteke:
- PySerial
- MySQLclient
PySerial se koristi za prikupljanje podataka s Arduina putem serijske komunikacije.
uređaj = '/dev/ttyUSB0'
arduino = serijski. Serijski (uređaj, 9600)
Prva linija koristi se za definiranje našeg COM-porta. Na Raspberry Pi -u koristimo /dev /ttyUSB0 za Arduino. Druga linija je za otvaranje serijskog porta za Arduino. Samo definiramo koji COM-port i kojom brzinom se veza povezuje.
Ostatak koda radi u while petlji.
Zatim koristimo više blokova Try i Except. Prvo se kôd pokušava pokrenuti unutar bloka Try, ako to ne uspije, tada pokreće blok Except. Ali ako blok Try radi dobro, ne pokreće blok Except, već samo pokreće ostatak koda.
Dakle, unutar blokova Try imamo kod koji će čitati serijsku komunikaciju, a zatim je poslati u našu MySQL bazu podataka.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Dakle, gornji kod služi za čitanje redova u serijskoj komunikaciji. Broj na kraju koda definira redak koji je pročitan u serijskom broju. Dakle, ove su linije kategorizirane u različite varijable.
Kada su primljeni podaci s Arduina, koristili smo mysqlclient modul za slanje podataka na naš MySQL poslužitelj.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", korisnik = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Ova linija služi za povezivanje s našom MySQL bazom podataka. Određuje server, korisničko ime, lozinku i bazu podataka s kojom bi se trebao povezati unutar poslužitelja. Ovdje trebate navesti vezu sa MySQL DB.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VRIJEDNOSTI (%s, %s, %s)" %(temp, vlažno, higro))
Dakle, ovdje uzimamo našu DB vezu i postavljamo SQL upit. Upit kaže da se vrijednosti moraju umetnuti unutar tablice "TempHumid", a zatim u stupce "temp", "humid" i "hygro". Posljednji dio “(%s, %s, %s)” je oblikovanje niza i koristi se za davanje bazi podataka formata koji može čitati.
I sve ove radnje stavljaju se u while petlju, tako da neprestano šaljemo podatke na MySQL server.
Ako želite vidjeti sav kôd, preuzmite python skriptu (TempHumid.py).
Korak 9: MySQL
![MySQL MySQL](https://i.howwhatproduce.com/images/004/image-9085-15-j.webp)
![MySQL MySQL](https://i.howwhatproduce.com/images/004/image-9085-16-j.webp)
Za MySQL server koristili smo besplatnu uslugu na www.freemysqlhosting.net. Mogli smo napraviti server lokalno na Raspberry Pi -u, ali smo otišli s besplatnom uslugom kako bismo ga potpuno povezali s oblakom/internetom.
Da biste pristupili svom MySQL -u, morate otići na phpmyadmin.co i prijaviti se sa vjerodajnicama sa svog računa freemysqlhosting.
Kad ste unutra, morate stvoriti tablicu pod nazivom "TempHumid", unutar ove tablice morate stvoriti 4 kolone pod nazivom "ID", "temp", "vlažno" i "higro". U prvoj koloni (ID) morate označiti okvir A_I (Automatsko povećanje). To je tako da stupac ID svakom skupu podataka daje ID. Svi sljedeći stupci moraju biti postavljeni kao INT (cijeli broj) i postaviti standardnu vrijednost na NULL.
Korak 10: Node-Red
![Node-Red Node-Red](https://i.howwhatproduce.com/images/004/image-9085-17-j.webp)
![Node-Red Node-Red](https://i.howwhatproduce.com/images/004/image-9085-18-j.webp)
![Node-Red Node-Red](https://i.howwhatproduce.com/images/004/image-9085-19-j.webp)
U našem projektu koristili smo Node-Red za izradu grafičkog sučelja. Node-Red radi na Raspberry Pi-u i prikuplja podatke iz naše MySQL baze podataka i prikazuje te podatke mjeračima u obliku krofni i grafičkim grafikonima, tako da krajnji korisnik može pratiti podatke. Pametna stvar u vezi s Node-Redom je to što se može vidjeti na bilo kojem uređaju, što znači da će se veličina web stranice promijeniti za dati uređaj koji pregledava sadržaj.
Da biste instalirali naše programiranje Node-Red, pogledajte korak 1 i preuzmite dokument pod nazivom "Node-Red.docx". Zatim kopirajte i zalijepite tekst u Node-Red putem funkcije uvoza u gornjem desnom kutu.
Nakon toga promijenite postavke baze podataka za MySQL DB.
Preporučuje se:
Automatski zatvoreni staklenik zasnovan na Ikea Sockeru: 5 koraka
![Automatski zatvoreni staklenik zasnovan na Ikea Sockeru: 5 koraka Automatski zatvoreni staklenik zasnovan na Ikea Sockeru: 5 koraka](https://i.howwhatproduce.com/images/001/image-481-54-j.webp)
Automatski zatvoreni staklenik zasnovan na Ikei Socker: Zdravo, ovo je moje prvo uputstvo. Puno sam naučio s ovom zajednicom i mislim da je vrijeme da vratim svoje skromne ideje. Žao mi je zbog mog engleskog, loš je, ali učinit ću sve što mogu. Ideja je bila napraviti deskop staklenik koji će mi omogućiti uzgoj sjemena i
Sjajan staklenik s automatskim zalijevanjem, internetskom vezom i još mnogo toga: 7 koraka (sa slikama)
![Sjajan staklenik s automatskim zalijevanjem, internetskom vezom i još mnogo toga: 7 koraka (sa slikama) Sjajan staklenik s automatskim zalijevanjem, internetskom vezom i još mnogo toga: 7 koraka (sa slikama)](https://i.howwhatproduce.com/images/006/image-16906-j.webp)
Sjajan staklenik s automatskim zalijevanjem, internetskom vezom i još mnogo toga: Dobro došli u ovu uputu. Početkom marta bio sam u jednoj vrtnoj radnji i vidio neke staklenike. A budući da sam već dugo želio napraviti projekt s biljkama i elektronikom, otišao sam naprijed i kupio jedan: https://www.instagram.com/p
MAG (minijaturni automatski staklenik): 9 koraka
![MAG (minijaturni automatski staklenik): 9 koraka MAG (minijaturni automatski staklenik): 9 koraka](https://i.howwhatproduce.com/images/007/image-19260-j.webp)
MAG (Minijaturni automatski staklenik): Moja majka je većinom prilično zaposlena. Pa sam joj htio pomoći automatizacijom njenih staklenika. Na ovaj način može uštedjeti malo vremena jer neće morati zalijevati biljke. To ću postići s MAG -om (Minijaturni automatski vrt). Kao i u
IGreenhouse - Inteligentni staklenik: 17 koraka (sa slikama)
![IGreenhouse - Inteligentni staklenik: 17 koraka (sa slikama) IGreenhouse - Inteligentni staklenik: 17 koraka (sa slikama)](https://i.howwhatproduce.com/images/008/image-23884-j.webp)
IGreenhouse - Inteligentni staklenik: Domaće voće i povrće često je bolje od onog koje kupujete, ali ponekad možete izgubiti iz vida svoj staklenik. U ovom projektu napravit ćemo inteligentni staklenik. Ovaj staklenik će automatski otvoriti i zatvoriti njegove prozore i vrata
Kutija senzora za staklenik: 5 koraka
![Kutija senzora za staklenik: 5 koraka Kutija senzora za staklenik: 5 koraka](https://i.howwhatproduce.com/images/001/image-2465-71-j.webp)
Kutija senzora za staklenik: Hej. Želim predstaviti još jedan svoj projekt širokom društvu. Cilj projekta je automatizacija staklenika koji sam sagradio u svom dvorištu. Ovo je prvi korak- stvaranje kompleksa senzora za staklenik. Kasnije u budućnosti, na osnovu