Talaan ng mga Nilalaman:
- Hakbang 1: Gabay sa Pag-install
- Hakbang 2: Showcase ng Control
- Hakbang 3: Listahan ng Mga Bahagi / software na Ginamit sa Project
- Hakbang 4: Listahan ng I / 0
- Hakbang 5: Diagram ng Mga Kable
- Hakbang 6: Ang Arduino Code
- Hakbang 7: Raspberry Pi 3 B +
- Hakbang 8: Python
- Hakbang 9: MySQL
- Hakbang 10: Node-Red
Video: UCL - IIOT Greenhouse: 11 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang proyektong ito ay isang extension ng aming naunang proyekto sa Greenhouse (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Sa proyektong ito nagdagdag kami ng isang database, kung saan namin nai-log ang lahat ng aming data at pagkatapos ay isasalamin ito sa node-red para sa isang mas malaking pangkalahatang ideya.
Ang nilalamang naka-log in sa aming database ay Humidity, Temperatura at kahalumigmigan ng lupa, na ipinapakita sa iba't ibang mga diagram.
Bukod sa dataloggin nagagawa din naming makontrol kung aling profile ang aktibo sa Greenhouse at malayo itong makokontrol.
Pagkatapos ay nagagawa din naming makontrol ang bomba at fan nang manu-mano.
Hakbang 1: Gabay sa Pag-install
Ang unang hakbang ay i-install ang lahat ng iba't ibang mga bahagi.
Sa loob ng mga braket (), nakalista kami kung saan nakakonekta ang sangkap. Kaya halimbawa, ang Arduino ay konektado sa Raspberry Pi sa pamamagitan ng isang USB cable.
Ginamit ang hardware:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B +
- Lupa hygrometer (Arduino)
- DHT11 sensor (Arduino)
- HG-320 Nailulubog na Tubig na Tubig (Relay)
- 5V relay (Arduino)
- Isang fan ng computer (Relay)
- 230V power supply (Pump)
Ginamit na software:
- Raspbian (OS para sa Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi) - PySerial- MySQLclient
- Node-Red (Raspberry Pi) - Pythonshell- Summariser- MySQL- Dashboard
- MySQL server (freemysqlhosting.net)
Una ay kakailanganin mong ikonekta ang mga bahagi ng hardware, kaya sundin ang gabay na ito upang maitayo ang greenhouse: Gabay sa Pag-install.
Pagkatapos ay kakailanganin mong i-install ang Raspbian OS sa iyong Raspberry Pi. Pagkatapos nito kakailanganin mong i-install ang Python, at pagkatapos ay i-install ang mga library ng sawa.
Susunod na hakbang ay ang pag-install ng Node-Red sa Raspberry Pi, at pagkatapos ay mag-navigate sa manager ng papag at i-install ang mga modyul na nakasaad nang mas maaga.
Pagkatapos ay pumunta sa site na ito na Libreng MySQL Server at lumikha ng isang libreng MySQL server.
Kapag tapos na ang lahat ng ito, handa ka nang ilipat ang script ng sawa sa iyong Raspberry Pi, i-import ang Node-Red script at i-upload ang code para sa Arduino.
Hakbang 2: Showcase ng Control
Hakbang 3: Listahan ng Mga Bahagi / software na Ginamit sa Project
Ginamit namin ang sumusunod na teknolohiya upang gawin ang Greenhouse
- Arduino
- Raspberry Pi
- Node-Red
- Sawa
- PHPMyAdmin
Hakbang 4: Listahan ng I / 0
Hakbang 5: Diagram ng Mga Kable
Hakbang 6: Ang Arduino Code
Gumagana ang Arduino code sa pamamagitan ng pag-print ng data, sinusukat ng mga sensor, sa serial na koneksyon kung saan binabasa ito ng Raspberry Pi at inilipat sa database.
Ang Arduino ay mayroon ding ilang mga digital inputpins na nakakonekta sa Raspberry Pi na binabasa ng Arduino at kung ang isa sa tatlo ay naging MASASAKIT magbabago ang profile dahil sa isang pahayag na KUNG.
Gayundin na-upgrade namin ang code upang magamit ang Millis sa halip na pagkaantala na nagbibigay-daan sa mga butil at natitirang code na basahin sa lahat ng oras sa halip na isang agwat ng lumang pagkaantala.
Hakbang 7: Raspberry Pi 3 B +
Gumamit kami ng isang Raspberry Pi 3 B + para sa pagkonekta sa aming Arduino sa internet at isang database ng MySQL. Ginawa nitong posible para sa amin na mag-imbak ng data mula sa aming mga sensor at gumawa ng isang visual interface para sa end user. Para sa interface ng gumagamit ginamit namin ang Node-Red sa palette ng Dashboard.
Ngunit bago namin maipakita ang aming data ng sensor sa Node-Red, kailangan namin ng isang paraan upang mai-upload ang data sa isang database ng MySQL, at para doon gumawa kami ng isang script ng Python na tatakbo sa aming Raspberry Pi.
Hakbang 8: Python
Ang script ng Python ay ginagamit para sa pagtanggap ng data mula sa serial-komunikasyon na nagmumula sa Arduino. Ipinapadala ng script ang data sa isang MySQL database.
Gumamit kami ng dalawang aklatan, pyserial at MySQL.
Kaya ang unang hakbang ay ang pag-download ng dalawang aklatan na ito:
- PySerial
- MySQLclient
Ginagamit ang PySerial para sa pagkolekta ng data mula sa Arduino sa pamamagitan ng serial-komunikasyon.
aparato = '/ dev / ttyUSB0'
arduino = serial. Serial (aparato, 9600)
Ginagamit ang unang linya para sa pagtukoy sa aming COM-port. Sa Raspberry Pi ito ay / dev / ttyUSB0, na ginagamit namin para sa Arduino. Ang pangalawang linya ay para sa pagbubukas ng serial port sa Arduino. Tinutukoy lamang namin kung aling COM-port at kung anong bilis ang tumatakbo sa koneksyon.
Ang natitirang code ay tumatakbo sa isang habang loop.
Susunod ay gumagamit kami ng maraming mga Block at Maliban sa mga bloke. Una sinusubukan ng code na tumakbo sa loob ng Subukan ang block, kung nabigo iyon pagkatapos ay pinapatakbo nito ang Except block. Ngunit kung tumatakbo ang bloke ng Subukan, hindi nito pinapatakbo ang Except block, pinapatakbo lamang nito ang natitirang code.
Kaya sa loob ng mga Block block mayroon kaming code na magbabasa ng serial-komunikasyon at pagkatapos ay ipadala ito sa aming MySQL database.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Kaya ang code sa itaas ay para sa pagbabasa ng mga linya sa serial-komunikasyon. Ang numero sa dulo ng code ay tumutukoy sa linya na nabasa sa serial. Kaya't ang mga linya na ito ay ikinategorya sa iba't ibang mga variable.
Kapag natanggap ang data mula sa Arduino, ginamit namin ang mysqlclient module para sa pagpapadala ng data sa aming MySQL Server.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", user = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Ang linyang ito ay para sa pagkonekta sa aming database ng MySQL. Tinutukoy nito ang server, username, password at aling database dapat itong kumonekta sa loob ng server. Dito mo dapat tukuyin ang koneksyon sa iyong MySQL DB.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALUES (% s,% s,% s)"% (temp, mahalumigmig, hygro))
Kaya dito kinukuha namin ang aming koneksyon sa DB at gumawa ng isang query sa SQL. Sinasabi ng query na ang mga halaga ay dapat na ipasok sa loob ng talahanayan na "TempHumid" at pagkatapos ay sa mga haligi na "temp", "mahalumigmig" at "hygro". Ang huling bahagi na "(% s,% s,% s)" ay ang format ng string at ginagamit upang bigyan ang database ng isang format na mababasa nito.
At lahat ng pagkilos na ito ay inilalagay sa isang habang loop, upang patuloy kaming makakuha ng data na ipinadala sa MySQL server.
Kung nais mong makita ang lahat ng code, i-download ang python script (TempHumid.py).
Hakbang 9: MySQL
Para sa MySQL server, gumamit kami ng isang libreng serbisyo sa www.freemysqlhosting.net. Maaaring gumawa kami ng isang server nang lokal sa Raspberry Pi, ngunit sumama kami sa libreng serbisyo upang ganap itong konektado sa cloud / internet.
Upang ma-access ang iyong MySQL, kailangan mong pumunta sa phpmyadmin.co at mag-login gamit ang mga kredensyal mula sa iyong freemysqlhosting account.
Kapag nasa loob ka, kailangan mong lumikha ng isang talahanayan na tinatawag na "TempHumid", sa loob ng talahanayan na ito kailangan mong lumikha ng 4 na haligi na tinatawag na, "ID", "temp", "mahalumigmig" at "hygro". Ang unang haligi (ID) kailangan mong lagyan ng tsek ang kahon na A_I (Auto Increment). Ito ay upang ang haligi ng ID ay nagbibigay sa bawat dataset ng isang ID. Ang lahat ng mga sumusunod na haligi ay dapat itakda bilang isang INT (integer), at itakda ang karaniwang halaga sa NULL.
Hakbang 10: Node-Red
Sa aming proyekto ginamit namin ang Node-Red para sa paggawa ng isang graphic na interface. Ang Node-Red ay tumatakbo sa Raspberry Pi at nangongolekta ng data mula sa aming database ng MySQL at ipinapakita ang data na ito na may mga donut na sukat na gauge at grapikong tsart, upang masubaybayan ng end user ang data. Ang matalinong bagay tungkol sa Node-Red ay nakikita ito sa anumang aparato, na nangangahulugang ang site ay mababago para sa ibinigay na aparato na tumitingin sa nilalaman.
Upang mai-install ang aming Node-Red na programa, tingnan ang Hakbang 1 at i-download ang dokumento na tinatawag na "Node-Red.docx". Pagkatapos kopyahin at i-paste ang teksto sa Node-Red sa pamamagitan ng pag-andar ng pag-import sa kanang sulok sa itaas.
Pagkatapos nito baguhin ang mga setting ng DB para sa iyong MySQL DB.
Inirerekumendang:
Awtomatikong Indoor Greenhouse Batay sa Ikea Socker: 5 Mga Hakbang
Awtomatikong Indoor Greenhouse Batay sa Ikea Socker: Kumusta, ito ang aking unang itinuturo. Marami akong natutunan sa comunity na ito, at sa palagay ko oras na upang ibalik ang aking mga mapagpakumbabang ideya. Humihingi ako ng paumanhin tungkol sa aking ingles, mahirap, ngunit gagawin ko ang lahat na magagawa ko. Ang ideya ay upang gumawa ng isang deskop greenhouse na hinayaan akong lumaki ng mga binhi at
Pag-automate ng isang Greenhouse Sa LoRa! (Bahagi 2) -- Mga Nagbukas ng Window Window: 6 Mga Hakbang (na may Mga Larawan)
Pag-automate ng isang Greenhouse Sa LoRa! (Bahagi 2) || Ang Opener ng Window Window: Sa proyektong ito ay ipapakita ko sa iyo kung paano ako lumikha ng isang naka-motor na window opener para sa aking greenhouse. Nangangahulugan iyon na ipapakita ko sa iyo kung anong motor ang ginamit ko, kung paano ko dinisenyo ang aktwal na mekanikal na sistema, kung paano ko ihinahatid ang motor at sa wakas kung paano ko ginamit ang isang Arduino LoRa
Galing ng Greenhouse Na May Awtomatikong Pagtubig, Koneksyon sa Internet at Higit Pa: 7 Mga Hakbang (na may Mga Larawan)
Galing ng Greenhouse Sa Awtomatikong Pagtubig, Koneksyon sa Internet at Higit Pa: Maligayang pagdating sa Mga Instructionable na ito. Sa simula ng martsa, nasa isang tindahan ako ng hardin at nakakita ng ilang mga greenhouse. At dahil nais kong gumawa ng isang proyekto sa mga halaman at electronics nang matagal na, nagpatuloy ako at bumili ng isa: https://www.instagram.com/p
Pag-automate ng isang Greenhouse Sa LoRa! (Bahagi 1) -- Mga Sensor (Temperatura, Humidity, Soil Moisture): 5 Mga Hakbang
Pag-automate ng isang Greenhouse Sa LoRa! (Bahagi 1) || Mga Sensor (Temperatura, Humidity, Soil Moisture): Sa proyektong ito ipapakita ko sa iyo kung paano ko na-automate ang isang greenhouse. Nangangahulugan iyon na ipapakita ko sa iyo kung paano ko itinayo ang greenhouse at kung paano ko nag-wire ang electronics ng kapangyarihan at pag-automate. Ipapakita ko rin sa iyo kung paano magprogram ng isang board ng Arduino na gumagamit ng L
The Greenhouse Project (RAS): Subaybayan ang Mga Elemento upang Mag-reaksyon sa aming Taniman: 18 Hakbang (na may Mga Larawan)
The Greenhouse Project (RAS): Subaybayan ang Mga Elemento na Magre-react sa aming Taniman: Nagmumungkahi ang proyektong ito na subaybayan ang temperatura ng hangin, ningning at halumigmig, pati na rin ang temperatura ng grove at halumigmig. Nagmumungkahi din ito na i-network ang mga hakbang na ito na nababasa sa website ng Actoborad.com Upang magawa, ikinonekta namin ang 4 na sensor sa N