- Componente necesare
- Diagrama circuitului
- Configurare IFTTT pentru sonerie Wi-Fi
- Explicarea codului
- Carcasă imprimată 3D pentru clopoțel inteligent Wi-Fi
- Testarea soneriei Smart Wi-Fi
În prezent, sistemul de securitate este unul dintre cele mai cercetate domenii și, odată cu creșterea amenințărilor la adresa securității, companiile lansează noi produse inteligente de securitate pentru a combate aceste amenințări. IoT este un avantaj suplimentar în acest domeniu, care poate declanșa automat un eveniment, cum ar fi apelarea poliției, a pompierilor sau a vecinului dvs., în caz de urgență. Am construit anterior mai multe sisteme de securitate, cum ar fi sistemul de monitorizare a vizitatorilor Raspberry Pi, cameră de supraveghere video, sonerie fără fir, alarmă de securitate ușă bazată pe IoT etc. Astăzi vom folosi ESP32 și cameră pentru a construi un clopot inteligent pentru Wi-Fi.
Într-un alt tutorial, am aflat despre ESP32-CAM și cum să-l folosim pentru streaming video, acum vom face un sunet video Smart Wi-Fi folosind ESP32-CAM. Această sonerie inteligentă poate fi alimentată cu ușurință de o priză de curent alternativ și ori de câte ori cineva de la ușă apasă butonul soneriei, va reda o melodie specifică pe telefonul dvs. și va trimite un mesaj text cu un link de pagină de streaming video unde puteți vedea persoana la ușa de oriunde din lume.
Componente necesare
- ESP32-CAM
- Placă de programare FTDI
- Convertor 220V AC la 5V DC
- Buzzer
- Apasa butonul
- LED (2)
Diagrama circuitului
Diagrama circuitului pentru această sonerie Smart Wi-Fi este foarte simplă, conectați doar două LED-uri, un buton și un buzzer la pinii ESP32 GPIO. Un buzzer este folosit pentru a scoate un sunet ori de câte ori este apăsat butonul. Un LED este utilizat pentru a indica starea de alimentare, iar celălalt LED este utilizat pentru a indica starea rețelei. LED-ul de rețea va fi într-o stare înaltă dacă ESP este conectat la o rețea în caz contrar, va clipi.
Acesta este modul în care va arăta configurarea video a soneriei Wi-Fi în carcasa imprimată 3D:
Configurare IFTTT pentru sonerie Wi-Fi
IFTTT este un serviciu web gratuit care permite utilizatorilor să creeze lanțuri de declarații condiționale simple, numite „rețete”, care sunt declanșate pe baza modificărilor aduse altor servicii web, cum ar fi Gmail, Facebook, Instagram și. IFTTT este o abreviere a termenului „If This Then That”.
În acest proiect, IFTTT este utilizat pentru a trimite un e-mail ori de câte ori temperatura sau umiditatea depășesc o limită predefinită. Am folosit anterior IFTTT în multe proiecte bazate pe IoT pentru a trimite e-mailuri sau SMS-uri la anumite evenimente, cum ar fi consumul excesiv de energie electrică, rata de puls ridicată, intrarea intrusului etc.
Mai întâi conectați-vă la IFTTT cu acreditările dvs. sau Înscrieți-vă dacă nu aveți un cont pe acesta.
Acum căutați „Webhooks” și faceți clic pe secțiunea Webhooks în Servicii.
Acum, în fereastra Webhooks, faceți clic pe „Documentație” în colțul din dreapta sus pentru a obține cheia privată.
Copiați această cheie. Acesta va fi folosit în program.
După obținerea cheii private, acum vom crea un applet folosind serviciile Webhooks și Email. Pentru a crea un applet, faceți clic pe profilul dvs. și apoi faceți clic pe „ Creați ” . '
Acum, în fereastra următoare, faceți clic pe pictograma „Acesta” .
Acum căutați Webhooks în secțiunea de căutare și faceți clic pe ' Webhooks. '
Acum alegeți declanșatorul „ Primiți o solicitare web” și în fereastra următoare, introduceți numele evenimentului ca buton_presat și apoi faceți clic pe creați un declanșator.
Acum, pentru a finaliza applet-ul, faceți clic pe „That” pentru a crea o reacție pentru evenimentul button_pressed .
Aici vom reda o melodie specifică pe telefon când este apăsat butonul sonerie IoT. Pentru acea căutare a „dispozitivului Android” în secțiunea de căutare.
Acum, pe dispozitivul Android, alegeți declanșatorul „ Redați o melodie specifică” .
Acum introduceți titlul melodiei pe care doriți să o redați când este apăsat butonul soneriei. În cazul meu, redau o melodie numită „123” din muzica mea de pe Google. De asemenea, puteți utiliza Spotify sau alte aplicații muzicale.
După aceea, faceți clic pe „ Creați acțiune” și apoi pe „Finalizare” pentru a finaliza procesul.
Acum creați un alt applet pentru a trimite un mesaj cu linkul paginii web către telefon când este apăsat butonul soneriei.
Deci, pentru a crea acest applet, alegeți „ Webhooks ” în secțiunea „ această ” și în „acea” secțiune alegeți „ SMS Android ”.
Acum va cere să introduceți numărul de telefon și corpul mesajului. Pentru acest proiect de sonerie Wi-Fi, trimitem un mesaj cu link-ul Webserver, astfel încât să puteți vedea direct fluxul video live.
Explicarea codului
Codul complet împreună cu videoclipul acestei camere Wi-Fi cu sonerie este dat la sfârșitul acestui document. Poate fi descărcat și de aici. Mai jos vă explicăm câteva părți importante ale codului.
Mai întâi, includeți toate fișierele bibliotecii necesare pentru acest cod.
#include "esp_camera.h" #include
Apoi introduceți acreditările Wi-Fi.
const char * ssid = "Nume Wi-Fi"; const char * password = "Parola Wi-Fi";
După aceea, introduceți numele de gazdă IFTTT și cheia privată pe care ați copiat-o de pe site-ul web IFTTT.
const char * host = "maker.ifttt.com"; const char * privateKey = "Cheia dvs. privată";
Definiți toți pinii pe care îi utilizați în acest proiect. Folosesc pinii GPIO 2, 14 și 15 pentru a conecta butonul, LED-ul și buzzerul.
const int buttonPin = 2; const int led1 = 14; const int buzzer = 15;
În interiorul buclei de configurare nulă , definiți pinul butonului ca intrare și LED-urile și pinii buzzerului ca ieșire.
void setup () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (buzzer, OUTPUT);
Acesta va încerca să se conecteze la Wi-Fi folosind acreditările date, iar atunci când este conectat la o rețea, starea LED-ului se va schimba de la scăzut la mare.
WiFi.begin (ssid, parolă); int led = LOW; while (WiFi.status ()! = WL_CONNECTED) {întârziere (500); Serial.print ("."); digitalWrite (led1, led); led =! led; } Serial.println (""); Serial.println („WiFi conectat”); digitalWrite (led1, HIGH);
În timp ce este deconectat de la o rețea ESP32 va reporni până când se conectează la o rețea.
while (WiFi.status () == WL_DISCONNECTED) {ESP.restart (); digitalWrite (led1, LOW); Serial.print („Conexiune pierdută”);
ESP32 va citi starea butonului și dacă butonul este în starea LOW (tras în sus), adică a fost apăsat un buton, acesta trimite evenimentul și pornește buzzer-ul timp de 3 secunde.
int reading = digitalRead (buttonPin); if (buttonState == LOW) {send_event ("button_pressed"); Serial.print ("buton apăsat"); digitalWrite (buzzer, HIGH); întârziere (3000); digitalWrite (buzzer, LOW);
Carcasă imprimată 3D pentru clopoțel inteligent Wi-Fi
Aici am proiectat o carcasă imprimată 3D pentru această cameră fără fir cu sonerie. Pentru aceasta, am măsurat dimensiunile plăcii ESP32, butonului, butonului și LED-ului folosind etrierul meu vernier și designul arăta cam așa mai jos odată ce a fost făcut.
După aceea, l-am exportat ca fișier STL, l-am feliat pe baza setărilor imprimantei și, în cele din urmă, l-am imprimat. Fișierul STL este disponibil pentru descărcare de la Thingiverse și puteți imprima propria carcasă folosindu-l.
După ce am imprimat carcasa, am asamblat circuitul în carcasă și totul a fost potrivit, așa cum puteți vedea aici.
Dacă doriți să aflați mai multe despre o imprimantă 3D și cum funcționează, puteți citi acest articol din Ghidul pentru începători pentru a începe cu imprimarea 3D și puteți verifica și celelalte proiecte în care am folosit carcase tipărite 3D, cum ar fi robotul biped, brațul robotizat etc.
Testarea soneriei Smart Wi-Fi
După asamblarea circuitului, alimentați soneria utilizând o priză de curent alternativ. Acum, ori de câte ori este apăsat butonul sonerie IoT, smartphone-ul începe să redea o melodie numită „123” și va fi primit un mesaj cu un link al unei pagini web așa cum se arată mai jos, unde poate fi văzut fluxul video live.
Codul complet și videoclipul de lucru pentru această sonerie Smart Wi-Fi pot fi găsite la sfârșitul documentului sau puteți descărca codul de aici. Dacă aveți întrebări cu privire la acest proiect, lăsați-le în secțiunea de comentarii.