Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Ce este LEIDS?
LEIDS este un senzor IOT care se bazează în jurul ESP8266. Acest senzor folosește această placă, un circuit de blocare moale, un comutator reed și câțiva magneți pentru a crea un senzor de ușă care vă va trimite o alertă când ușa se deschide și se închide. Acest senzor poate fi conectat la serverul dvs. MQTT, IFTTT sau la multe alte cadre care acceptă ESP8266. Acest instructabil va folosi IFTTT pentru a crea cu ușurință un senzor care va trimite o alertă pe dispozitivul dvs. mobil indiferent unde vă aflați. Senzorul poate fi, de asemenea, configurat pentru a permite alerte multiple de la uși separate, cutii poștale, cuptoare și orice altceva care are o poziție fizică deschisă / închisă sau pornită / oprită. Avantajul LEIDS este că folosește energie minimă și folosește energie numai atunci când o ușă este deschisă, apoi când ușa este închisă, trimite un mesaj pentru a vă avertiza că ușa a fost închisă și se oprește. Acest lucru este mai bun decât modul adormit profund, deoarece nu folosește energie dacă ușa nu este deschisă.
Pasul 1: consumabile
Listele de mai jos prezintă instrumentele și piesele pe care le-am folosit pentru acest proiect. Senzorul poate fi reproiectat pentru a utiliza diferite părți și a arăta / funcționa diferit și doar pentru a utiliza concepte similare.
Instrumente:
- Ciocan de lipit
- ESP01-UART sau Arduino Uno (programator pentru ESP8266)
- Imprimantă 3D (opțional)
- Cabluri jumper (opțional)
- Breadboard (opțional)
Părți:
- ESP8266 ESP-01S x 1
- Reed Switch x 1 (de preferință NC, am putut găsi doar în mod normal deschis, așa că trebuie să folosesc doi magneți pentru a funcționa normal)
- Regulator AMS1117 3.3v
- 2n3904 Tranzistor NPN x 1
- P-Channel Mosfet x 1 (vrem ceva care să aibă un VGS scăzut, de preferință un NDP6020P)
- 3.7v 100 mAh baterie Lipo x 1
- Rezistoare asortate (100k ohm, 10k ohm, 220 ohm, 3k3 Ohm)
- Magneți de 6x3mm x 2
- Bandă de montaj pe două fețe
- Sârmă
- Solder
- Perfboard
Piese imprimate 3D:
Carcasă pentru senzor
Pasul 2: Circuit de blocare moale - Hardware
Circuitul de blocare soft pe care îl folosesc este o modificare a unei scheme pe care am găsit-o online. Nu sunt un expert și cred că există modalități mai bune de a construi acest circuit, dar în scopul meu acest circuit face treaba!
Modul în care funcționează este că, atunci când reedul comutat este închis de un câmp magnetic, acesta permite curentul tranzistorului NPN. Tranzistorul NPN motivează apoi mosfet-ul PNP, care permite curentului să curgă către ESP8266. ESP8266 pornește, folosește unul dintre pinii săi pentru a menține pământul mosfet PNP, care continuă să alimenteze ESP8266. Apoi, când ESP8266 se termină cu sarcinile sale, setează pinul de ieșire la LOW, care întrerupe tranzistorul NPN și închide poarta de pe mosfet-ul PNP.
Prin utilizarea unui astfel de circuit, ESP8266 poate fi alimentat de un comutator și apoi se poate opri complet prin semnal. Acest lucru permite circuitului să nu atragă curent când senzorul este închis / oprit.
Pasul 3: ESP8266 - Hardware
ESP8266 pe care îl folosesc va trimite un mesaj pentru a alerta când o ușă (sau alt lucru) este deschis și apoi va aștepta ca ușa să se închidă pentru a trimite un mesaj de închidere și să se închidă. ESP8266 va fi alimentat de circuitul de blocare moale și va utiliza un pin pentru a citi comutatorul reed și un alt pin pentru a se menține pornit și apoi pentru a se opri. Am ales să folosesc ESP-01 din cauza factorului de formă mic. ESP va trimite o solicitare web pentru a ne anunța când senzorul este schimbat în „deschis” și „închis”. Cea mai ușoară metodă pe care am găsit-o a fost să folosesc IFTTT și Google Sheets. Acest lucru este explicat în pașii următori.
Pasul 4: IFTTT pentru notificări la distanță - Partea 1
În acest instructable, vom folosi IFTTT și vom implementa webhook-uri și foi Google pentru a primi notificări de la distanță pe dispozitivul nostru mobil. Pentru a utiliza aceste servicii, veți avea nevoie de următoarele:
- Un cont Google
- Un cont IFTTT (poate / ar trebui să se conecteze cu contul Google)
- Aplicația IFTTT pentru dispozitivul dvs. mobil
Odată ce v-ați creat / conectat la conturile dvs., vom crea două applet-uri. Fotografiile din partea de sus a acestei secțiuni arată cum să manevrezi pagina web. Pașii următori sunt pentru primul applet, cererea declanșată de eveniment. Acest applet va primi un mesaj de la senzor și va salva evenimentul într-un document de foi Google. Apoi, puteți vizualiza istoricul senzorului și puteți vedea când a fost deschis și închis.
- Accesați linkul „Appletele mele” situat în partea de sus
- Faceți clic pe butonul „New Applet”
- Faceți clic pe butonul albastru „+ this”
- Căutați „webhooks” și faceți clic pe el
- În pagina următoare selectați cardul „Primiți o solicitare web”
- Apoi setați numele evenimentului la orice doriți, am ales să îl denumesc „senzor_activat”
- În pagina următoare, faceți clic pe butonul albastru „+ acel”
- Căutați serviciul „foi Google” și selectați-l
- În pagina următoare alegeți funcția „Adăugați rând la foaia de calcul”
-
Completați acțiunea după cum urmează:
- Numele foii de calcul, am numit-o pe a mea „Istoricul senzorilor”
-
Rândul formatat trebuie să arate după cum urmează
{{OccurredAt}} ||| {{Valoare1}} ||| {{Value2}}
- Lăsați ultimul câmp așa cum este, cu excepția cazului în care doriți să schimbați unde applet-ul va salva starea senzorului
- Apoi faceți clic pe „Creați acțiune”
- În cele din urmă, faceți clic pe „Finalizare” pe ecranul final
Acum, să testăm că funcționează
- Accesați acest link
- Apoi faceți clic pe butonul „Documentație” (vom folosi din nou această pagină „Documentație” mai târziu)
- Acum veți fi la propria secțiune personală pentru applet-ul IFTTT Webhooks
- Completați câmpul în care scrie „{event}” cu numele evenimentului dvs. în acest caz numele evenimentului este „sensor_activated”
- Acum completați câmpul „valoare1”, acesta este câmpul care va deține locația senzorului dvs., urmează să-l completez cu „Ușa din față”
- Acum completați câmpul „valoare2”, acesta este câmpul care va avea starea senzorului, urmează să-l completez cu „deschis” doar pentru testare
- Apoi faceți clic pe butonul albastru „Testați-l”
- Dacă totul a mers bine, atunci ar trebui să obțineți un „Eveniment a fost declanșat” verde. mesaj în partea de sus
- Acum, dacă doriți să vedeți cum a stocat mesajul dvs., vă puteți deschide foile Google și găsiți foaia de calcul pe care a adăugat-o, am atașat o imagine pentru a arăta cum va arăta foaia de calcul
Acum treceți la pasul următor adăugând un applet pentru a ne anunța modificarea stării.
Pasul 5: IFTTT pentru notificări la distanță - Partea 2
Acum vom adăuga un applet pentru a ne anunța când foaia de calcul de stare primește un rând adăugat; cu alte cuvinte, când senzorul declanșează un eveniment. Ca și înainte, vom crea un nou applet. Următorii pași vă vor ghida în crearea celui de-al doilea applet. Deoarece am făcut ceva similar în pasul anterior, voi adăuga doar diapozitivele care sunt diferite de acest pas.
- Accesați linkul „Appletele mele” situat în partea de sus
- Faceți clic pe butonul „New Applet”
- Faceți clic pe butonul albastru „+ this”
- Căutați „foi Google” și faceți clic pe el
- În pagina următoare, selectați cardul „Rând nou adăugat în foaia de calcul”
-
Apoi completați câmpurile pentru a indica foaia de calcul căreia îi scrie celălalt applet
- În acest exemplu calea este „IFTTT / MakerWebooks / sensor_activated”
- Numele fișierului este „Istoricul senzorului”
- În pagina următoare, faceți clic pe butonul albastru „+ acel”
- Căutați serviciul „notificări” și selectați-l
-
Acum trebuie să completăm câmpurile serviciului de notificare
-
Titlul este schimbat în
{{ColumnB}} a fost {{ColumnC}}
- Mesajul este setat la
{{ColumnB}} a fost {{ColumnC}} pe {{ColumnA}}
- Legătura este lăsată singură
-
- Apoi faceți clic pe „Creați acțiune”
- În cele din urmă, faceți clic pe „Finalizare” pe ecranul final
Pentru a testa a doua parte a sistemului de notificare IFTTT, asigurați-vă că ați descărcat aplicația IFTTT pe dispozitivul dvs. mobil și conectați-vă cu acreditările dvs. În cazul meu, mă autentific cu contul meu Google. Acum putem testa acest lucru revenind la pagina „Documentație” și declanșând testul cu numele evenimentului setat ca „senzor_activat”, câmpul „valoare1” setat la locație și câmpul „valoare2” setat la stare.
Aceasta ar trebui să vă trimită o notificare. Dacă nu primiți unul, asigurați-vă că sunteți conectat cu același cont și că ați permis aplicației să vă trimită notificări.
Pasul 6: Arduino IDE și Sketch
Software-ul utilizat pentru placă este compilat utilizând Arduino IDE.
Logica este următoarea:
- Comutatorul reed este închis prin deschiderea ușii
- ESP este apoi pornit și se conectează la WiFi
- Odată ce conexiunea WiFi este stabilită, trimite o solicitare http (trimite o comandă la internet) care ne spune că a fost deschisă o ușă sau altceva
- Apoi citește un semnal de la comutatorul reed pentru a determina dacă ușa a fost închisă
- Când placa ESP descoperă că întrerupătorul reed este deschis (adică ușa a fost închisă), acesta trimite o altă solicitare http care ne spune că ușa a fost închisă
- Apoi semnalizează circuitul de blocare moale pentru a întrerupe alimentarea plăcii
Descărcați Arduino IDE
Am atașat codul arduino la această secțiune pentru descărcare. Dacă nu aveți IDE-ul Arduino, îl puteți descărca online de la
Instalați managerul de bord adecvat
Pentru a încărca codul pe placa ESP, trebuie să instalați un manager de placă în IDE Arduino, urmând pașii următori.
- Accesați Fișier> Preferințe pentru a deschide fereastra de preferințe
- În fereastra de preferințe, găsiți câmpul care scrie „Adrese URL suplimentare pentru administratorul de bord”
- Lipiți următorul link în acest câmp https://arduino.esp8266.com/stable/package_esp8266com_index.json și apăsați butonul „OK”
- Acum deschideți managerul de forumuri accesând Instrumente> Board, apoi prima intrare va fi Managerul de forumuri
- Tastați „ESP8266” în meniul plăcii și instalați „esp8266”. Selectez versiunea 2.5.0 deoarece am avut unele probleme cu versiunile mai noi
- Acum reveniți și selectați placa dvs. din Instrumente> Placă> Modul ESP8266 generic
- Apoi închideți și redeschideți ideul arduino pentru a vă asigura că schimbările au avut loc
Deschideți schița în IDE-ul Arduino
Trebuie să modificăm patru linii ale codului, astfel încât senzorul să funcționeze pentru dvs.
- Schimbați SSID-ul pe WiFi-ul dvs. SSID, denumit și numele wifi-ului dvs.
- Schimbați parola pentru a se potrivi cu parola pentru wifi
- Schimbați adresa URL pentru a se potrivi cu adresa URL din pagina „Documentație” a serviciului „webhook”
- Schimbați locația senzorului în locul în care intenționați să-l amplasați, aceasta poate fi ușa din față, ușa din spate, cutia poștală etc.
Acum că ați modificat codul pentru a se potrivi nevoilor dvs., trebuie să îl încărcăm pe tablă. În cazul meu, folosesc un programator USB și urmez instrucțiunile pentru acesta. Acest lucru poate necesita o mulțime de depanare, așa că vă sugerez să căutați online pentru un tutorial mai aprofundat. În cazul meu, conectez ESP-01s la programator, apoi îl conectez la computer, apoi rotesc comutatorul de la uart la prog, în cele din urmă deconectez și reconectez programatorul. Acest lucru lasă acum ESP-ul în modul de programare. Acum fac doar clic pe butonul de încărcare și las finalizarea încărcării. Dacă doriți să vedeți dacă se conectează, puteți deschide monitorul serial și puteți consulta mesajele de stare. După ce ați încărcat schița, vom lipi totul împreună, îl vom pune într-o incintă și îl vom monta în locația dorită.
Pasul 7: Carcasă (imprimată 3D)
Am proiectat următoarea incintă pentru a găzdui toate componentele, pentru a permite amplasarea unui magnet și pentru a alinia comutatorul reed. A doua parte este folosită doar pentru a ține un al doilea magnet care va permite întrerupătorul să fie deschis și închis.
Odată ce toate componentele sunt lipite împreună le putem apăsa în jos în carcasă, dacă doriți, puteți adăuga un pic de adeziv fierbinte în partea de jos pentru a ține totul înăuntru. Apoi, trebuie să apăsați un magnet în carcasă cu electronica și să aliniați comutatorul Reed, după cum este necesar. Celălalt magnet trebuie apăsat în cealaltă incintă. Odată ce ambele incinte sunt finalizate, o putem testa punând cele două incinte împreună, apoi separându-le și aducându-le înapoi împreună. Acum ar trebui să primim două notificări, una pentru senzorul deschis și una pentru senzorul închis. Păstrați-i pe cei doi împreună pentru a împiedica scurgerea bateriei.
Atașați banda de montare pe partea din spate a senzorilor și aplicați-le pe locul dorit. Am montat-o pe a mea pe cutia poștală. Acum verificați dacă alinierea este corectă și că senzorul este capabil să trimită un mesaj deschis și închis.
Voila, acum ai propriul tău senzor pentru a te avertiza când este deschis și închis. Spuneți-mi dacă vă place și dacă este ceva ce simțiți că poate fi îmbunătățit.
De asemenea, trimit acest instructabil la concursul IOT, așa că asigurați-vă că vă place și votați pentru acest proiect și pentru orice alte proiecte IOT de care v-ați bucurat
Pasul 8: Îmbunătățiri viitoare
Pentru acest proiect am întâmpinat câteva probleme. Prima problemă pe care am întâlnit-o a fost utilizarea unui mosfet care avea un Vgs prea mare, așa că a trebuit să trec la altul. În al doilea rând, comutatorul reed pe care l-am folosit este în mod normal deschis și, în cazul meu, un comutator normal închis ar fi fost mai ușor de implementat și ar fi economisit mult spațiu. În cele din urmă, sp 01s a fost foarte greu de lucrat și a trebuit să mă încurc cu pinii gpio pentru a funcționa corect, dar am avut încă câteva probleme. Cred că acest proiect a reușit să mă învețe o mulțime de concepte și m-a ajutat să vin cu mai multe idei și implementări folosind plăcile esp8266 și IFTTT.
Runner Up în IoT Challenge
Recomandat:
Wattmetru Arduino - Tensiune, curent și consum de energie: 3 pași
Wattmeter Arduino - Tensiune, curent și consum de energie: Un dispozitiv poate fi utilizat pentru a măsura puterea consumată. Acest circuit poate acționa și ca voltmetru și ampermetru pentru a măsura tensiunea și curentul
Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)
Un monitor al calității aerului IoT la preț redus, bazat pe RaspberryPi 4: Santiago, Chile, în timpul unei urgențe de mediu de iarnă, au privilegiul de a trăi într-una dintre cele mai frumoase țări din lume, dar, din păcate, nu toate sunt trandafiri. Chile în timpul sezonului de iarnă suferă foarte mult cu contaminarea aerului, mai
Cum se măsoară corect consumul de energie al modulelor de comunicații fără fir în era consumului redus de energie ?: 6 pași
Cum se măsoară corect consumul de energie al modulelor de comunicații fără fir în era consumului redus de energie ?: Consumul redus de energie este un concept extrem de important în Internetul obiectelor. Majoritatea nodurilor IoT trebuie alimentate cu baterii. Numai prin măsurarea corectă a consumului de energie al modulului wireless putem estima cu exactitate câtă baterie i
PC multimedia / Server de fișiere de consum redus, reciclat: 6 pași
PC multimedia / Server de fișiere cu consum redus de energie, reciclat: utilizați o placă de bază mică, care poate colecta praful în garajul dvs., o mână de alte componente din cutia de gunoi a computerului și câteva coduri HTML simple și script, puneți împreună „Midnite Boy” (Mb). Mb-ul meu stă lângă televizorul meu, este controlat de
PC multimedia / Server de fișiere de consum redus, reciclat, # 2: 8 pași
PC multimedia / Server de fișiere cu consum redus de energie, reciclat, # 2: utilizați o placă de bază mică, care poate colecta praful în garajul dvs., o mână de alte componente din cutia de gunoi a computerului și câteva coduri simple HTML și script, puneți împreună MidniteBoy … Din nou! Aceasta este o altă versiune a unui proiect pe care îl postez