Përmbajtje:

Sensori i pranisë: 12 hapa
Sensori i pranisë: 12 hapa

Video: Sensori i pranisë: 12 hapa

Video: Sensori i pranisë: 12 hapa
Video: Проклятый дом ЗЛО ИДЕТ СЮДА /СТРАШНЫЙ ПОЛТЕРГЕЙСТ/ The Cursed House EVIL IS COMING HERE /POLTERGEIST 2024, Nëntor
Anonim
Sensori i pranisë
Sensori i pranisë

Veshjet janë zakonisht pajisje të aktivizuara nga BLE. Isshtë e zakonshme që ata të reklamojnë periodikisht disa të dhëna përgjatë adresës së tij MAC. Ne përdorim një ESP për të skanuar këto të dhëna dhe për të shkaktuar një ngjarje përmes internetit kur të gjejë një adresë specifike MAC. Ky zbatim i veçantë është për një përdorues të vetëm në një prizë të zgjuar të lidhur me një llambë. Por gjithashtu mund të përdoret me një sërë pajisjesh të regjistruara me çdo lloj pajisje të aktivizuar IOT.

Furnizimet

  1. ESP32
  2. (opsionale) TECKIN WiFi Plug Muri S10
  3. Pajisja e aktivizuar nga BLE e çdo lloji

Hapi 1: Përcaktoni skenarin tuaj

Përcaktoni skenarin tuaj
Përcaktoni skenarin tuaj

Për këmbëzën, mund të përdorni shumicën e veshjeve moderne. Ky mund të jetë një Apple Watch, një brez mi fit, një telefon apo edhe një pajisje e veshur me DIY bazuar në një ESP32.

Ndoshta një nga hapat më të rëndësishëm. Duhet të mendoni përpara në 3 gjëra:

1. Cila pajisje e veshur ose pajisje do të jetë shkas i sensorit të afërsisë.

2. Çfarë do të shkaktojë sensorin (kjo bëhet përmes IFTTT).

3. Kur sensori do të shkaktojë

Për këtë shembull, unë do të përdor Apple Watch tim për të shkaktuar një prizë të zgjuar për të ndezur një llambë kur ulem në tryezën time.

Në këtë tutorial do të shikojmë një prizë të zgjuar nga TECKIN. Mund ta gjeni në amazon me një çmim të mirë. Isshtë gjithashtu në përputhje me Alexa dhe google Home. Vlera të mëdha!

Hapi 2: (Hyrje) Set Trigger - Përdorues të shumtë

Nëse dëshironi të konfiguroni në mënyrë që të funksionojë çdo person me një pajisje të aktivizuar BLE mjaft afër sensorit tuaj, atëherë kaloni hapin tjetër. Kjo është mjaft e dobishme, është cilësimi që unë personalisht përdor. Mbani në mend se ky sensor mund të hackohet lehtë ose të shfrytëzohet për të shkaktuar kështu që nuk do të besoja shumë nga një gotë e sigurisë; vetëm për një praktike (p.sh., nuk dua që ajo të nxitet nga kompjuteri im pasi do të jetë gjithmonë pranë sensorit).

Hapi 3: (Hyrje) Set Trigger - Përdorues të Kufizuar

Ky hap ndryshon shumë në konfigurimin tuaj. Për të kufizuar se cilat pajisje mund të shkaktojnë sensorin keni shumë rrugë për të kufizuar:

- Adresa BLE MAC (ekuivalente me adresën IP në një rrjet wifi. Arsyeja pse nuk garanton siguri pasi nuk është adresa MAC e vërtetë e modulit. Në pajisjet iOS ndryshon sa herë që rinisni bluetooth -in, jo aq argëtues)

- Kodi i Prodhuesit (opsion më i mirë, por asnjë mënyrë për të kufizuar pajisjet specifike nga i njëjti prodhues/model)

- Emri, Shërbimi UIDD (i rrallë, por opsioni më i mirë, kryesisht veshje DIY ose ndoshta një aplikacion android)

Disa Shënime:

1. Nëse është një pajisje iOS:

- Ju keni disa të mira dhe të këqija të rëndësishme. Pro, ata transmetojnë nivelin e fuqisë në të cilën janë të dhënat e reklamave. Kjo është e dobishme në fazën e kalibrimit, do të zbuloni se përdorimi i një Apple Watch është i dobishëm pasi transmeton në 24db, iPhone dhe shumica e pajisjeve transmetojnë në 12db.

CON, do t'ju duhet të gjeni zgjidhje. Adresa MAC e reklamuar (metoda kryesore e identifikimit) ndryshon sa herë që sinjali bluetooth riniset, që do të thotë se do të duhet të ngarkoni kodin çdo herë … jo argëtues. Ju mund të përdorni të dhënat e prodhuesit të cilat mund të ndryshojnë midis modeleve. Kjo do të thotë që ju mund të kufizoni në mënyrë që të ndiejë "të gjithë iPhone 8".

2. Nëse është një pajisje Android:

- Unë personalisht nuk kam një pajisje android. Por ndoshta ka shumë aplikacione që mund të rregullojnë adresën MAC ose edhe të shtojnë një emër të personalizuar (nëse kjo është rruga që dëshironi të shkoni). Në pajisjet iOS ekziston një aplikacion "nrf connect" që mund ta bëjë këtë. Por nuk është këmbëngulës, do të thotë nëse mbyllni ekranin ose ndërroni aplikacionet.. konfigurimi fiket në disa sekonda.

3. Një tjetër ESP32. (basti juaj më i mirë)

- Një kod i thjeshtë si ky mund të zbatohet në një pajisje si kjo; një brez i zgjuar i mundësuar nga esp32. Kodi është në të vërtetë një shembull nga biblioteka ESP BLE BLE_IBeacon.ino. Unë nuk e kam testuar shumë pasi grupi im i zgjuar është në transport, ndoshta do të postoj përditësime së shpejti.

Hapi 4: (Konfigurimi) - IFTTT

(Konfigurimi) - IFTTT
(Konfigurimi) - IFTTT

Ok, kështu që në këtë fazë ju ndoshta duhet të merrni të gjitha dëshirat e rrjedhës tuaj të punës. Ju keni pajisjen tuaj nxitëse, keni një vend për të vendosur ESP me një lidhje pa tel në internet dhe keni një veprim në mendje që IFTTT mund të automatizohet.

IFTTT është i fuqishëm; pavarësisht nëse është vetëm për të dërguar një njoftim të thjeshtë në pajisjen tuaj, ju doni të dërgoni një cicërimë ose ndizni një llambë me një prizë të zgjuar. Në këtë tutorial ne do të zbatojmë atë të fundit me priza inteligjente TECKIN të pajtueshme me IFTTT. Sido që të jetë, shkarkoni aplikacionin IFTTT ose shkoni në ueb IFTTT.com dhe krijoni një llogari.

Kjo është ajo për tani!

Nëse thjesht dëshironi të dërgoni një njoftim ose diçka tjetër përveç prizës Smart Life, mund të kaloni hapin tjetër.

Hapi 5: (Konfigurimi) Pajisja IOT *opsionale *

Shkarkoni aplikacionin "Smart Life" nga PlayStore (android) ose AppStore (iOS). Udhëzimet janë shumë të drejtpërdrejta, megjithëse procesi është pak i ndërlikuar. E zbulova në fazën e skanimit (kur butoni blu po ndizte) ndaloi në një moment, pastaj e shtyva me dorë që të ndizet dhe fiket disa herë. Kjo më ndihmoi. Gjithsesi; konfigurimi i këtij priza nuk është asgjë i ndryshëm me aplikacionin tonë, kështu që nëse tashmë keni një të tillë dhe e keni të lidhur me aplikacionin tuaj, duhet të jeni gati për të shkuar.

KUJDES: Duhet të jeni në gjendje të ndizni dhe fikni çelësin nga aplikacioni para se të vazhdoni nga ky hap. Kjo do të thotë që ju keni konfiguruar saktë prizën e zgjuar.

Aplikacioni IFTTT duhet të sinkronizohet me aplikacionin "Smart Life" pa probleme, ndoshta duke shkaktuar një vërtetim ndërsa krijoni një ngjarje në hapin tjetër.

Hapi 6: (Konfigurimi) IFTTT Webhook Api *Përdorues me përvojë *

(Konfigurimi) IFTTT Webhook Api *Përdorues me përvojë *
(Konfigurimi) IFTTT Webhook Api *Përdorues me përvojë *

Nëse nuk e keni përdorur më parë aplikacionin IFTTT dhe nuk jeni aq të kënaqur me disa terma teknikë, kaloni këtë hap për Udhëzuesin e Hollësishëm (me fotografi) në hapin tjetër.

1. Krijoni një ngjarje të re.

2. Vendosni "këtë" të jetë një api webhook. Shkruani emrin që i keni vënë ngjarjes.

3. Vendosni "atë" në sjelljen tuaj të dëshiruar. Për prizën inteligjente kërko jetën e zgjuar dhe zgjidh 'ndez'.

4. Zgjidhni prizën tuaj të zgjuar dhe shtypni finish.

5. Në ekranin kryesor kërkoni kartën 'webhooks'. Pasi ta keni shtypur atë, shtypni "merrni më shumë" në fund.

6. Dokumentacioni i shtypit. Kjo do t'ju tregojë çelësin tuaj api së bashku me një krijues dhe testues URL.

7. Përdorni ndërtuesin e URL -ve me emrin që keni shkruar në numrin 2. Kopjoni atë dhe shkruani.

8. Përsëriteni nëse doni që një sjellje të nxitet kur sensori i prezencës nuk është më aktiv. Në rastin tonë, përsëritni numrin 3, por zgjidhni "fik". Gjithashtu, në numrin 2 emri duhet të jetë ndryshe këtë herë.

Nëse keni mbaruar, kaloni hapin tjetër.

Hapi 7: (Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *

(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *
(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *
(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *
(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *
(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *
(Konfigurimi) IFTTT Webhook Api *Për fillestarët me fotografi *

Udhëzues i detajuar *udhëzuesi i fotografive duhet të jetë i ngjashëm me android dhe në ueb *

IFTTT është një rrjedhë e thjeshtë pune, nëse "kjo ndodh" atëherë "që ndodh". Ju duhet të krijoni një të re, 1. në aplikacion shtypni "merrni më shumë" dhe do të shfaqet një listë.

2. Pikërisht nën shiritin e kërkimit a thotë "bëni apletat tuaj nga e para", shtypni shenjën Plus.

3. Shtypni "këtë" shenjë plus

Në rastin tonë "kjo" do të jetë një thirrje api përmes internetit. Një thirrje api është një konsultë për një URL, si kur shkruani një kërkim në Google dhe url është google.com/(një varg i gjatë karakteresh). Për të krijuar api: (pasi të keni shtypur "këtë")

4. Kërko "lidhëset e uebit"

5. Zgjidhni opsionin e vetëm

6. Emërtoni ngjarjen tuaj (në këtë shembull ne do të përdorim "Uluni"). Shkruani këtë emër, shumë i rëndësishëm.

7. Shtypni Krijo shkas

Ne rregull! jemi më afër, Tani te pjesa "ajo". Për këtë tutorial ne do të vendosim "atë" për të ndezur prizën Smart. Por ju mund të zgjidhni gjithçka nga IFTTT. Një mënyrë e mirë për të testuar konfigurimin është të zgjidhni "njoftimet" të cilat do të dërgojnë një njoftim në telefonin tuaj sa herë që ndizet sensori (ose api thirret, madje edhe nga një shfletues uebi: i dobishëm për testim!)

8. Shtypni "atë" shenjën plus

9. Kërko "Smart Life" (ose "njoftime")

10. Shtypni "ndez" (do t'ju duhet të përsërisni këto hapa për të krijuar një ngjarje tjetër për t'u fikur kur largoheni)

11. Nëse i keni të dyja aplikacionet dhe prizën e konfiguruar saktë, duhet ta shihni prizën tuaj në rënie 'cila pajisje/grup.

12. Zgjidhni Krijo veprim dhe më pas përfundoni.

Tani duhet të shihni që ngjarja është e lidhur. Tani duhet të marrim URL -në e api -t. Për këtë:

13. Shkoni në ekranin bazë të IFTTT

14. Gjeni kartën Webhooks

15. Zgjidhni "Merrni Më shumë"

16. Trokitni lehtë mbi butonin e Dokumentacionit. Ju duhet të shihni një faqe në internet me çelësin tuaj.

17. Në vendmbajtësit "{event}" plotësoni emrin e ngjarjes tuaj (mbani mend pikën 6)

18. Shkoni në fund të faqes dhe trokitni lehtë mbi "Provojeni"

Ajo që ndoshta duhet të shihni është një flamur i gjelbër "ngjarja është shkaktuar" dhe duhet të shihni nëse funksionoi apo jo. Në rastin tonë priza duhet të ndizet. Ose duhet të shihni një njoftim nëse keni vendosur të shkoni në atë rrugë. Mund të duhet pak kohë, por jo më shumë se një minutë për të parë nëse ia keni dalë. Mbani mend që ndoshta është i ndjeshëm ndaj shkronjave të mëdha.

19. Së fundi. Kopjoni url -në ku zëvendësuat emrin e ngjarjes tuaj (në 17 vjeç) dhe ruajeni diku të sigurt. Ju do të keni nevojë për këtë së shpejti.

20. Përsëriteni 1-12. Në 6 ne do të përdorim "Stand" këtë herë. Në 10 zgjidhni "fik" në vend.

21. Përsëritni 13-18 nëse dëshironi, por mund të shpëtoni nga url-ja që keni kopjuar në 19, por tani ndryshoni vendin ku keni shkruar "Uluni" dhe zëvendësojeni me "Qëndroni". Ju mund ta provoni këtë në një shfletues uebi. Duhet të thuhet 'Urime! Ju keni shkarkuar ngjarjen e Stand -it '. Pastaj priza duhet të ishte fikur.

Hapi 8: (Kodi) Programimi i ESP32

(Kodi) Programimi i ESP32
(Kodi) Programimi i ESP32

Ju mund ta kaloni këtë hap nëse ndiheni rehat duke ngarkuar skica nga Arduino IDE në Bordin tuaj ESP32. Mos harroni të vendosni një ndarje prej 2mb për aplikacionin të paktën pasi pesha e skicës është pak më shumë se 1.2mb kufiri i zakonshëm.

Ka shumë mësime të shkëlqyera atje, këtu janë disa prej të cilave unë rekomandoj:

circuitdigest.com/microcontroller-projects…

Por prapëseprapë, kështu që ju nuk jeni aq të humbur, unë do të analizoj disa pika kryesore të rëndësishme.

- ESP32 nuk është një bord Arduino, por akoma mund të programohet nga Arduino IDE. Me kod të thjeshtë Arduino. Por, ju ende do të keni nevojë të konfiguroni IDE për të punuar me ESP32.

- Do t'ju duhet të instaloni disa biblioteka përmes 'Menaxherit të bordeve shtesë' sipas preferencave. Kjo është URL -ja që duhet të ngjisni:

-(opsionale, mund të ndihmojë) Tek Mjetet-> Menaxhoni Bibliotekat … -> (gjeni esp bibliotekën BLE)

- te Tools, tani duhet të keni një listë të gjatë të pajisjeve ESP, unë rekomandoj modulin ESP32 dev

- (E RORTNDSISHME) Zgjidhni (pa aplikacion Ota 2mb/2mb spifs) në menaxherin e ndarjes. Ky hap është i rëndësishëm pasi aplikacioni bëhet mjaft i rëndë si produkt i përdorimit të të dy lidhjeve wifi/http si dhe një skaneri BLE.

Nëse keni bërë gjithçka siç duhet, duhet të jeni në gjendje të programoni ESP32. Tani procesi për ta bërë këtë është i ngjashëm me arduino në disa borde. Lidheni atë, zgjidhni tabelën që përputhet, portën USB dhe ju jeni gati. Por, në shumë raste të tjera do të duhet të vazhdoni

Hapi 9: (Kodi) Ngarko kodin në ESP32

(Kodi) Ngarko kodin në ESP32
(Kodi) Ngarko kodin në ESP32

Ok, nëse jeni këtu, kjo do të thotë që keni ngarkuar me sukses një skicë në tabelën ESP32, mundësisht skicën blink.ino.

Tani, këtu është kodi kryesor i bashkangjitur, gjithashtu mund ta gjeni në repon e GitHub. Ju duhet të zëvendësoni sa vijon:

SSID - Emri juaj wifi

PSK - Fjalëkalimi juaj wifi

sit - URL me "Uluni" nga api IFTTT që keni shkruar më herët

stand - URL me "Stand" Nga api IFTTT që keni shkruar më herët

Tani merrni pajisjen tuaj të shkrepjes afër tabelës dhe më pas ngarkoni kodin. Pastaj hapni Monitorin Serial (baud 115200) pasi të keni ngarkuar me sukses kodin.

Nëse planifikoni ta përdorni këtë me çdo lloj pajisjeje të aktivizuar me BLE, kaloni hapin tjetër.

SH NOTNIM: nëse merrni mesazhe gabimi të kujtesës, sepse cilësimet e paracaktuara lënë vetëm 1mB memorie (nga 4mB të pranishme) për kodin e papërpunuar ESP. Ajo lë një pjesë për disa gjëra si një mundësi për të programuar në ajër. Unë zakonisht bëj sa më poshtë:

- te Tools, tani duhet të keni një listë të gjatë të pajisjeve ESP, unë rekomandoj modulin ESP32 dev- Zgjidhni 'no Ota 2mb app/2mb spifs' në menaxherin e ndarjes.

Kjo më jep hapësirë të dyfishtë të kujtesës, të nevojshme për këtë aplikacion.

Hapi 10: (Kodi) Ngarko kodin në ESP32 *opsional *

(Kodi) Ngarko kodin në ESP32 *opsional *
(Kodi) Ngarko kodin në ESP32 *opsional *

Këtu është pjesa e ndërlikuar e përmendur në Hapin "Vendosni këmbëzën". Monitori do të nxjerrë adresën MAC (duhet të duket si ##: ##: ##: ##: ## ku#është ose një numër ose një shkronjë nga a në f), Kodi i prodhuesit dhe RSSI (një numër negativ) Këtu ju duhet të luani pak për të gjetur se cila është pajisja juaj. Zakonisht e vendos pranë tabelës në mënyrë që të shoh qartë se cili është numri më i vogël. Unë e heq kutinë 'autoscroll' në mënyrë që të kopjoj vlerat.

  • Nëse është Adresa Mac, mbushni 'myDevice' me të. Pastaj mos komentoni rreshtin #96 dhe rreshtin e komenteve #95
  • Nëse është Emri, mbushni 'myDevice' me të. Pastaj komentoni rreshtin #97 dhe rreshtin e komenteve #95
  • Nëse janë të Dhënat e Prodhimit ju nuk keni fat tani për tani, unë jam ende duke e zhvilluar atë pjesë.

Për të shtuar mbështetje për pajisjet maj ju duhet të jeni në gjendje të kopjoni deklaratën kondicionale ose në #96 ose #97 dhe t'i vendosni pranë njëri -tjetrit në këtë sintaksë:

nëse ((kushti1) || (gjendja2) || (gjendja3)) {

Shtoni më shumë ndryshore (myDevice1, myDevice2, myDevice3) në përputhje me rrethanat.

Hapi 11: Vendosni ESP dhe Kalibroni

Vendosni ESP dhe Kalibroni
Vendosni ESP dhe Kalibroni

Kjo është pjesa më e rëndësishme e konfigurimit. Kalimi me kujdes i këtij procesi do të jetë një ndryshim në atë që punon si magji ose thjesht ju shkakton dhimbje koke të forta.

Në këtë pikë kodi që keni ngarkuar po punon me parametrat që i kam testuar personalisht dhe i përdor çdo ditë me telefonin tim në tryezën time; nuk do të thotë se do të funksionojë edhe për ju. Kështu që ju duhet ta bëni vetë kalibrimin.

1. Vendoseni Bordin ESP32 në vendndodhjen e tij përfundimtare FIKS. Nëse lëvizni për ndonjë arsye pozicionin e ESP32 tuaj, ndoshta duhet ta bëni këtë përsëri. Kjo do t'ju sigurojë një përvojë të mirë në përgjithësi.

1. (shtesë) mbani në mend se do t'ju duhet të jeni në gjendje të lidheni me kompjuterin tuaj ndërsa e bëni këtë. Nëse nuk mundeni sepse jeni në një desktop ju do të duhet të bëni prova dhe gabime duke pasur parasysh se çdo gjykim duhet të jetë pothuajse identik në pozicionimin, aktivizimin e pajisjes dhe faktorë të tjerë që mund të vijnë për t'u numëruar.

2. Hapni Serial Monitor me kodin që funksionon.

Kodi si parazgjedhje do të postojë përmes Monitorit Serial RSSI (Treguesi i fuqisë së sinjalit të marrë) të secilës pajisje të gjetur bluetooth (ose vetëm pajisjes (ve) që përputhen me parametrat tuaj). Luani pak me pajisjen tuaj kryesore të veprimit (pajisja nxitëse). Ju duhet të përcaktoni se cilat janë pragjet që dëshironi të përdorni. Duke rregulluar me kujdes këtë konfigurim do

3. Kur përcaktoni pragjet, zëvendësojini ato këtu:

  • afer_thrsh
  • larg_thrsh

4. Ngarkoni përsëri kodin, provoni dhe përsëritni derisa të gjeni performancën optimale.

Disa gjëra që duhen marrë parasysh:

1. Ju dëshironi rreth 20db diferencë midis pragjeve. Nëse afërsia_thrsh është vendosur në 50, atëherë dëshirohet që distanca e largët të jetë 70 ose më shumë. Nëse ndryshimi është shumë i shkurtër, atëherë mund të gjeni disa distanca ose vende ku tabela ndizet dhe fiket pa pushim. Rritja e këtij ndryshimi do t'ju sigurojë që të shmangni këtë sjellje të padëshirueshme. Kam gjetur personalisht se 20db diferencë është mjaft e mirë.

2. Në testin e kalibrimit skenarët e jetës reale sa më shumë që të jetë e mundur, kjo do të ndihmojë në përcaktimin e performancës më të mirë.

3. Studioni klasën në rreshtin 82 të kodit; këtu është bërë e gjithë logjika. Kodi është i komentuar mirë edhe pse. Mos ngurroni të pyesni në GitHub!

Hapi 12: Urime! Ju jeni bërë

Më tregoni në komentet e çdo sugjerimi ose nëse keni probleme. Mos harroni të kontrolloni GitHub nëse çështja juaj është zgjidhur tashmë!

Recommended: