Cuprins:
- Provizii
- Pasul 1: Definiți-vă scenariul
- Pasul 2: (Introducere) Set Trigger - Mai mulți utilizatori
- Pasul 3: (Introducere) Setați declanșatorul - utilizatori limitați
- Pasul 4: (Configurare) - IFTTT
- Pasul 5: (Configurare) dispozitiv IOT * opțional *
- Pasul 6: (Configurare) IFTTT Webhook Api * Utilizatori experimentați *
- Pasul 7: (Configurare) IFTTT Webhook Api * Pentru începători cu fotografii *
- Pasul 8: (Cod) Programarea ESP32
- Pasul 9: (Cod) Încărcați codul pe ESP32
- Pasul 10: (Cod) Încărcați codul în ESP32 * opțional *
- Pasul 11: Plasați ESP și calibrați
- Pasul 12: Felicitări! Esti gata
Video: Senzor de prezență: 12 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Portabilele sunt de obicei dispozitive cu funcție BLE. Este obișnuit ca aceștia să facă publicitate periodic unor date de-a lungul adresei MAC. Folosim un ESP pentru a scana aceste date și a declanșa un eveniment prin internet atunci când găsește o anumită adresă MAC. Această implementare specială este pentru un singur utilizator pe o mufă inteligentă conectată la o lampă. Dar poate fi folosit și cu un set de dispozitive înregistrate cu orice tip de dispozitive activate IOT.
Provizii
- ESP32
- (opțional) TECKIN WiFi Wall Plug S10
- Dispozitiv activat BLE de orice fel
Pasul 1: Definiți-vă scenariul
Pentru declanșator, ați putea folosi majoritatea articolelor portabile moderne. Acesta poate fi un Apple Watch, o bandă mi fit, un telefon sau chiar propriul portabil DIY, bazat pe un ESP32.
Probabil unul dintre cei mai importanți pași. Trebuie să gândiți înainte în 3 lucruri:
1. Ce dispozitiv portabil sau dispozitiv va fi declanșatorul senzorului de proximitate.
2. Ce va declanșa senzorul (acest lucru se face prin IFTTT).
3. Când senzorul va declanșa
Pentru acest exemplu, voi folosi Apple Watch-ul meu pentru a declanșa o priză inteligentă pentru a aprinde o lampă când stau la birou.
În acest tutorial ne vom uita la un conector inteligent de la TECKIN. Îl puteți găsi la Amazon la un preț bun. De asemenea, este compatibil cu Alexa și google Home. De mare valoare!
Pasul 2: (Introducere) Set Trigger - Mai mulți utilizatori
Dacă doriți să configurați astfel încât să funcționeze orice persoană cu un dispozitiv activat BLE suficient de aproape de senzorul dvs., atunci săriți pasul următor. Acest lucru este destul de util, este setarea pe care o folosesc personal. Rețineți că acest senzor poate fi ușor piratat sau exploatat pentru a declanșa, așa că nu aș avea mare încredere dintr-o sticlă de suport de securitate; doar pentru unul practic (adică nu vreau să fie declanșat de computerul meu, deoarece va fi întotdeauna lângă senzor).
Pasul 3: (Introducere) Setați declanșatorul - utilizatori limitați
Acest pas variază foarte mult în funcție de configurare. Pentru a limita dispozitivele care pot declanșa senzorul, aveți multe trasee de limitat:
- Adresa MAC BLE (echivalentă cu adresa IP dintr-o rețea wifi. Motivul pentru care nu garantează securitatea, deoarece nu este adresa MAC reală a modulului. Pe dispozitivele iOS se schimbă de fiecare dată când reporniți Bluetooth, nu este atât de distractiv)
- Cod producător (opțiune mai bună, dar nici o modalitate de a limita anumite dispozitive de la același producător / model)
- Nume, Service UIDD (rară, dar cea mai bună opțiune, în principal portabile DIY sau poate o aplicație pentru Android)
Câteva note:
1. Dacă este un dispozitiv iOS:
- Aveți câteva argumente pro și contra importante. Pro, transmit nivelul de putere la care sunt date publicitare. Acest lucru este util în etapa de calibrare, veți găsi că utilizarea unui Apple Watch este utilă, deoarece transmite la 24 db, iPhone-uri și majoritatea dispozitivelor transmit la 12 db.
CON, va trebui să găsiți soluții alternative. Adresa MAC publicitară (metoda principală de identificare) se schimbă de fiecare dată când semnalul Bluetooth este repornit, ceea ce înseamnă că va trebui să încărcați codul de fiecare dată … nu este distractiv. Puteți utiliza datele producătorului, care pot varia între modele. Aceasta înseamnă că puteți limita, astfel încât să simtă „tot iPhone 8”.
2. Dacă este un dispozitiv Android:
- Eu personal nu am un dispozitiv Android. Dar există probabil multe aplicații care pot remedia adresa MAC sau chiar adăuga un nume personalizat (dacă așa doriți să mergeți). Pe dispozitivele iOS există o aplicație „nrf connect” care poate face acest lucru. Dar nu este persistent, adică dacă blocați ecranul sau comutați de aplicații.. configurația se oprește în câteva secunde.
3. Un alt ESP32. (cel mai bun pariu)
- Un cod simplu ca acesta poate fi implementat într-un dispozitiv ca acesta; o bandă inteligentă alimentată de esp32. Codul este de fapt un exemplu din biblioteca ESP BLE BLE_IBeacon.ino. Nu l-am testat prea mult, deoarece trupa mea inteligentă este expediată, probabil că va posta actualizări în curând.
Pasul 4: (Configurare) - IFTTT
Ok, deci, în această etapă, ar trebui să luați probabil toate dorințele fluxului de lucru. Aveți dispozitivul dvs. de declanșare, aveți un loc pentru a pune ESP-ul cu o conexiune wireless la internet și aveți în vedere o acțiune pe care IFTTT o poate automatiza.
IFTTT este puternic; Fie că este vorba doar de a trimite o notificare simplă pe dispozitivul dvs., doriți să fie trimis un tweet sau să porniți o bec cu o mufă inteligentă. În acest tutorial îl vom implementa pe ultimul cu mufe inteligente TECKIN compatibile cu IFTTT. Oricum, descărcați aplicația IFTTT sau accesați site-ul web IFTTT.com și creați un cont.
Asta este deocamdată!
Dacă doriți doar să trimiteți o notificare sau altceva decât conectorul Smart Life, puteți sări peste pasul următor.
Pasul 5: (Configurare) dispozitiv IOT * opțional *
Descărcați aplicația „Smart Life” din PlayStore (Android) sau AppStore (iOS). Instrucțiunile sunt destul de simple, deși procesul este puțin dificil. Am aflat în stadiul scanării (când butonul albastru clipea) s-a oprit la un moment dat, apoi l-am apăsat manual pentru a porni și a opri de câteva ori. Asta m-a ajutat. Oricum; configurarea acestui plug nu este nimic diferit cu aplicația noastră, deci dacă dețineți deja unul și îl aveți conectat la aplicația dvs., ar trebui să fiți gata să mergeți.
LUAȚI NOTĂ: Trebuie să puteți activa și dezactiva comutatorul din aplicație înainte de a trece de la acest pas. Asta va însemna că ați configurat corect mufa inteligentă.
Aplicația IFTTT ar trebui să se sincronizeze cu aplicația „Smart Life” fără probleme, provocând probabil o autentificare în timp ce creați un eveniment la pasul următor.
Pasul 6: (Configurare) IFTTT Webhook Api * Utilizatori experimentați *
Dacă nu ați folosit anterior aplicația IFTTT și nu vă simțiți atât de confortabil cu câțiva termeni tehnici, săriți acest pas pentru Ghidul detaliat (cu fotografii) la pasul următor.
1. Creați un eveniment nou.
2. Setați „this” pentru a fi un API webhook. Scrieți numele pe care l-ați setat la eveniment.
3. Setați „asta” la comportamentul dorit. Pentru conectarea inteligentă, căutați viața inteligentă și selectați „activați”.
4. Selectați mufa inteligentă și apăsați finisare.
5. În ecranul de start căutați cardul „webhooks”. După ce l-ați apăsat, apăsați „obțineți mai mult” în partea de jos.
6. Apăsați documentația. Aceasta vă va arăta cheia API, împreună cu un constructor și tester URL.
7. Utilizați de URL builder cu numele pe care l-ați scris la # 2. Copiați și scrieți.
8. Repetați dacă doriți să se declanșeze un comportament atunci când senzorul de prezență nu mai este activ. În cazul nostru, repetați numărul 3, dar selectați „opriți”. De asemenea, la numărul 2 numele ar trebui să fie, de asemenea, diferit de această dată.
Dacă ați terminat săriți pasul următor.
Pasul 7: (Configurare) IFTTT Webhook Api * Pentru începători cu fotografii *
Ghid detaliat * ghidul foto ar trebui să fie similar cu Android și pe web *
IFTTT este un flux de lucru simplu, dacă „acest lucru se întâmplă” atunci „asta se întâmplă”. Trebuie să creați unul nou, 1. în aplicație apăsați „obțineți mai mult” și se va afișa o listă.
2. Chiar sub bara de căutare a scrie „creați propriile applet-uri de la zero”, apăsați semnul Plus.
3. Apăsați „acest” semnul plus
În cazul nostru, „acesta” va fi un apel API prin internet. Un apel API este o consultare către o adresă URL, ca atunci când tastați o căutare pe Google și adresa URL este google.com/(un șir lung de caractere). Pentru a crea API-ul: (după ce ați apăsat "acest")
4. Căutați „webhooks”
5. Selectați singura opțiune
6. Denumiți evenimentul dvs. (în acest exemplu vom folosi „Sit”). Notează acest nume, foarte important.
7. Apăsați Create Trigger
Bine! suntem mai aproape, acum de partea „aia”. Pentru acest tutorial vom seta „that” pentru a porni mufa Smart. Dar puteți alege orice dintre IFTTT. O modalitate bună de a testa setarea este să selectați „notificări” care vă vor trimite o notificare pe telefonul dvs. de fiecare dată când senzorul se declanșează (sau se apelează API-ul, chiar și dintr-un browser web: util pentru testare!)
8. Apăsați „acel” semnul plus
9. Căutați „Smart Life” (sau „notificări”)
10. Apăsați „activați” (va trebui să repetați acești pași pentru a crea un alt eveniment pe care să îl dezactivați când plecați)
11. Dacă aveți ambele aplicații și fișa configurate corect, ar trebui să vă vedeți fișierul în meniul derulant „ce dispozitiv / grup.
12. Selectați Creați acțiune și apoi terminați.
Acum ar trebui să vedeți că evenimentul este conectat. Acum trebuie să obținem URL-ul API. Pentru aceasta:
13. Accesați ecranul de pornire IFTTT
14. Găsiți cardul Webhooks
15. Selectați „Obțineți mai multe”
16. Atingeți butonul Documentație. Ar trebui să vedeți o pagină web cu cheia dvs.
17. La substituenții „{event}” completați numele evenimentului dvs. (rețineți punctul 6)
18. Accesați partea de jos a paginii și atingeți „Testați-o”
Ceea ce probabil ar trebui să vedeți este un banner verde „evenimentul a fost declanșat” și ar trebui să vedeți dacă a funcționat sau nu. În cazul nostru, fișa ar trebui să se aprindă. Sau ar trebui să vedeți o notificare dacă ați decis să mergeți pe această cale. Poate dura ceva timp, dar nu mai mult de un minut pentru a vedea dacă ați reușit. Amintiți-vă că este probabil sensibil la majuscule.
19. În cele din urmă. Copiați adresa URL în care ați înlocuit numele evenimentului dvs. (la 17 ani) și salvați-l undeva în siguranță. Veți avea nevoie de asta în curând.
20. Repetați 1-12. La 6 vom folosi „Stand” de această dată. La 10, selectați „opriți”.
21. Repetați 13-18 dacă doriți, dar puteți scăpa de adresa URL pe care ați copiat-o la 19, dar acum schimbați locul în care ați scris „Sit” și înlocuiți-l cu „Stand”. Puteți testa acest lucru pe un browser web. Ar trebui să spună „Felicitări! Ați concediat evenimentul Stand '. Atunci ștecherul ar fi trebuit să se oprească.
Pasul 8: (Cod) Programarea ESP32
Puteți sări peste acest pas dacă vă simțiți confortabil să încărcați schițe din Arduino IDE pe placa ESP32. Nu uitați să setați o partiție de 2 mb pentru aplicație cel puțin, deoarece schița cântărește puțin peste 1,2 mb limită obișnuită.
Există multe tutoriale minunate, iată câteva dintre acestea pe care le recomand:
circuitdigest.com/microcontroller-projects…
Dar totuși, așa că nu sunteți atât de pierduți, voi defila câteva puncte cheie importante.
- ESP32 nu este o placă Arduino, dar poate fi programată de Arduino IDE. Cu cod Arduino simplu. Dar, va trebui totuși să configurați IDE pentru a funcționa cu ESP32.
- Va trebui să instalați unele biblioteci prin „Managerul de plăci suplimentare” la preferințe. Aceasta este adresa URL pe care ar trebui să o lipiți:
- (opțional, poate ajuta) La Instrumente-> Gestionați bibliotecile … -> (găsiți biblioteca BLE, în special)
- la Instrumente, ar trebui să aveți acum o listă lungă de dispozitive ESP, vă recomand modul ESP dev
- (IMPORTANT) Selectați (fără aplicație Ota 2mb / 2mb spif) la managerul de partiții. Acest pas este important, deoarece aplicația devine destul de grea ca produs al utilizării atât a conexiunilor wifi / http, cât și a unui scaner BLE.
Dacă ați făcut totul bine, ar trebui să puteți programa ESP32. Acum procesul de a face acest lucru este similar cu arduino în unele plăci. Conectați-l, selectați placa potrivită, portul USB și ați terminat. Dar, în multe alte cazuri, va trebui să continuați
Pasul 9: (Cod) Încărcați codul pe ESP32
Ok, dacă sunteți aici, înseamnă că ați încărcat cu succes o schiță pe placa ESP32, de preferință schița blink.ino.
Acum, iată codul principal atașat, îl puteți găsi și la repo GitHub. Trebuie să înlocuiți următoarele:
SSID - Numele dvs. wifi
PSK - Parola dvs. wifi
sit - URL-ul cu „Sit” din API-ul IFTTT pe care l-ați scris anterior
stand - Adresa URL cu „Stand” din API-ul IFTTT pe care l-ați scris anterior
Acum, apropiați dispozitivul de declanșare de bord și apoi încărcați codul. Apoi deschideți Serial Monitor (baud 115200) după ce ați încărcat cu succes codul.
Dacă intenționați să utilizați acest lucru cu orice tip de dispozitiv compatibil BLE, săriți pasul următor.
NOTĂ: dacă primiți mesaje de eroare de memorie, deoarece setările implicite lasă doar 1 mB de memorie (din cei 4 mB prezenți) pentru codul brut ESP. Lasă o porțiune pentru câteva lucruri ca opțiune de programare în aer. De obicei fac următoarele:
- la Tools, ar trebui să aveți acum o listă lungă de dispozitive ESP, vă recomand modul ESP32 dev-Selectați „fără aplicație Ota 2mb / 2mb spifs” la managerul de partiții.
Acest lucru îmi oferă spațiu de memorie dublu, necesar pentru această aplicație.
Pasul 10: (Cod) Încărcați codul în ESP32 * opțional *
Iată partea dificilă menționată la pasul „Setează declanșatorul”. Monitorul va afișa adresa MAC (ar trebui să arate ca ##: ##: ##: ##: ## unde # este fie un număr, fie o literă de la a la f), Codul producătorului și RSSI (un număr negativ). Aici trebuie să te joci puțin pentru a găsi care este dispozitivul tău. De obicei îl pun lângă tablă, astfel încât să văd clar care este cel mai mic număr. Debifez caseta „Autoscroll” pentru a putea copia valorile.
- Dacă este adresa Mac, completați „myDevice” cu ea. Apoi decomentați linia # 96 și comentariu linia # 95
- Dacă este numele, completați „dispozitivul meu” cu el. Apoi decomentați linia 97 și linia de comentarii 95
- Dacă este MaufactureData, deocamdată nu ai noroc, încă dezvolt această parte.
Pentru a adăuga suport pentru mai multe dispozitive, ar trebui să puteți copia declarația condițională fie la # 96, fie la # 97 și să le plasați una lângă alta în această sintaxă:
dacă ((condiția1) || (condiția2) || (condiția3)) {
Adăugați mai multe variabile (myDevice1, myDevice2, myDevice3) în consecință.
Pasul 11: Plasați ESP și calibrați
Aceasta este cea mai importantă parte a configurării. Trecerea cu atenție a acestui proces va fi diferența în faptul că funcționează ca magia sau doar îți va oferi dureri de cap puternice.
În acest moment, codul pe care l-ați încărcat funcționează cu parametrii pe care i-am testat personal și pe care îi folosesc zilnic cu telefonul meu de pe birou; nu înseamnă că va funcționa și pentru tine. Deci, trebuie să faceți calibrarea singur.
1. Plasați placa ESP32 în locația sa FIXĂ finală. Dacă mutați, dintr-un anumit motiv, poziția ESP32, probabil că ar trebui să faceți acest lucru din nou. Acest lucru vă va asigura o experiență bună în general.
1. (extra) rețineți că va trebui să vă puteți conecta la computer în timp ce faceți acest lucru. Dacă nu puteți, deoarece vă aflați pe un desktop, va trebui să faceți încercări și erori, ținând cont de faptul că fiecare încercare trebuie să fie aproape identică în poziționare, dispozitiv de declanșare și alți factori care ar putea conta.
2. Deschideți Serial Monitor cu codul rulat.
Codul va afișa în mod implicit prin intermediul monitorului serial RSSI (indicația de intensitate a semnalului recepționat) a fiecărui dispozitiv bluetooth găsit (sau doar a dispozitivelor care corespund parametrilor dvs.). Jucați puțin cu dispozitivul principal de acțiune (dispozitiv de declanșare). Trebuie să determinați care sunt pragurile pe care doriți să le utilizați. Reglarea atentă a acestei configurații va fi
3. Când determinați pragurile, înlocuiți-le aici:
- near_thrsh
- far_thrsh
4. Reîncărcați codul, testați și repetați până când veți găsi performanțe optime.
Câteva lucruri de luat în considerare:
1. Doriți aproximativ 20 db de diferență între praguri. Dacă near_thrsh este setat la 50, atunci se dorește ca far_thrsh să fie de 70 sau mai mult. Dacă diferența este prea mică, s-ar putea să găsiți unele distanțe sau locuri în care placa se declanșează și se oprește non stop. Creșterea acestei diferențe vă va asigura să evitați acest comportament nedorit. Am constatat personal că marja de 20 db este suficient de bună.
2. La testul de calibrare, pe cât posibil scenariile din viața reală, acest lucru va ajuta la determinarea celor mai bune performanțe.
3. Studiați clasa de la linia 82 a codului; aici se face toată logica. Totuși, codul este bine comentat. Simțiți-vă liber să întrebați la GitHub!
Pasul 12: Felicitări! Esti gata
Anunțați-mă în comentariile oricăror sugestii sau dacă aveți probleme. Nu uitați să verificați GitHub dacă problema dvs. a fost deja rezolvată!
Recomandat:
Detector de prezență pat Zigbee: 8 pași
Detector de prezență a patului Zigbee: De ceva timp am căutat o modalitate de a detecta când suntem în pat. Acest lucru pentru utilizarea acestor informații în Homeassistant. Cu aceste informații aș putea face automatizări pentru stingerea luminilor pe timp de noapte sau, de exemplu, să activez un sistem de alarmă în casa mea
Robot de prezență virtuală: 15 pași
Robot de prezență virtuală: Acest robot mobil interacționează cu mediul său fizic, reprezentând „prezența virtuală” a persoanei care o controlează de la distanță. Poate fi accesat de oricine, oriunde în lume, pentru a distribui delicatese și a se juca cu tine. Munca pe care
Tutorial Arduino MFRC522 - Eticheta RFID este prezentă sau eliminată ?: 6 pași
Tutorial Arduino MFRC522 - Este prezentă sau eliminată eticheta RFID ?: Acest tutorial este inițial postat pe tensiuni ridicate
Senzor de temperatură și prezență în ecranul de afișare. Maria Jose Oviedo: 7 pași
Senzor de temperatură și prezență în ecranul de afișare. Maria Jose Oviedo: În acest tutorial le voi arăta cum să conectați un senzor de temperatură și presiune în BMP180 cu ecranul de cristal. Este afișat într-o ecrană de lichid care arată informații ó n care se le da ordinea de a face. El sensor de temp
Senzor de prezență a patului cu SONOFF: 8 pași (cu imagini)
Senzor de prezență la pat cu SONOFF: Bine ați venit la acest tutorial! Cerințe preliminare Acest lucru vă cere să aveți cunoștințe despre sonoff și tasmota. Dacă nu ați lansat niciodată un sonoff cu tasmota, ar trebui mai întâi să învățați să faceți acest lucru și apoi doar voi îl veți putea construi. Dacă nu știți sonof