- Potrebni materiali:
- Pojasnilo modulov:
- Shema in strojna oprema
- Ustvarjanje API-ja za pošiljanje e-pošte z uporabo IFTTT:
- Program Arduino
- -CircuitDigest
- Delo
To je še en zanimiv projekt IOT, v katerem bomo zgradili varnostni sistem, ki lahko sproži e-pošto, ko nekoga zazna. Ta projekt združuje moč ESP8266, senzorja PIR in glasovnega modula ISD1820. Na koncu tega članka bi zgradili popolnoma funkcionalen varnostni sistem, ki ga je mogoče na daljavo aktivirati / deaktivirati (aktivirati / deaktivirati) prek interneta. Posnamete lahko svoj zvočni posnetek, ki se bo predvajal ob zaznanem gibanju, in pošljete e-pošto z datumom in časom na določen e-poštni ID, v katerem je naveden vdor. Dovolj kul….. !!! ??
Torej, zgradimo ga..
Potrebni materiali:
Materiali, potrebni za izdelavo tega projekta, so navedeni spodaj
- ESP8266
- PIR senzor
- Glasovni modul ISD1820
- LM317, LM7805
- BC547 (2St)
- Upori 1K, 200ohm, 330ohm
- 10uf in 0,1uf kondenzatorji
- 12V adapter / 9V baterija za napajanje nastavitve
Pojasnilo modulov:
Projekt vsebuje tri pomembne komponente, to so modul ESP8266, senzor PIR in glasovni modul ISD1820. Če ste seznanjeni s temi moduli, lahko ta del preskočite, da nadaljujete s shemami, če pa želite vedeti, kako delujejo, preberite naprej.
ESP8266 modul:
Prepričan sem, da bi kdaj naletel na ta modul. To je zelo znan in zmogljiv WiFi modul, ki se večinoma uporablja v IOT projektih.
Ta projekt predvideva, da znate programirati modul ESP8266, če ne, prosimo, obiščite spodnji dve vadnici, kjer sem vam razložil, kako začeti z ESP8266 in kako ga lahko programirate z uporabo Arduino IDE. To morate vedeti za dokončanje projekta.
- Uvod v ESP8266
- Programiranje ESP8266 z uporabo Arduino IDE
PIR senzor:
Senzor PIR pomeni pasivni infrardeči senzor. Je poceni senzor, ki lahko zazna prisotnost ljudi ali živali. V senzorju sta prisotna dva pomembna materiala, eden je piroelektrični kristal, ki lahko zazna toplotne podpise živega organizma (ljudje / živali), drugi pa so Fresnelove leče, ki lahko razširijo obseg senzorja. Tudi moduli senzorja PIR nam ponujajo nekaj možnosti za prilagoditev delovanja senzorja, kot je prikazano na spodnji sliki.
Dva potenciometra (oranžna barva) se uporabljata za nadzor občutljivosti in sprožitev časa senzorja. Dout zatič senzorja je v bistvu prisoten med zatiči Vcc in Gnd. Modul deluje na 3,3 V, vendar ga je mogoče napajati tudi s 5 V. V zgornjem levem kotu ima tudi nastavitev sprožilca, s katero lahko modul deluje v dveh različnih načinih. Eden je način "H", drugi pa način "I".
V načinu "H" se bo izhodni zatič Dout zvišal (3,3 V), ko bo oseba zaznana v dosegu, in bo po določenem času padel nizko (čas nastavi potenciometer). V tem načinu se bo izhodni zatič zvišal ne glede na to, ali je oseba še vedno prisotna znotraj območja ali je območje zapustila. V našem projektu uporabljamo naš modul v načinu "H".
V načinu "I" se bo izhodni zatič Dout dvignil visoko (3,3 V), ko bo oseba zaznana v dosegu, in bo ostal visok, dokler ostane znotraj meje območja senzorjev. Ko oseba zapusti območje, se zatič po določenem času, ki ga lahko nastavite s pomočjo potenciometra, spusti.
Opomba: Položaj potenciometrov ali zatičev se lahko razlikuje glede na prodajalca vašega senzorja PIR. Sledite Silk zaslonu, da boste ugotovili, ali ste izpisali
Glasovni modul ISD1820:
Glasovni modul ISD 1820 je res prijeten modul, ki bi lahko popestril vaše projekte z glasovnimi obvestili. Ta modul lahko 10 sekund snema zvočni posnetek in ga po potrebi predvaja. Sam modul ima mikrofon in zvočnik (8 ohmov 0,5 vata) in bi moral izgledati nekako tako, kot je prikazano spodaj.
Modul deluje na + 5V in se lahko napaja z berg palicami na levi. Spodaj ima tudi tri gumbe, ki so Rec. gumb, PlayE. in PlayL.. Glas lahko posnamete s pritiskom na tipko Rec. in jo predvajajte s pomočjo gumba PlayE. PlayL bo predvajal glas, dokler držite gumb. Pri povezovanju z MCU ali ESP lahko uporabimo zatiče na levi. Ti zatiči so sprejemljivi od 3V do 5V, zato jih lahko neposredno poganja Arduino / ESP8266. V našem projektu nadzorujemo zatič PLAYE s pomočjo zatiča GPIO 0 našega modula ESP8266. Tako da lahko predvajamo posneti glas, ko zaznamo vsiljivca.
Shema in strojna oprema
Popolna shema tega projekta varnostnega sistema IoT je prikazana spodaj:
Vezje je sestavljeno iz dveh napetostnih regulatorjev. Eden je 3,3 V regulator, zasnovan z uporabo LM317, drugi pa 5 V regulator, izdelan s pomočjo 7805 IC regulatorja. LM317 je spremenljiv regulator napetosti, katerega izhod je nastavljen na 3,3 V z uporabo uporov 200ohm in 330ohm. Oba regulatorja napaja 12V adapter. Poraba energije tega vezja je zelo majhna, zato lahko namesto 12V adapterja uporabite tudi 9V baterijo.
Senzor PIR in glasovni modul se vklopijo tako, da je GPIO 2 pin visok. Ta zatič bo BC547 pognal skozi upor za omejevanje toka 1 k in zaključil napajalni tokokrog za oba modula. Zatič GPIO_0 se uporablja kot vhodni zatič. Na tranzistor BC547 je povezan z izhodnim zatičem PIR senzorja. Ko bo ta pin visoko, bomo sprožili e-poštno sporočilo z vdori prek našega programa Arduino.
Izvorni tok izhodnih zatičev (Dout, GPIO_2 in GPIO2) je zelo manjši, zato sem za njihovo uporabo uporabil tranzistor. Tudi zatiči GPIO na ESP8266 se ne smejo naložiti, ko je modul vklopljen, sicer bo modul vstopil v neskončno zanko ponastavitve. Da bi se temu izognil, sem med vklopom postavil dve stikali, da ju začasno odklopim.
Zgornja vezja lahko spajkate na ploščo Perf ali preprosto uporabite ploščo. Uporabil sem ženske / moške berg palice, da se izognem spajkanju modulov. Ko končate, mora biti plošča videti nekako takole spodaj
Ustvarjanje API-ja za pošiljanje e-pošte z uporabo IFTTT:
Ko je strojna oprema pripravljena, lahko ustvarimo API (vmesnik aplikacijskega programa), ki lahko pošlje e-pošto na določen e-poštni ID. To lahko enostavno storite s pomočjo spletnega mesta IFTTT.com. Obravnaval sem tudi projekt, ki bi lahko pošiljal SMS-e z uporabo ESP8266 in e-pošto z mikrokrmilnikom PIC, ki uporablja iste storitve IFTTT.
Če še niste uporabljali IFTTT, obiščite video na koncu te vadnice, če ste seznanjeni, sledite spodnjim korakom
1. Prijavite se v svoj račun IFTTT
2. Poiščite »Maker Web hooks« in kliknite povezavo
3. Zdaj poiščite »Gmail«, kliknite povezavo in sledite navodilom za dostop
4. Nato ustvarite programček s klikom na Moj programček -> Nov programček.
5. Tukaj bo funkcija »Ta« namenjena storitvi spletnih izdelovalcev, »ta« pa bo storitev Gmail
6. Torej kliknite na "To", poiščite in izberite kljuke spletnega izdelovalca. Zahteval bo ime dogodka. Svoj dogodek sem poimenoval kot "123", svojega lahko poimenujete karkoli
7. Nato kliknite »To«, poiščite in izberite Gmail ter vnesite zadevo in telo pošte.
8. Ko vnesete vse zahtevane podrobnosti, mora biti Apple pripravljen in spodaj mora izgledati nekako tako
9. Zdaj poiščite in znova vstopite v Web Maker Hooks in kliknite »Dokumentacija«. Nato pod ime dogodka vnesite ime dogodka, ki smo ga uporabili v programu. V mojem primeru je "123" in kopirajte URL, saj ga bomo potrebovali v našem programu Arduino. URL bi moral biti všeč nekaj takega spodaj.
10. Lahko kliknete gumb »Preizkusi«, da preverite, ali povezava deluje pravilno, in bi morali s tem dobiti preskusno pošto.
Program Arduino
Program Arduino za ta projekt je preprost in enostaven. ESP moramo preprosto delovati kot AP in STA. Nato ustvarite spletno stran z uporabo kode HTML, kjer lahko VKLJUČIMO / IZKLJUČIMO alarmni sistem. Na koncu te vadnice je navedena celotna koda, ki je razložena tudi s pomočjo vrstic za komentarje. Nadalje so pomembne vrstice pojasnjene spodaj.
const char * ssid = "BPAS doma"; // Tu vnesite svoj Wifi SSID const char * password = "cracksen"; // Tu vnesite geslo
V zgornji vrstici kode spremenite ime SSID in geslo na ime SSID usmerjevalnika in njegovo ustrezno geslo.
Če želite ugotoviti, na kateri IP je povezan vaš ESP8266, ga lahko ugotovite tako, da odprete serijski monitor, naslednje vrstice kode bodo natisnile vaš IP na serijski monitor Arduino IDE.
Serial.println (""); Serial.print ("Povezan z"); Serial.println (ssid); Serial.print ("IP naslov:"); Serial.println (WiFi.localIP ()); // Serijski monitor bo dal IP naslov vašega modula ESP
Koda HTML, ki je odgovorna za izdelavo spletne strani, je navedena spodaj. Spletno stran si lahko prilagodite s svojo kodo. Del povratnih informacij sem spremenil, da sem potrdil uporabnika, če je bila stran uspešno naložena.
// HTML koda za spletno stran // mainPage + = "
IOT sistem, ki temelji na varnosti
-CircuitDigest
Stanje alarma:
"; povratne informacije ="Kliknite ARM, da omogočite varnostni sistem
"; // Konec kode HTML //Spodnje vrstice kode določajo, kaj je treba storiti, ko je alarm vključen ali izključen. V svojem programu sem spremenil del povratne informacije kode HTML in na podlagi gumba, kot je prikazano spodaj, naredil 2-polni GPIO VISOKO / NIZKO
server.on ("/ switch2On", () {feedback = "
Alarm je vklopljen in deluje
"; // sprememba kode HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // vklop PIR in glasovnega modula power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Alarm je izklopljen
"; // sprememba kode HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // izklop PIT in glasovnega modula power_module = false; zamuda (1000);});Druga pomembna vrstica, ki jo je treba spremeniti za pravilno delovanje sistema, je vrstica z nizom URL-jev. Vrstico (za ”/ sprožilec”), ki ste jo kopirali s spletnega mesta IFTTT, prilepite sem. Spodaj sem prikazal svojega, vendar ne uporabljam mojega ključa API, tukaj uporabite svojega
URL niza = "/ sprožilec / 123 / s / tipko / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Spremeniti ga morate v URL API-ja
Preostala koda je samoumevna, če dvomite, lahko uporabite odsek za komentarje in pomagal vam bom.
Delo
Ko ste pripravljeni na strojno opremo in kode, lahko program naložite na svoj modul ESP8266 z uporabo plošče FTDI. ČE niste prepričani, kako naložiti programe na ESP8266 z uporabo Arduino IDE, obiščite to vadnico.
Po nalaganju programa kliknite serijski monitor in spodaj bi morali videti nekaj takega. Če modula ESP8266 ne ponastavite, poskusite znova
Tu lahko zabeležite tudi naslov IP, ki je dodeljen modulu ESP8266. Nato lahko z IP-jem naložite spletno stran v brskalnik in od tam vključite / izključite varnostni sistem IoT, kot je prikazano na spodnji sliki.
Ko vse to preverite, lahko svoj ESP8266 prenesete na ploščo Perf in ga vklopite ter nato stikala vklopite, kot je prikazano v videu.
Po vklopu lahko z IP-jem vstopite na zgoraj prikazano spletno stran in omogočite sistem Securtiy. Po omogočanju počakajte 50–60 sekund, da se senzor PIR umeri.
Zdaj je projekt pripravljen na akcijo, lahko ga pustite na mestu, ki ga želite, in če ga kdo prečka in sodi v domet PIR senzorja, se sproži glasovno sporočilo in na vaš e-poštni naslov bo poslano e-sporočilo Osebni dokument z datumom in uro, ki jo je prečkal. E-pošta je prikazana spodaj.
Torej, to je to.. Upam, da vam je bil projekt všeč in boste uživali pri izdelavi svojega. Popolno delovanje projekta je prikazano v spodnjem videoposnetku. Če imate kakršne koli dvome ali predloge, jih lahko napišete v spodnjem oddelku za komentarje in odgovoril vam bom čim več.