Sisukord:

Traadita aiasüsteem: 7 sammu
Traadita aiasüsteem: 7 sammu

Video: Traadita aiasüsteem: 7 sammu

Video: Traadita aiasüsteem: 7 sammu
Video: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, November
Anonim
Juhtmeta aiasüsteem
Juhtmeta aiasüsteem

See projekt põhineb Arduino'l ja kasutab "mooduleid", mis aitavad teil taimi joota ja logida temperatuuri, mulla ja vihma kätte.

Süsteem on traadita kuni 2, 4 GHz ja kasutab andmete saatmiseks ja vastuvõtmiseks NRF24L01 mooduleid. Las ma selgitan natuke, kuidas see töötab, PS! Vabandage, kui inglise keel pole 100 % õige, olen pärit Rootsist.

Ma kasutan seda süsteemi oma taimede kontrollimiseks, patud Mul on erinevad taimed, mida mul oli vaja nende erinevateks logimiseks. Nii et ma ehitan tsoonipõhise palgisüsteemi.

Mullaandurid, mis loevad mulla niiskust ja temperatuuri, (töötavad akuga) kontrollivad iga tund ja edastavad andmed baasmasinale, millel on WiFi -ühendus. Andmed laaditakse üles minu maja serverisse ja logitakse sisse veebilehele.

Kui muld vajab vett, aktiveerib see õige pumba sõltuvalt sellest, mida mullaandur on kontrollinud. Aga kui vihma sajab, siis ei kasteta. Ja kui see on tõesti kuum, siis kastetakse veel natuke.

Oletame, et teil on üks kartulimaa, üks tubaka ja üks tomati jaoks, siis võib teil olla 3 tsooni 3 erineva anduriga ja 3 pumpa.

Samuti on olemas pir -andurid, mis kontrollivad liigutusi ja kui need veebilehel aktiveeritakse, hakkab valju sireen looma või minu taimede läheduses kõndivat inimest hirmutama.

Loodetavasti saate natuke aru. Alustame nüüd som -andurite valmistamisega.

Minu GitHubi leht, kust saate kõik alla laadida:

Samm: mullaandurid

Mullaandurid
Mullaandurid
Mullaandurid
Mullaandurid
Mullaandurid
Mullaandurid
Mullaandurid
Mullaandurid

Igal anduril on kordumatu number, mis lisatakse veebilehele. Nii et kui mullaandur edastab selle mullaanduri andmeid, lisatakse see õigesse tsooni. Kui andurit pole registreeritud, siis andmeid ei esitata.

Selle ehituse jaoks vajate:

  • 1x Atmega328P-PU kiip
  • 1x nRF24L01 moodul
  • 1x 100 uf kondensaator
  • 1x NPN BC547 transistor
  • 2x 22 pF kondensaatorit
  • 1x 16.000 MHz kristall
  • 1x mulla niiskuse andur
  • 1x DS18B20 temperatuuriandur
  • 1x RGB LED (tavalist anoodi kasutan mina)
  • 3x 270 oomi takistid
  • 1x 4,7 K oomi takisti
  • Aku (kasutan 3,7v Li-Po akut)
  • Ja kui kasutatakse li-po, siis laadimismoodul aku jaoks.

Andurite pikaajaliseks töötamiseks ärge kasutage eelnevalt valmistatud Arduino plaati, need tühjendavad aku kiiresti. Selle asemel kasutage Atmega328P kiipi.

Ühendage kõik nii, nagu on näidatud minu elektrilehel. (Vaata pilti või PDF -faili) Soovitatav on lisada ka toitelüliti, et saaksite laadimise ajal voolu vähendada.

Koodi üleslaadimisel ärge unustage andurit määratleda, et anda neile kordumatu ID -number, kood on saadaval minu GitHubi lehel.

Pinnaseandurite pikaks ajaks elus hoidmiseks kasutan nende toiteks NPN -transistorit alles siis, kui lugemine algab. Nii et neid ei aktiveerita kogu aeg, Igal anduril on ID -number vahemikus 45XX kuni 5000 (seda saab muuta), nii et igal anduril peavad olema unikaalsed numbrid, peate ainult koodis määratlema.

Andurid lähevad aku säästmiseks magama.

2. samm: loomaandur

Loomade andur
Loomade andur
Loomade andur
Loomade andur
Loomade andur
Loomade andur
Loomade andur
Loomade andur

Animal Sensor on lihtne pir sensor. See tajub loomade või inimeste soojust. Kui andur tunneb liikumist. Nad saadavad välja tugijaama.

Kuid häire ei käivitu, selleks peate lehel selle aktiveerima või kui olete taimeri seadistanud, aktiveerib see sel ajal automaatselt.

Kui baas saab loomasensorilt liikumissignaali, edastab see selle Sireeni andurile ja see (ma loodan) peletab looma eemale. Minu sireen on 119 db.

Pir -andur töötab patareiga ja ma olen selle pannud vana häire anduri vanasse pir -anduri korpusesse. Kaabel, mis väljub loomaandurist, on lihtsalt aku laadimiseks.

Selle anduri jaoks vajate:

  • ATMEGA328P-PU kiip
  • 1 x 16 000 MHz kristall
  • 2 x 22 pF kondensaator
  • 1 x Pir andurimoodul
  • 1 x 100 uF kondensaator
  • 1 x NRF24L01 moodul
  • 1 x LED (ma ei kasuta siin ühtegi RGB -d)
  • 1 x 220 oomi takisti
  • Kui töötate akuga, vajate seda (ma kasutan Li-Po-d)
  • Akulaadija moodul, kui teil on aku.
  • Mingi toitelüliti.

Ühendage kõik nii, nagu näete elektrikilbis. Kontrollige, kas saate pir -andurit akust toita (mõned vajavad 5v töötamist).

Hankige kood minu GitHubist ja määrake kasutatav nõiaandur (nt SENS1, SENS2 jne), et nad saaksid kordumatuid numbreid.

ATMEGA kiip ärkab alles siis, kui liikumine on registreeritud. Kui pir -andurimoodulil on sisseehitatud viivituse taimer, pole selles koodis midagi, nii et reguleerige pir -anduril olevat potti, et see oleks ärkvel.

See on loomade anduri jaoks, me liigume edasi.

3. samm: veepumba kontroller

Veepumba kontroller
Veepumba kontroller
Veepumba kontroller
Veepumba kontroller
Veepumba kontroller
Veepumba kontroller
Veepumba kontroller
Veepumba kontroller

Veepumba kontroller peab teie põldude kastmiseks käivitama pumba või veeklapi. Selle süsteemi jaoks ei vaja te patareisid, vajate oma pumba käitamiseks energiat. Arduino käitamiseks kasutan AC 230 kuni DC 5 v moodulit Nano. Samuti pean kasutama pumbatüüpe, üks, mis kasutab veeventiili, mis töötab 12 V, nii et mul on releeplaadile vahelduvvoolu 230 kuni DC 12v moodul.

Teine on 230 AC sisend releesse, et saaksin toita 230 V vahelduvvoolu pumpa.

Süsteem on üsna lihtne, igal pumbakontrolleril on unikaalsed id -numbrid, nii et oletame, et kartulipõld on kuiv ja andur on seadistatud automaatsele veele, siis lisatakse sellele andurile minu pump, mis on mõeldud kartulipõllule, nii et mullaandur ütleb baasisüsteemile, et jootmine peaks algama, nii et põhisüsteem saadab selle pumba aktiveerimiseks signaali.

Saate määrata, kui kaua see veebilehel peaks töötama (näiteks 5 minutit), kui andurid kontrollivad ainult iga tund. Ka pumba seiskamisel salvestab see süsteemi aja, nii et automaatsüsteem ei käivita pumpa niipea. (Võimalik seadistada ka veebilehel).

Samuti saate veebilehe kaudu öösel/päeval kastmise keelata, määrates eriajad. Samuti seadistage iga pumba taimerid jootmise alustamiseks. Ja kui sajab vihma, siis nad ei joota.

Loodan, et mõistad:)

Selle projekti jaoks vajate:

  • 1 x Arduino Nano
  • 1 x NRF24L01 moodul
  • 1 x 100 uF kondensaator
  • 1 RGB LED (tavalist anoodi kasutan mina)
  • 3 x 270 oomi takistid
  • 1 x releeplaat

Ühendage kõik elektrilise lehena (vt pdf -faili või pilti) Laadige kood alla GitHubist ja ärge unustage anduri numbrit määratleda.

Ja nüüd on teil pumba kontroller, süsteem saab hakkama rohkem kui ühega.

Samm: vihmasensor

Vihmaandur
Vihmaandur
Vihmaandur
Vihmaandur
Vihmaandur
Vihmaandur
Vihmaandur
Vihmaandur

Vihmaandurit kasutatakse vihma tuvastamiseks. Te ei vaja rohkem kui ühte. Kuid seda on võimalik lisada veelgi. See vihmasensor on patareitoitega ja kontrollib iga 30 minuti järel vihma. Neil on ka unikaalne number nende tuvastamiseks.

Vihmaandur kasutab analoog- ja digitaalseid tihvte. Digitaalne tihvt kontrollib, kas sajab vihma, (digitaalne ekraan näitab ainult jah või ei) ja sa pead vihmaanduri moodulil poti sisse lülitama, kui on hea hoiatada vihma eest (veetase anduril, mis näitab vihma.)

Analoog -tihvti kasutatakse protsentuaalseks teavitamiseks, kui märg see anduril on.

Kui digitaalne tihvt tuvastab vihma, saadab andur selle põhisüsteemi. Ja põhisüsteem ei kasta taimi, kuni sajab vihma. Andur saadab ka märjaks ja aku oleku.

Anname vihmaanduri toite ainult siis, kui on aeg lugeda läbi digitaalse tihvti võimaldava transistori.

Selle anduri jaoks vajate:

  • ATMEGA328P-PU kiip
  • 1x 16 000 MHz kristall
  • 2x 22 pF kondensaator
  • 1x vihmasensori moodul
  • 1x 100 uF kondensaator
  • 1x NRF24L01 moodul
  • 1x RGB LED (kasutasin tavalist anoodi, see on GND asemel VCC)
  • 3x 270 oomi takistid
  • 1x NPN BC547 transistor
  • 1x aku (kasutan Li-Po)
  • 1x Li-Po laadija moodul (kui kasutatakse Li-Po akut)

Ühendage kõik nii, nagu näete elektrilehel (pdf -is või pildil) Seejärel laadige kood üles ATMEGA kiibile, nagu leiate minu GitHubi lehelt vihmasensori alt. Ärge unustage andurit määratleda, et saada õige id -number.

Ja nüüd on teil vihmasensor, mis töötab iga 30 minuti järel. Saate seda aega muuta, kui te ei soovi seda vähem või rohkem.

Funktsioonis counterHandler () saate seadistada kiibi äratusaja. Arvutate nii: kiibid ärkavad iga 8 sekundi järel ja iga kord, kui see väärtust suurendab. Nii saate 30 minuti jooksul 225 korda, enne kui see peaks toiminguid tegema. Nii et pool tundi on 1800 sekundit. Nii et jagage see 8 -ga (1800 /8), saate 225. See tähendab, et see ei kontrolli andurit enne, kui see töötab 225 korda ja see on umbes 30 minutit. Sama teete ka mullaanduriga.

Samm: loomade sireen

Loomade sireen
Loomade sireen
Loomade sireen
Loomade sireen
Loomade sireen
Loomade sireen
Loomade sireen
Loomade sireen

Loomade sireen on lihtne, kui loomaandur tuvastab liikumise, sireen aktiveeritakse. Ma kasutan tõelist sireeni, nii et ma saan isegi inimesi sellega hirmutada. Kuid võite kasutada ka sireene, mida kuulevad ainult loomad.

Ma kasutan selles projektis Arduino nano ja toidan seda 12v toitega. Sireen on samuti 12 v, nii et relee asemel kasutan sireeni lubamiseks 2N2222A transistorit. Kui kasutate relee, kui teil on sama maapind, võite oma Arduino kahjustada. Seetõttu kasutan sireeni lubamiseks transistorit.

Aga kui teie sireen ja Arduino ei kasuta sama maapinda, võite selle asemel kasutada releed. Jätke transistor ja 2,2K takisti vahele ning kasutage selle asemel releeplaati. Ja muutke ka Arduino koodi, kui see aktiveeritakse, üleminek HIGH -lt LOW -le ja inaktiveeritud üleminek LOW -lt HIGH -ile ja digitaalsele lugemisele tihvti 10 jaoks, pattude korral kasutab relee aktiveerimiseks LOW -d ja transistor kasutab HIGH -i, nii et peate selle ümber lülitama.

Selle ehituse jaoks vajate:

  • 1x Arduino nano
  • 1x 2,2K takisti (jätke vahele, kui kasutate releeplaati)
  • 1x 2N2222 transistor
  • 1x Sireen
  • 3x 270 oomi takisti
  • 1x RGB Led (kasutan tavalist anoodi, GND asemel VCC)
  • 1X NRF24L01 moodul
  • 1x 100 uF kondensaator

Ühendage kõik nii, nagu näete PDF -is või pildil.

Ja nüüd on teil töötav sireen.

6. samm: põhisüsteem

Põhisüsteem
Põhisüsteem
Põhisüsteem
Põhisüsteem
Põhisüsteem
Põhisüsteem

Põhisüsteem on kõigist moodulitest kõige olulisem. Ilma selleta ei saa te seda süsteemi kasutada. Põhisüsteem on Internetiga ühendatud ESP-01 mooduliga ja selle ühendamiseks kasutame Arduino Megas Serial1 kontakte. RX megalt TX -le ESP -l, kuid peame läbima kahe takisti, et saada volt 3,3 -le. Ja TX megalt RX -le ESP -l.

Seadistage ESP -moodul

ESP kasutamiseks peate esmalt seadma selle andmeedastuskiiruseks 9600, seda ma olen selles projektis kasutanud ja olen leidnud, et ESP töötab kõige paremini. Karbist välja seades oli see 115200 baudikiirust, võite seda proovida, kuid minu oma ei olnud nii stabiilne. Selleks vajate Arduino (Mega töötab hästi) ja peate ühendama ESP TX (läbi takistite, nagu näete lehel) Serial TX -iga (mitte Serial1, kui kasutate Mega) ja RX ESP -l Arduino Serialiga RX.

Laadige üles vilkuv eskiis (või mis tahes eskiis, mis ei kasuta jadasid) ja avage jadamonitor ning seadke edastuskiiruseks 115200 ja liinidel NR & CR

Kirjutage käsureale AT ja vajutage sisestusklahvi. Peaksite saama vastuse, mis ütleb OK, nii et nüüd teame, et ESP töötab. (Kui ei, siis on ühendusprobleem või halb ESP-01 moodul)

Nüüd kirjutage käsureale AT+UART_DEF = 9600, 8, 1, 0, 0 ja vajutage sisestusklahvi.

See vastab OK -ga ja see tähendab, et oleme seadnud edastuskiiruseks 9600. Taaskäivitage ESP järgmise käsuga: AT+RST ja vajutage sisestusklahvi. Muutke seeriamonitori andmeedastuskiiruseks 9600, sisestage AT ja vajutage sisestusklahvi. Kui kõik saab korda, on ESP seadistatud 9600 -le ja saate seda projekti jaoks kasutada.

SD -kaardi moodul

Soovin, et süsteemi WIFI -seadeid oleks lihtne muuta, kui muudetakse uut parooli või wifi nime. Seetõttu vajame SD -kaardi moodulit. Looge SD -kaardi sees tekstifail nimega config.txt ja me kasutame lugemiseks JSON -i, seega vajame JSON -vormingut. Seega peaks tekstifailil olema järgmine tekst:

}

Muutke teksti suurte tähtedega, et see paraneks teie WiFi -võrgu jaoks.

Patud, mida me kasutame NRF24L01, mis kasutab SPI -d ja SD -kaardilugeja kasutab ka SPI -d, peame kasutama SDFati teeki, et saaksime kasutada SoftwareSPI -d (saame lisada SD -kaardilugeja mis tahes tihvtidele)

DHT andur

See süsteem on paigutatud õue ja sellel on DHT -andur, et saaksime kontrollida õhu niiskust ja temperatuuri. Seda kasutatakse kuumadel päevadel täiendavaks kastmiseks.

Selle ehituse jaoks vajate:

  • 1x Arduino Mega
  • 1x NRF24L01 moodul
  • 1x ESP-01 moodul
  • 1x SPI Micro SD kaardimoodul
  • 1x DHT-22 andur
  • 1x RGB LED (kasutasin GND asemel tavalist anoodi, VCC)
  • 3x 270 oomi takistid
  • 1x 22 K oomi takisti
  • 2x 10 K oomi takisti

Pange tähele, et kui te ei saa ESP-01 moodulit stabiilseks, proovige seda toita välisest 3,3 V toiteallikast.

Ühendage kõik nii, nagu näete PDF -faili elektrilehel või pildil.

Laadige kood üles oma Arduino Megasse ja ärge unustage kontrollida kogu koodi kommentaaride osas, sest peate hosti serverisse seadma mitmes kohas (see pole parim lahendus, mida ma tean).

Nüüd on teie Base süsteem kasutamiseks valmis. Te ei pea muutma mulla niiskuse pattude koodi muutujaid, saate seda teha veebilehelt.

Samm: veebisüsteem

Veebisüsteem
Veebisüsteem
Veebisüsteem
Veebisüsteem
Veebisüsteem
Veebisüsteem
Veebisüsteem
Veebisüsteem

Süsteemi kasutamiseks on vaja ka veebiserverit. Ma kasutan vaarika pi koos Apache, PHP, Mysql, Gettext. Veebisüsteem on mitmekeelne, nii et saate seda hõlpsalt oma keeles teha. Kaasas rootsi ja inglise keel (inglise keeles võib olla vale inglise keel, minu tõlge ei ole 100 %.) Nii et teil peab olema serveri jaoks installitud Gettext ja ka lokaadid.

Näitan teile ülaltoodud ekraanipilte süsteemist.

See on varustatud lihtsa sisselogimissüsteemiga ja peamine sisselogimine on: administraator kasutajana ja vesi paroolina.

Selle kasutamiseks peate seadistama kolm croni tööd (need leiate kausta cronjob alt)

Fail timer.php, mida peate käivitama iga sekundi tagant. See hoiab augusüsteemi kogu automaatika. Faili nime temperatur.php kasutatakse selleks, et süsteem saaks õhutemperatuuri lugeda ja selle registreerida. Nii et peate seadistama croni töö selle kohta, kui sageli te seda käivitate. Mul on see iga 5 minuti tagant. Siis peaks fail nimega dagstatistik.php töötama ainult üks kord enne keskööd (nt 23:30, 23:30). See võtab päeva jooksul anduritelt saadud väärtusi ja salvestab selle nädala ja kuu staatika jaoks.

Pange tähele, et see süsteem salvestab temperatuuri Celsiuse järgi, kuid saate muuta Fahrenheiti.

Failis db.php seadistate süsteemi mysql andmebaasi ühenduse.

Esiteks lisage süsteemile andurid. Seejärel tehke tsoonid ja lisage tsoonidele andurid.

Kui teil on küsimusi või leiate süsteemist vigu, teatage neist GitHubi lehel. Saate veebisüsteemi kasutada ja teil pole lubatud seda müüa.

Kui teil on probleeme getteksti lokaatidega, pidage meeles, et kui kasutate serverina vaarikat, nimetatakse neid sageli näiteks en_US. UTF-8, nii et peate need muudatused tegema failis i18n_setup.php ja lokaadi kaustas. Muidu jääte rootsi keelega jänni.

Laadige see alla GitHubi lehelt.

Soovitan: