Cuprins:

Mini-Serre: 11 pași
Mini-Serre: 11 pași

Video: Mini-Serre: 11 pași

Video: Mini-Serre: 11 pași
Video: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Noiembrie
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

Ca student, am un obicei prost să uit lucrurile. Din această cauză, dacă vreau să cresc un anumit tip de plantă, de obicei uit de ea și moare pentru că nu este nimeni care să aibă grijă de ea.

Voi încerca să rezolv această problemă cu Mini-Serre. Mini-Serre este un sistem automat de monitorizare a grădinăritului care trimite date de diferitele tipuri de senzori care sunt instalați către un server web care rulează pe Raspberry Pi. În acest fel, utilizatorul își poate monitoriza plantele pe un site web oriunde s-ar afla. Acest concept este dezvoltat ca proiect final în primul an de tehnologie multimedia și de comunicații, la Howest Kortrijk, Belgia.

Pasul 1: Materialele

Materialele
Materialele

Pentru a construi acest proiect, veți avea nevoie de următoarele elemente:

Electronică

  1. Raspberry pi 3 - kit
  2. Pană de pâine
  3. Conectori de la bărbat la bărbat
  4. Conectori de la bărbat la femeie
  5. Dallas 18B20 (senzor de temperatură)
  6. Senzor de lumină fotosensibilă pentru detectarea fotorezistorului
  7. MCP3008
  8. Potențiometru
  9. Ecran LCD
  10. Rezistențe
  11. LED albastru
  12. LED RGB

Carcasă:

13. Central Park kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Placă de lemn (partea inferioară a carcasei) 15. Cuie 16. Șuruburi

Instrumente:

17. Ciocan 18. Ferăstrău 19. Șurubelniță 20. Burghiu

Pasul 2: Realizarea circuitului

Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului

În pasul 2 vom realiza circuitul pentru acest proiect. Acesta este minimul absolut de care aveți nevoie dacă doriți să funcționeze. Utilizați tabelul fritzing și diagrama pentru a face o copie a circuitului. Aici aveți nevoie de toate materialele electrice de la pasul 1.

Informații despre circuit:

Avem 2 senzori conectați la MCP3008, care sunt senzorul de lumină și senzorul de umiditate al solului. Senzorul de temperatură are o ieșire digitală și folosește un pin GPIO pe Raspberry Pi.

Suplimentar:

De asemenea, am implementat un ecran LCD care vă va facilita ulterior conectarea la Raspberry Pi fără a fi nevoie să vă conectați la laptop. Acest lucru nu este necesar, dar este foarte sugerat.

Pasul 3: Creați o bază de date

Creați o bază de date
Creați o bază de date

Este foarte important să vă stocați datele de la senzori într-un mod organizat, dar și sigur. Acesta este motivul pentru care am decis să-mi stoc datele într-o bază de date. Numai așa pot accesa această bază de date (cu un cont personal) și o pot menține organizată. În imaginea de mai sus puteți găsi schema mea din baza mea de date și mai jos un fișier pentru a exporta baza de date într-un program de bază de date, de exemplu MySQL.

Este important ca baza noastră de date să funcționeze singură de la Raspberry Pi. Puteți face acest lucru descărcând MySQL sau MariaDB pentru Raspberry Pi. Mai întâi doriți să creați baza de date pe computerul dvs. în MySQL Workbench. Apoi exportați această bază de date ca fișier autonom. Acum conectați-vă la baza de date Raspberry Pi prin MySQL Workbench și restaurați baza de date aici. Acum aveți baza de date care rulează pe Raspberry Pi!

Pasul 4: Scrierea datelor senzorului în baza de date

După ce baza de date rulează pe Raspberry Pi, dorim ca senzorii noștri să poată stoca datele lor în ea. Putem face acest lucru creând 3 scripturi separate (ceea ce se face în PyCharm). O caracteristică frumoasă inclusă în PyCharm este că vă puteți conecta la Pi-ul dvs. și astfel puteți accesa baza de date și puteți scrie direct pe acesta. De asemenea, datele sunt citite direct de Raspberry Pi, iar LED-urile se vor aprinde în funcție de ceea ce aveți nevoie.

LED-ul albastru se aprinde: solul nu este suficient de umed. LED-ul RGB se aprinde în verde: totul este în regulă. LED-ul RGB se aprinde în roșu: este prea fierbinte, deschideți acoperișul pentru a-l răci puțin. LED-ul RGB se aprinde în albastru: este prea frig, închideți acoperișul dacă este deschis.

Puteți descărca toate scripturile din depozitul meu github:

Notă: am folosit informațiile mele personale de conectare pentru bazele de date, așa că ar putea fi necesar să le modificați pentru a se potrivi cu ale dvs.

Notă: folderul DB1 conține o clasă „bază de date” care este importată în codul care se va conecta la baza de date.

Pasul 5: Afișarea adresei IP pe ecran

Afișarea IP-ului dvs. pe ecran
Afișarea IP-ului dvs. pe ecran

Afișajul arată adresa IP pe care rulează Raspberry Pi, astfel vă puteți conecta cu ușurință fără fir la Raspberry Pi. De asemenea, am scris un script pentru aceasta care citește adresa IP a pi-ului tău și îl afișează pe ecran (rețineți că pinii GPIO se potrivesc altfel s-ar putea să nu funcționeze). Raspberry Pi rulează automat acest script la pornire. Puteți face acest lucru adăugând un anumit cod în fișierul rc.local de pe Raspberry Pi. Puteți ajunge acolo tastând „sudo nano /etc/rc.local”, înainte de ultima linie de cod pe care doriți să o adăugați „Python3.5 / home / user / filelocation &”.

Puteți găsi scriptul aici:

Notă: „&” la sfârșit, acest lucru va face ca scriptul să ruleze o dată și imediat îl va opri, astfel încât și alte scripturi să poată rula.

Pasul 6: Măsurarea senzorilor la fiecare 10 minute

Măsurarea senzorilor la fiecare 10 minute
Măsurarea senzorilor la fiecare 10 minute

Nu vrem ca baza noastră de date să fie completată de sensordata vreodată 0,001 secunde, altfel acest lucru va face ca baza de date să țină pasul cu toate datele care intră și s-ar putea să se blocheze. Acesta este motivul pentru care am adăugat un fragment la „crontab” de pe Raspberry Pi. Crontab este un program care ține evidența sarcinilor programate, astfel încât să puteți rula pur și simplu scriptul la fiecare 10 minute o singură dată.

Cum se configurează:

Puteți configura acest lucru tastând mai întâi linia de comandă Raspberry Pi „crontab -e”, acesta deschide editorul pentru crontab. Derulați în jos până la partea de jos a fișierului și adăugați 3 linii, una pentru fiecare senzor.

„* / 10 * * * * python3.5 / home / user / filepath / sensor1”

Notă: „* / 10” reprezintă cele 10 minute pe care le dorim să fie între fiecare măsurare. Codul pe care l-am tastat după el este versiunea python pe care o rulați și fișierul pe care doriți să îl rulați, așa că trebuie să scrieți o linie pentru fiecare senzor, deoarece există din 3 fișiere diferite.

Pasul 7: Realizarea site-ului web

Realizarea site-ului web
Realizarea site-ului web

Mi-am creat site-ul într-un program numit Atom. Este un program foarte simplu de utilizat și recomandabil dacă sunteți destul de nou în scrierea HTML și CSS ca mine.

Puteți găsi toate codurile și imaginile folosite urmând acest link:

Am creat front-end-ul site-ului în Visual Studio Code, deci dacă nu intenționați să creați singur HTML și CSS, puteți adăuga fișierele într-un folder nou în Visual Studio Code în loc de Atom.

Pasul 8: Crearea back-end-ului

Back-end-ul și front-end-ul vor fi lucrurile care fac să se întâmple ceva pe site-ul pe care tocmai l-am creat. În back-end ne conectăm din nou la baza noastră de date și în loc să introducem date în baza de date. Vom citi acum toate datele de la diferiți senzori și folosind Socket. IO o vom trimite la front-end-ul nostru, astfel încât să îl putem afișa pe site-ul web.

Puteți găsi codul pentru back-end aici:

Notă: Folosim clasa bazei de date pe care am folosit-o mai devreme, așa că nu am inclus-o în acest depozit.

Pasul 9: Crearea front-end-ului

Front-end-ul este locul în care combinăm codul nostru HTML și CSS împreună cu JavaScript și back-end-ul nostru. JavaScript pe care l-am scris încearcă să stabilească o conexiune cu back-end-ul care trebuie să ruleze. Acum, Back-end-ul ne va trimite toate datele de la senzori și putem realiza câteva funcții în JavaScript care editează fișierul HTML astfel încât să se potrivească valorilor noastre actuale.

JavaScript poate fi găsit aici:

Notă: asigurați-vă că vă conectați în codul HTML la folderul corect al locului JavaScript, altfel este posibil să nu funcționeze.

Pasul 10: Realizarea serii

Realizarea serii
Realizarea serii
Realizarea serii
Realizarea serii

Am cumpărat un pachet premade de la Brico:

Doar urmați pașii care vin cu pachetul. După ce am terminat acest lucru, nu suntem gata să punem Raspberry Pi acolo. Mai întâi trebuie să realizăm o „podea” sau fund pentru seră, puteți face acest lucru luând o placă de lemn și măsurând cât de mare trebuie să fie pentru a o potrivi. Mai întâi am făcut un cadru din lemn, astfel încât placa de lemn să aibă ceva de sprijin.

Pasul 11: A pune totul împreună

Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună

Suntem aproape gata! Doar acest ultim pas și ești gata să pleci. Luați Raspberry Pi și sera, faceți câteva găuri pentru a putea introduce LED-urile prin ea, faceți o gaură pentru afișaj și o gaură pentru sursa de alimentare Raspberry Pi. Puneți totul în seră, conectați Pi și sunteți pregătiți! Ai propria ta seră!

Recomandat: