Satura rādītājs:
- 1. darbība: instalēšanas rokasgrāmata
- 2. darbība: kontroles piemērs
- 3. solis: Projektā izmantoto detaļu/programmatūras saraksts
- 4. solis: I/0 saraksts
- 5. solis: elektroinstalācijas shēma
- 6. darbība: Arduino kods
- 7. darbība: Raspberry Pi 3 B+
- 8. solis: Python
- 9. solis: MySQL
- 10. solis: mezgls-sarkans
Video: UCL - IIOT siltumnīca: 11 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šis projekts ir mūsu iepriekšējā projekta ar siltumnīcu turpinājums (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Šajā projektā mēs pievienojām datu bāzi, kurā reģistrējam visus savus datus un pēc tam vizualizējam tos ar mezglu sarkanu, lai iegūtu labāku pārskatu.
Mūsu datu bāzē reģistrētais saturs ir augsnes mitrums, temperatūra un mitrums, kas parādīts dažādās diagrammās.
Papildus datu katalogam mēs varam arī kontrolēt, kurš profils ir aktīvs siltumnīcā, un attālināti to kontrolēt.
Tad mēs varam arī manuāli kontrolēt sūkni un ventilatoru.
1. darbība: instalēšanas rokasgrāmata
Pirmais solis ir visu komponentu instalēšana.
Iekavās () mēs esam uzskaitījuši, kur komponents ir pievienots. Piemēram, Arduino ir savienots ar Raspberry Pi, izmantojot USB kabeli.
Izmantotā aparatūra:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B+
- Augsnes higrometrs (Arduino)
- DHT11 sensors (Arduino)
- HG-320 iegremdējamais ūdens sūknis (relejs)
- 5V relejs (Arduino)
- Datora ventilators (relejs)
- 230V barošanas avots (sūknis)
Izmantotā programmatūra:
- Raspbian (OS Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Sarkans mezgls (Raspberry Pi)- Pythonshell- Summariser- MySQL- Dashboard
- MySQL serveris (freemysqlhosting.net)
Vispirms jums būs jāpievieno aparatūras komponenti, tāpēc, lai izveidotu siltumnīcu, izpildiet šo rokasgrāmatu: Instalēšanas rokasgrāmata.
Tad jums būs jāinstalē Raspbian OS savā Raspberry Pi. Pēc tam jums būs jāinstalē Python un pēc tam jāinstalē python bibliotēkas.
Nākamais solis ir instalēt Node-Red uz Raspberry Pi un pēc tam doties uz palešu pārvaldnieku un instalēt iepriekš minētos moduļus.
Pēc tam dodieties uz šo vietni Free MySQL Server un izveidojiet bezmaksas MySQL serveri.
Kad tas viss ir izdarīts, jūs esat gatavs pārsūtīt python skriptu uz savu Raspberry Pi, importēt Node-Red skriptu un augšupielādēt Arduino kodu.
2. darbība: kontroles piemērs
3. solis: Projektā izmantoto detaļu/programmatūras saraksts
Siltumnīcas ražošanā esam izmantojuši šādu tehnoloģiju
- Arduino
- Raspberry Pi
- Mezgls-sarkans
- Python
- PHPMyAdmin
4. solis: I/0 saraksts
5. solis: elektroinstalācijas shēma
6. darbība: Arduino kods
Arduino kods darbojas, izdrukājot sensoru izmērītos datus sērijas savienojumam, kur tos nolasa Raspberry Pi un pārsūta uz datu bāzi.
Arduino ir arī dažas digitālās ieejas, kas savienotas ar Raspberry Pi, kuras Arduino lasa un ja viens no trim kļūst HIGH, profils mainīsies IF paziņojuma dēļ.
Mēs esam arī jauninājuši kodu, lai aizkaves vietā izmantotu Millis, kas ļauj visu laiku nolasīt koda apakšdaļu un pārējo, nevis intervālu ar veco kavēšanos.
7. darbība: Raspberry Pi 3 B+
Mēs izmantojām Raspberry Pi 3 B+, lai savienotu mūsu Arduino ar internetu un MySQL datu bāzi. Tas ļāva mums saglabāt datus no mūsu sensoriem un izveidot vizuālu saskarni galalietotājam. Lietotāja interfeisam mēs izmantojām mezglu-sarkanu ar informācijas paneļa paleti.
Bet pirms mēs varētu parādīt savus sensoru datus mezglā Red, mums bija nepieciešams veids, kā augšupielādēt datus MySQL datu bāzē, un tam mēs izveidojām Python skriptu, kas darbosies mūsu Raspberry Pi.
8. solis: Python
Python skripts tiek izmantots, lai saņemtu datus no sērijveida sakariem, kas nāk no Arduino. Pēc tam skripts nosūta datus uz MySQL datu bāzi.
Mēs izmantojām divas bibliotēkas - pyserial un mysqlclient.
Tātad pirmais solis būtu lejupielādēt šīs divas bibliotēkas:
- PySerial
- MySQLclient
PySerial tiek izmantots datu vākšanai no Arduino, izmantojot sērijas sakarus.
ierīce = '/dev/ttyUSB0'
arduino = sērijveida. Sērijveida (ierīce, 9600)
Pirmā rinda tiek izmantota, lai definētu mūsu COM portu. Raspberry Pi tas ir /dev /ttyUSB0, ko mēs izmantojam Arduino. Otrā rinda ir paredzēta seriālā porta atvēršanai Arduino. Mēs vienkārši definējam, kurš COM ports un ar kādu ātrumu savienojums darbojas.
Pārējais kods darbojas cikla laikā.
Tālāk mēs izmantojam vairākus blokus Try and Except. Pirmkārt, kods mēģina darboties mēģinājuma bloka iekšpusē, ja tas neizdodas, tas izpilda bloku Izņemot. Bet, ja mēģinājuma bloks darbojas labi, tas nedarbojas, izņemot bloku, bet tikai izpilda pārējo kodu.
Tātad izmēģinājuma blokos mums ir kods, kas nolasa seriālo komunikāciju un pēc tam nosūta to uz mūsu MySQL datu bāzi.
higirolists = arduino.readlines (1)
templists = arduino.readlines (2) humidlist = arduino.readlines (3)
Tātad iepriekš minētais kods ir paredzēts sērijas sakaru rindu lasīšanai. Skaitlis koda beigās nosaka sēriju nolasīto rindu. Tātad šīs līnijas tiek iedalītas dažādos mainīgajos.
Kad tiek saņemti dati no Arduino, datu nosūtīšanai uz mūsu MySQL serveri izmantojām moduli mysqlclient.
db = _mysql.connect (resursdators = "sql7.freemysqlhosting.net", lietotājs = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Šī līnija ir paredzēta savienošanai ar mūsu MySQL datu bāzi. Tas norāda serveri, lietotājvārdu, paroli un datu bāzi, kurai tai vajadzētu izveidot savienojumu servera iekšpusē. Šeit jums jānorāda savienojums ar MySQL DB.
db.query ("INSERTINTO` TempHumid "(` temp`, `mitrs`,` hygro`) VĒRTĪBAS (%s, %s, %s) " %(temp, mitrs, higro))
Tātad, mēs ņemam DB savienojumu un izveidojam SQL vaicājumu. Vaicājumā teikts, ka vērtības jāievieto tabulas “TempHumid” iekšpusē un pēc tam slejās “temp”, “mitrs” un “hygro”. Pēdējā daļa “(%s, %s, %s)” ir virkņu formatēšana, un to izmanto, lai datubāzei piešķirtu formātu, ko tā var nolasīt.
Un visa šī darbība tiek ievietota cikla ciklā, lai mēs turpinātu saņemt datus uz MySQL serveri.
Ja vēlaties redzēt visu kodu, lejupielādējiet python skriptu (TempHumid.py).
9. solis: MySQL
MySQL serverim mēs izmantojām bezmaksas pakalpojumu vietnē www.freemysqlhosting.net. Mēs būtu varējuši izveidot serveri lokāli Raspberry Pi, taču mēs devāmies ar bezmaksas pakalpojumu, lai tas būtu pilnībā savienots ar mākoni/internetu.
Lai piekļūtu MySQL, jums jādodas uz vietni phpmyadmin.co un jāpiesakās, izmantojot akreditācijas datus no sava freemysqlhosting konta.
Kad esat iekšā, jums ir jāizveido tabula ar nosaukumu "TempHumid", šīs tabulas iekšpusē jāizveido 4 kolonnas ar nosaukumu "ID", "temp", "mitrs" un "hygro". Pirmajā kolonnā (ID) ir jāatzīmē rūtiņa A_I (automātiskā palielināšana). Tas ir nepieciešams, lai slejā ID katrai datu kopai tiktu piešķirts ID. Visas nākamās kolonnas ir jāiestata kā INT (vesels skaitlis) un standarta vērtība jāiestata uz NULL.
10. solis: mezgls-sarkans
Savā projektā mēs izmantojām mezglu-sarkanu, lai izveidotu grafisku interfeisu. Node-Red darbojas Raspberry Pi un vāc datus no mūsu MySQL datu bāzes un rāda šos datus ar virtuļa formas mērierīcēm un grafiskām diagrammām, lai galalietotājs varētu pārraudzīt datus. Gudrā lieta par mezglu-sarkano ir tā, ka to var redzēt jebkurā ierīcē, kas nozīmē, ka vietnes lielums tiks mainīts konkrētajai ierīcei, kas skata saturu.
Lai instalētu mūsu Node-Red programmēšanu, skatiet 1. darbību un lejupielādējiet dokumentu ar nosaukumu "Node-Red.docx". Pēc tam kopējiet un ielīmējiet tekstu mezgla sarkanajā, izmantojot importēšanas funkciju augšējā labajā stūrī.
Pēc tam mainiet MySQL DB DB iestatījumus.
Ieteicams:
Automātiska siltumnīca iekštelpās, pamatojoties uz Ikea Socker: 5 soļi
Automātiska iekštelpu siltumnīca, pamatojoties uz Ikea Socker: Sveiki, šī ir mana pirmā pamācība. Ar šo kopienu es daudz iemācījos, un es domāju, ka ir pienācis laiks atgriezties pie manām pazemīgajām idejām. Es atvainojos par savu angļu valodu, tā ir slikta, bet es darīšu visu iespējamo. Ideja bija izveidot siltumnīcu, kas ļautu man audzēt sēklas un
Lieliska siltumnīca ar automātisku laistīšanu, interneta savienojumu un daudz ko citu: 7 soļi (ar attēliem)
Lieliska siltumnīca ar automātisku laistīšanu, interneta savienojumu un daudz ko citu: laipni lūdzam šajā instrukcijā. Gājiena sākumā es biju dārza veikalā un redzēju dažas siltumnīcas. Un tā kā es jau sen gribēju izveidot projektu ar augiem un elektroniku, es devos uz priekšu un nopirku vienu: https://www.instagram.com/p
MAG (miniatūra automātiskā siltumnīca): 9 soļi
MAG (Miniatūra automātiskā siltumnīca): Mana māte lielāko daļu laika ir diezgan aizņemta. Tāpēc es gribēju viņai palīdzēt, automatizējot siltumnīcas. Tādā veidā viņa var ietaupīt mazliet laika, jo viņai nav nepieciešams laistīt augus. Es to varēšu sasniegt ar MAG (miniatūru automātisko dārzu). Tāpat kā
IGreenhouse - inteliģentā siltumnīca: 17 soļi (ar attēliem)
IGreenhouse - inteliģentā siltumnīca: mājās audzēti augļi un dārzeņi bieži vien ir labāki par tiem, ko pērkat, taču dažreiz jūs varat aizmirst par savu siltumnīcu. Šajā projektā mēs izgatavosim inteliģentu siltumnīcu. Šī siltumnīca automātiski atvērs un aizvērs viņa logus un durvis
Viedā siltumnīca: 12 soļi
Viedā siltumnīca: Vai jums kādreiz ir bijusi problēma, ka jūsu siltumnīcā bija pārāk karsts, tāpēc visi jūsu augi nomira, jo aizmirsāt atvērt ventilācijas atveres? Nemeklējiet tālāk, viedā siltumnīca ir šīs problēmas risinājums. Sekojiet šim solim kā tevi uzbūvēt