- Reikalingos medžiagos:
- Modulių paaiškinimas:
- Schema ir techninė įranga
- API sukūrimas el. Laiškams siųsti naudojant IFTTT:
- „Arduino“ programa
- -CircuitDigest
- Dirba
Tai dar vienas įdomus IOT projektas, kuriame sukursime apsaugos sistemą, kuri gali suaktyvinti el. Laišką, kai jis aptiks ką nors. Šis projektas sujungia ESP8266, PIR jutiklio ir ISD1820 balso modulio galią. Šio straipsnio pabaigoje jūs būtumėte sukūrę visiškai veikiančią apsaugos sistemą, kurią galima nuotoliniu būdu per internetą įjungti / išjungti (įjungti / išjungti). Galite įrašyti savo garso įrašą, kuris bus leidžiamas aptikus judesį, taip pat išsiųsti laišką su data ir laiku tam tikram el. Pašto ID, kuriame nurodomas įsilaužimas. Pakankamai kietas….. !!! ??
Taigi pastatykime jį..
Reikalingos medžiagos:
Medžiagos, reikalingos šiam projektui sukurti, išvardytos toliau
- ESP8266
- PIR jutiklis
- ISD1820 balso modulis
- LM317, LM7805
- BC547 (2Nos)
- 1K, 200ohm, 330ohm rezistoriai
- 10uf ir 0,1uf kondensatoriai
- 12 V adapteris / 9 V akumuliatorius sąrankai maitinti
Modulių paaiškinimas:
Projekte yra trys svarbūs komponentai: ESP8266 modulis, PIR jutiklis ir ISD1820 balso modulis. Jei esate susipažinę su šiais moduliais, galite praleisti šią dalį pereidami prie schemų, bet jei norite sužinoti, kaip jie veikia, skaitykite toliau.
ESP8266 modulis:
Esu įsitikinęs, kad kurį laiką ar kitą kartą būtumėte susidūrę su šiuo moduliu. Tai labai garsus ir galingas „WiFi“ modulis, dažniausiai naudojamas IOT projektuose.
Šiame projekte daroma prielaida, kad jūs žinote, kaip programuoti ESP8266 modulį, jei ne maloniai apsilankykite žemiau esančiose dviejose pamokose, kuriose aš paaiškinau, kaip pradėti naudotis ESP8266 ir kaip galite jį programuoti naudodami „Arduino IDE“. Jūs turite tai žinoti, kad užbaigtumėte projektą.
- Darbo su ESP8266 pradžia
- ESP8266 programavimas naudojant „Arduino IDE“
PIR jutiklis:
PIR jutiklis reiškia pasyvų infraraudonųjų spindulių jutiklį. Tai nebrangus jutiklis, galintis nustatyti žmonių ar gyvūnų buvimą. Jutiklyje yra dvi svarbios medžiagos: piroelektrinis kristalas, kuris gali aptikti gyvo organizmo (žmonių / gyvūnų) šilumos parašus, o kita - Fresnelio lęšiai, kurie gali išplėsti jutiklio veikimo sritį. Taip pat PIR jutiklio moduliai suteikia mums keletą galimybių reguliuoti jutiklio veikimą, kaip parodyta žemiau esančiame paveikslėlyje.
Du potenciometrai (oranžinės spalvos) naudojami jutiklio jautrumui ir suveikimui valdyti. Iš esmės jutiklio „Dout“ kaištis yra tarp „Vcc“ ir „Gnd“ kaiščių. Modulis veikia esant 3,3 V įtampai, tačiau jį galima maitinti ir 5 V įtampa. Viršutiniame kairiajame kampe taip pat yra paleidimo kaiščio sąranka, kuri gali būti naudojama modulio veikimui dviem skirtingais režimais. Vienas yra „H“ režimas, kitas - „I“ režimas.
„H“ režime išvesties kaištis „Dout“ padidės (3,3 V), kai asmuo bus aptiktas diapazone ir po tam tikro laiko bus žemas (laiką nustato potenciometras). Šiuo režimu išvesties kaištis bus aukštas, neatsižvelgiant į tai, ar asmuo vis dar yra diapazone, ar paliko zoną. Mes naudojame savo modulį „H“ režimu savo projekte.
„I“ režime išvesties kaištis „Dout“ bus aukštas (3,3 V), kai asmuo bus aptiktas diapazone ir išliks aukštas tol, kol jis / ji neviršys jutiklių diapazono ribų. Kai asmuo palieka sritį, kaištis praeis žemai po tam tikro laiko, kurį galima nustatyti naudojant potenciometrą.
Pastaba: Potenciometrų ar kaiščių padėtis gali skirtis priklausomai nuo jūsų PIR jutiklio pardavėjo. Laikykitės šilko ekrano, kad nustatytumėte, ar esate prisirišę
ISD1820 Balso modulis:
ISD 1820 balso modulis yra puikus modulis, kuris gali pagardinti jūsų projektus pranešimais apie balsą. Šis modulis gali įrašyti garso įrašą 10 sekundžių ir tada, kai reikia, jį paleisti. Pats modulis yra su mikrofonu ir garsiakalbiu (8 omai 0,5 vatai), ir jis turėtų atrodyti maždaug taip, kaip parodyta žemiau.
Modulis veikia su + 5 V įtampa ir gali būti maitinamas naudojant bergo lazdeles kairėje. Apačioje taip pat yra trys mygtukai, kurie yra Rec. mygtuką, „PlayE“. mygtuką ir „PlayL“. mygtuką. Galite įrašyti savo balsą paspausdami Įrašyti. mygtuką ir paleiskite jį naudodami „PlayE“ mygtuką. „PlayL“ gros balsą tol, kol laikysite nuspaudę mygtuką. Sąsajoje su MCU ar ESP galime naudoti kaiščius kairėje. Šie kaiščiai yra toleruojami 3V-5V, todėl juos tiesiogiai gali valdyti „Arduino“ / ESP8266. Savo projekte valdome PLAYE kaištį naudodami ESP8266 modulio GPIO 0 kaištį. Kad aptiktą įsibrovėlį galėtume paleisti įrašytą balsą.
Schema ir techninė įranga
Visa šio IoT saugos sistemos projekto schema parodyta žemiau:
Grandinę sudaro du įtampos reguliatoriai. Vienas iš jų yra 3,3 V reguliatorius, suprojektuotas naudojant „LM317“, o kitas - 5 V reguliatorius, atliekamas naudojant „7805 Regulator IC“. LM317 yra kintamos įtampos reguliatorius, kurio išėjimas nustatomas į 3,3 V, naudojant 200ohm ir 330ohm rezistorius. Abu reguliatoriai maitinami naudojant 12 V adapterį. Šios grandinės energijos suvartojimas yra labai minimalus, todėl vietoj 12 V adapterio taip pat gali būti naudojama 9 V baterija.
PIR jutiklis ir balso modulis įjungiami, kai GPIO 2 kaištis yra aukštas. Šis kaištis pavers BC547 per 1k srovės ribotuvą ir užbaigs abiejų modulių maitinimo grandinę. Kaištis GPIO_0 naudojamas įvesties kaiščiui. Jis prijungtas prie „PIR“ jutiklio „Dout“ kaiščio per BC547 tranzistorių. Kai šis smeigtukas bus aukštas, mes suaktyvinsime el. Laišką, kuriame bus nurodytas įsilaužimas per mūsų „Arduino“ programą.
Išvesties kaiščių („Dout“, „GPIO_2“ ir „GPIO2“) šaltinio srovė yra mažesnė, todėl aš naudojau tranzistorių jiems valdyti. Taip pat ESP8266 GPIO kaiščių negalima įkelti, kai modulis įjungtas, kitaip modulis įeis į begalinę atstatymo ciklą. Norėdami to išvengti, aš įdėjau du jungiklius, kad laikinai juos atjungčiau.
Galite sulituoti pirmiau pateiktomis grandinėmis į „Perf“ lentą arba tiesiog naudoti duonos lentą. Aš naudoju moteriškas / vyriškas bergų lazdeles, kad galėčiau išvengti litavimo ant modulių. Kai tai bus padaryta, lenta turėtų atrodyti panašiai kaip žemiau
API sukūrimas el. Laiškams siųsti naudojant IFTTT:
Kai aparatinė įranga bus paruošta, galėsite sukurti API („Application Program Interface“), kuri gali siųsti el. Laišką tam tikru el. Pašto ID. Tai lengvai galima padaryti naudojant internetinę svetainę, vadinamą IFTTT.com. Taip pat apžvelgiau projektą, kuris galėtų siųsti SMS naudodamas ESP8266, o el. Paštą - naudodamas PIC mikrovaldiklį, kuris naudoja tas pačias IFTTT paslaugas.
Jei dar nenaudojote IFTTT, apsilankykite šios pamokos pabaigoje esančiame vaizdo įraše, jei esate susipažinę, atlikite šiuos veiksmus:
1. Prisijunkite prie savo IFTTT paskyros
2. Ieškokite „Maker Web hooks“ ir spustelėkite prisijungti
3. Dabar ieškokite „Gmail“, spustelėkite „Prisijungti“ ir atlikite veiksmus, kad suteiktumėte prieigą
4. Tada sukurkite programėlę spustelėdami My Applet-> New Applet.
5. Čia funkcija „Ši“ bus skirta žiniatinklio gamintojų paslaugoms, o „ta“ funkcija bus „Gmail“ paslaugos
6. Taigi spustelėkite „Tai“, ieškokite ir pasirinkite „Web Maker“ kabliai. Jis paprašys įvykio pavadinimo, kurį aš pavadinau savo įvykiu kaip „123“, galite pavadinti savo viską
7. Tada spustelėkite „Tai“, ieškokite ir pasirinkite „Gmail“, įveskite laiško temą ir turinį.
8. Įvedus visą reikiamą informaciją, „Apple“ turėtų būti paruošta ir ji turėtų atrodyti maždaug taip žemiau
9. Dabar ieškokite ir vėl patekite į „Web Maker Hooks“ ir spustelėkite „Documentation“. Tada po įvykio pavadinimu įveskite įvykio pavadinimą, kurį naudojome programėlėje. Mano atveju tai yra „123“ ir nukopijuokite URL, nes jo mums reikės mūsų „Arduino“ programoje. Žemiau URL turėtų patikti kažkas panašaus.
10. Galite spustelėti mygtuką „Išbandyti“, kad patikrintumėte, ar jūsų nuoroda veikia tinkamai, ir tai atlikę turėtumėte gauti bandomąjį paštą.
„Arduino“ programa
Šio projekto „Arduino“ programa yra paprasta ir lengva. Turime tiesiog priversti ESP veikti kaip AP ir STA. Tada naudodami HTML kodą sukurkite tinklalapį, kuriame galime GINKTI / IŠJUNGTI Signalizacijos sistemą. Pilnas kodas pateikiamas šios pamokos pabaigoje, kodas taip pat paaiškinamas naudojant komentarų eilutes. Toliau paaiškinamos svarbios eilutės.
const char * ssid = "BPAS namai"; // Čia įveskite savo Wifi SSID const char * password = "cracksen"; // Čia įveskite savo slaptažodį
Pirmiau pateiktoje kodo eilutėje pakeiskite SSID pavadinimą ir slaptažodį į savo maršrutizatoriaus SSID pavadinimą ir atitinkamą slaptažodį.
Jei norite sužinoti, prie kurio IP yra prijungtas jūsų ESP8266, galite tai sužinoti atidarydami nuoseklųjį monitorių, toliau nurodytos kodo eilutės atspausdins jūsų IP „Arduino IDE“ serijos monitoriuje.
Serial.println (""); Serial.print („Prisijungta prie“); Serial.println (ssid); Serial.print („IP adresas:“); Serial.println („WiFi.localIP“ ()); // Serijinis monitorius suteiks jūsų ESP modulio IP adresus
HTML kodas, kuris yra atsakingas už tinklalapio sukūrimą, pateiktas žemiau. Galite tinkinti savo tinklalapį naudodami savo kodą. Aš pakeičiau atsiliepimų dalį, kad galėčiau patvirtinti vartotoją, jei puslapis sėkmingai įkeltas.
// HTML kodas tinklalapiui // mainPage + = "
IOT pagrįsta apsaugos sistema
-CircuitDigest
Signalo būsena:
"; atsiliepimas ="Norėdami įjungti apsaugos sistemą, spustelėkite ARM
"; // HTML kodo pabaiga //Žemiau nurodytos kodo eilutės nustato, ką reikėtų daryti, kai signalizacija įjungta arba išjungta. Savo programoje pakeičiau HTML kodo grįžtamojo ryšio dalį ir padariau GPIO 2 kaištį HIGH / LOW pagal mygtuką, kaip parodyta žemiau
server.on ("/ switch2On", () {feedback = "
Signalizacija veikia ir veikia
"; // HTML kodo modifikavimas currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Įjungti PIR ir balso modulį power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Signalizacija neveikia
"; // HTML kodo modifikavimas currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Išjungti PIT ir balso modulį power_module = klaidingas; delsa (1000);});Kita svarbi eilutė, kurią reikia pakeisti, kad sistema veiktų tinkamai, yra URL eilutės eilutė. Čia įklijuojate eilutę (po „/ trigger“), kurią nukopijavote iš IFTTT svetainės. Aš žemiau parodžiau savo, bet čia nenaudoju savo API rakto
Eilutės URL = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Turi pakeisti jį į savo API URL
Likęs kodas yra savaime suprantamas, jei turite kokių nors abejonių, galite naudoti komentarų skyrių ir aš jums padėsiu.
Dirba
Kai būsite pasirengę aparatinei įrangai ir kodams, galėsite įkelti programą į savo ESP8266 modulį naudodami FTDI plokštę. Jei nesate tikri, kaip įkelti programas į ESP8266 naudojant „Arduino IDE“, apsilankykite šioje pamokoje.
Įkėlę programą spustelėkite serijinį monitorių ir toliau turėtumėte pamatyti kažką panašaus. Jei ne iš naujo nustatykite ESP8266 modulį ir bandykite dar kartą
Čia taip pat galite užsirašyti IP adresą, kuris yra priskirtas jūsų ESP8266 moduliui. Tada naudodamiesi IP galite įkelti tinklalapį į savo naršyklę ir iš ten įjungti / išjungti savo IoT apsaugos sistemą, kaip parodyta žemiau esančiame paveikslėlyje.
Patikrinę visa tai, dabar galite perkelti savo ESP8266 į „Perf“ plokštę ir ją įjungti, tada trumpai perjungti jungiklius, kaip parodyta vaizdo įraše.
Įjungę, galite naudoti IP, kad patektumėte į aukščiau pateiktą tinklalapį ir įjungtumėte „Securtiy“ sistemą. Įjungus PIR jutiklio kalibravimą, palaukite 50–60 sekundžių.
Dabar jūs esate pasirengęs veikti, galite palikti jį norimoje vietoje, o jei kas nors kirs tą vietą ir pateks į PIR jutiklio diapazoną, bus suaktyvintas balso pranešimas ir el. Paštas bus išsiųstas į jūsų el. Paštą Asmens tapatybės dokumentas su data ir laiku, kurį jis / ji kirto El. Paštas rodomas žemiau.
Taigi, viskas. Tikiuosi, kad jums patiko projektas ir jums patiks kurti save. Visas projekto darbas parodytas toliau pateiktame vaizdo įraše. Jei turite abejonių ar pasiūlymų, galite juos parašyti žemiau esančiame komentarų skyriuje, ir aš atsakysiu kiek įmanoma.