Tartalomjegyzék:

Jelenlét érzékelő: 12 lépés
Jelenlét érzékelő: 12 lépés

Videó: Jelenlét érzékelő: 12 lépés

Videó: Jelenlét érzékelő: 12 lépés
Videó: Sonoff SNZB-06P ZigBee jelenlét-érzékelő, milliméter hullámú radartechnológiával 2024, November
Anonim
Jelenlét érzékelő
Jelenlét érzékelő

A hordható eszközök általában BLE -kompatibilis eszközök. Gyakori, hogy rendszeresen hirdetnek bizonyos adatokat a MAC -címük mentén. Egy ESP -t használunk ezeknek az adatoknak a beolvasására, és esemény elindítására az interneten keresztül, amikor egy adott MAC -címet talál. Ez a megvalósítás egyetlen felhasználó számára készült egy lámpához csatlakoztatott intelligens csatlakozón. De az IOT -kompatibilis eszközökkel is használható regisztrált eszközkészlettel.

Kellékek

  1. ESP32
  2. (opcionális) TECKIN WiFi fali dugó S10
  3. Bármilyen BLE -kompatibilis eszköz

1. lépés: Határozza meg a forgatókönyvet

Határozza meg a forgatókönyvét
Határozza meg a forgatókönyvét

A ravaszhoz használhatja a modern hordható eszközök nagy részét. Ez lehet Apple Watch, mi fit zenekar, telefon vagy akár saját barkács, amelyet ESP32 alapján hordhatunk.

Valószínűleg az egyik legfontosabb lépés. Három dologban kell előre gondolkodni:

1. Melyik hordható eszköz vagy eszköz lesz a közelségérzékelő kiváltója.

2. Mi fogja kiváltani az érzékelőt (ez az IFTTT -n keresztül történik).

3. Amikor az érzékelő elindul

Ebben a példában az Apple Watchommal fogok intelligens dugót indítani, hogy felkapcsolja a lámpát, amikor az asztalomnál ülök.

Ebben az oktatóanyagban a TECKIN intelligens dugóját fogjuk megvizsgálni. Megtalálható az Amazon -on jó áron. Kompatibilis az Alexával és a Google Home -szal is. Kitűnő érték!

2. lépés: (Bevezetés) Állítsa be a triggert - több felhasználó

Ha úgy szeretné beállítani, hogy bármelyik BLE -kompatibilis eszközzel rendelkező személy működjön, amely elég közel van az érzékelőhöz, akkor hagyja ki a következő lépést. Ez nagyon hasznos, ez a beállítás, amelyet személyesen használok. Ne feledje, hogy ez az érzékelő könnyen feltörhető vagy kihasználható, így nem bíznék sokat egy biztonsági állványból; csak gyakorlati célból (azaz nem szeretném, ha a PC indítaná, mivel mindig az érzékelő mellett lesz).

3. lépés: (Bevezetés) Állítsa be a triggert - korlátozott felhasználók

Ez a lépés nagymértékben eltér a beállításoktól. Annak korlátozásához, hogy mely eszközök indíthatják el az érzékelőt, számos útvonalat korlátozhat:

- BLE MAC -cím (egyenértékű a wifi -hálózat IP -címével. Ennek oka nem garantálja a biztonságot, mivel nem a modul valódi MAC -címe. IOS -eszközökön minden alkalommal, amikor újraindítja a Bluetooth -t, nem olyan szórakoztató)

- Gyártói kód (jobb megoldás, de nem lehet korlátozni ugyanazon gyártó/modell bizonyos eszközeit)

- Név, szolgáltatás UIDD (ritka, de a legjobb megoldás, többnyire barkács hordható eszközök, vagy talán egy Android -alkalmazás)

Néhány megjegyzés:

1. Ha iOS -eszközről van szó:

- Van néhány fontos előnye és hátránya. Pro, továbbítják azt a teljesítményszintet, amelyen a hirdetési adatok. Ez hasznos a kalibrálási szakaszban, és úgy találja, hogy az Apple Watch használata hasznos, mivel 24 dB -es adást sugároz, az iPhone és a legtöbb eszköz 12 dB -en ad.

CON, meg kell találnia a megoldásokat. A meghirdetett MAC -cím (a fő azonosítási módszer) minden alkalommal megváltozik, amikor a Bluetooth -jel újraindul, vagyis minden alkalommal fel kell töltenie a kódot… nem szórakoztató. Használhatja a gyártó adatait, amelyek típusonként eltérőek lehetnek. Ez azt jelenti, hogy korlátozhatja, hogy érzékelje az "összes iPhone 8 -at".

2. Ha Android -eszközről van szó:

- Nekem személy szerint nincs androidos készülékem. De valószínűleg sok olyan alkalmazás van, amely meg tudja javítani a MAC -címet, vagy akár személyre szabott nevet is hozzáadhat (ha ez az út). Az iOS -eszközökön van egy "nrf connect" alkalmazás, amely ezt megteheti. De nem tartós, vagyis ha lezárja a képernyőt vagy alkalmazást vált.. a konfiguráció néhány másodpercen belül leáll.

3. Egy másik ESP32. (a legjobb tét)

- Egy ilyen egyszerű kód megvalósítható egy ilyen eszközben; egy esp32 alapú intelligens sáv. A kód valójában egy példa az ESP BLE BLE_IBeacon.ino könyvtárából. Nem sokat teszteltem, mivel az okos zenekarom szállít, valószínűleg hamarosan közzéteszem a frissítéseket.

4. lépés: (Beállítás) - IFTTT

(Beállítás) - IFTTT
(Beállítás) - IFTTT

Ok, szóval ebben a szakaszban valószínűleg teljesíteni kell a munkafolyamat minden döntését. Megvan az indítóeszköz, van helye, ahol az ESP -t vezeték nélküli internetkapcsolattal csatlakoztathatja az internethez, és egy olyan tevékenységre van szüksége, amelyet az IFTTT képes automatizálni.

Az IFTTT erőteljes; akár egy egyszerű értesítést szeretne küldeni a készülékére, azt szeretné, ha egy tweetet küldene, vagy kapcsolja be az izzót egy intelligens csatlakozóval. Ebben az oktatóanyagban az utolsót az IFTTT -vel kompatibilis TECKIN intelligens dugókkal valósítjuk meg. Akárhogy is, töltse le az IFTTT alkalmazást, vagy látogasson el az IFTTT.com webre, és hozzon létre egy fiókot.

Egyelőre ennyi!

Ha csak értesítést szeretne küldeni, vagy valami mást, mint a Smart Life dugó, kihagyhatja a következő lépést.

5. lépés: [Beállítás] IOT eszköz *opcionális *

Töltse le a "Smart Life" alkalmazást a PlayStore -ból (android) vagy az AppStore -ból (iOS). Az utasítások nagyjából egyenesek, bár a folyamat kissé bonyolult. A szkennelés szakaszában tudtam meg (amikor a kék gomb villogott) valamikor leállt, majd kézzel megnyomtam, hogy párszor be- és kikapcsoljam. Ez segített nekem. Egyébként; ennek a dugónak a beállítása nem különbözik az alkalmazásunktól, így ha már rendelkezik ilyennel, és csatlakoztatva van az alkalmazásához, készen kell állnia a használatra.

FIGYELEM: Tudnia kell be- és kikapcsolni a kapcsolót az alkalmazásból, mielőtt továbblépne erről a lépésről. Ez azt jelenti, hogy helyesen konfigurálta az intelligens csatlakozót.

Az IFTTT alkalmazásnak zökkenőmentesen kell szinkronizálnia az "Intelligens élet" alkalmazással, valószínűleg a következő lépésben esemény létrehozásakor hitelesítést kell kérnie.

6. lépés: [Beállítás] IFTTT Webhook Api *Tapasztalt felhasználók *

[Beállítás] IFTTT Webhook Api *Tapasztalt felhasználók *
[Beállítás] IFTTT Webhook Api *Tapasztalt felhasználók *

Ha még nem használta az IFTTT alkalmazást, és nem ért hozzá bizonyos technikai kifejezésekhez, ugorja át ezt a lépést a Részletes útmutatóhoz (fényképekkel) a következő lépésben.

1. Hozzon létre egy új eseményt.

2. Állítsa "ezt" webhook api -ra. Írja le az eseményhez beállított nevet.

3. Állítsa az "azt" a kívánt viselkedésre. Az intelligens dugó kereséséhez keresse meg az intelligens életet, és válassza a „bekapcsolás” lehetőséget.

4. Válassza ki az intelligens csatlakozót, és nyomja meg a Befejezés gombot.

5. A kezdőképernyőn keresse meg a "webhooks" kártyát. Miután megnyomta, nyomja meg a "get more" gombot az alján.

6. Nyomja meg a dokumentációt. Ekkor megjelenik az API kulcsa, valamint egy URL -készítő és tesztelő.

7. Használja a de URL builder nevet a 2. helyen írt névvel. Másolja le és írja le.

8. Ismételje meg ezt a műveletet, ha azt szeretné, hogy egy viselkedés aktiválódjon, amikor a jelenlét -érzékelő már nem aktív. Esetünkben ismételje meg a #3 -at, de válassza a "kikapcsolás" lehetőséget. Továbbá, a 2. helyen a névnek ezúttal is másnak kell lennie.

Ha végzett, ugorja át a következő lépést.

7. lépés: (Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *

(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *
(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *
(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *
(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *
(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *
(Beállítás) IFTTT Webhook Api *Kezdőknek fényképekkel *

Részletes útmutató *a fényképes útmutatónak hasonlónak kell lennie az Android és az interneten *

Az IFTTT egy egyszerű munkafolyamat, ha "ez történik", akkor "ez történik". Létre kell hoznia egy újat, 1. az alkalmazásban nyomja meg a "Get more" gombot, és megjelenik egy lista.

2. Közvetlenül a keresősáv alatt a mondja: "készítse el saját kisalkalmazásait a semmiből", nyomja meg a plusz jelet.

3. Nyomja meg az "ezt" plusz jelet

Esetünkben "ez" egy api hívás lesz az interneten keresztül. Az api hívás az URL -hez való konzultáció, például akkor, amikor begépel egy Google keresést, és az URL a google.com/(hosszú karakterlánc). Az api létrehozása: (az "ezt" megnyomása után)

4. Keressen rá a "webhooks" kifejezésre

5. Válassza ki az egyetlen lehetőséget

6. Nevezze el eseményét (ebben a példában a "Sit" -t fogjuk használni). Írd le ezt a nevet, nagyon fontos.

7. Nyomja meg a Trigger létrehozása gombot

Rendben! közelebb vagyunk, most az "ahhoz" részhez. Ebben az oktatóanyagban az „ezt” beállítjuk az intelligens dugó bekapcsolásához. De bármit választhat az IFTTT -ből. A beállítás tesztelésének jó módja, ha kiválasztja az "értesítéseket", amelyek minden értesítést küldenek a telefonra, amikor az érzékelő aktiválódik (vagy az api meghívása, akár webböngészőből: hasznos a teszteléshez!)

8. Nyomja meg az "azt" plusz jelet

9. Keresés az "Intelligens élet" (vagy "értesítések") között

10. Nyomja meg a "bekapcsolás" gombot (meg kell ismételnie ezeket a lépéseket, hogy új eseményt hozzon létre, amelyet kikapcsoláskor el kell hagynia)

11. Ha mindkét alkalmazás és a csatlakozódugó megfelelően van konfigurálva, akkor látnia kell a dugót a legördülő listában, melyik eszköz/csoport.

12. Válassza a Művelet létrehozása lehetőséget, majd fejezze be.

Most látnia kell, hogy az esemény kapcsolódik. Most meg kell szereznünk az api URL -t. Ezért:

13. Lépjen az IFTTT kezdőképernyőre

14. Keresse meg a Webhooks kártyát

15. Válassza a "Get More" lehetőséget

16. Érintse meg a Dokumentáció gombot. Látnia kell egy weboldalt a kulcsával.

17. Az "{event}" helyőrzőknél adja meg az esemény nevét (emlékezzen a 6. pontra)

18. Lépjen az oldal aljára, és koppintson a "Tesztelés" elemre

Valószínűleg látnia kell egy zöld szalaghirdetést "az esemény aktiválódott", és látnia kell, hogy működik -e vagy sem. Esetünkben a dugónak be kell kapcsolnia. Vagy értesítést kell látnia, ha úgy dönt, hogy ezt az utat választja. Eltarthat egy ideig, de legfeljebb egy percig, hogy kiderüljön, sikerült -e. Ne feledje, hogy valószínűleg megkülönbözteti a kis- és nagybetűket.

19. Végül. Másolja ki azt az URL -címet, ahol az esemény nevét kicserélte (17 évesen), és mentse el biztonságos helyre. Erre hamarosan szüksége lesz.

20. Ismételje meg az 1-12. 6 -kor ezúttal a "Stand" -t fogjuk használni. 10 -kor válassza a „kikapcsolás” lehetőséget.

21. Ha akarja, ismételje meg a 13-18-at, de 19 évesen megúszhatja a másolt URL-t, de most változtassa meg azt a helyet, ahol "Ült" -et írt, és cserélje ki "Állj" -ra. Ezt egy böngészőben tesztelheti. Azt kell mondani, hogy „Gratulálok! Ön kilőtte a Stand eseményt”. Akkor a dugót ki kellett volna kapcsolni.

8. lépés: (kód) Az ESP32 programozása

(Kód) Az ESP32 programozása
(Kód) Az ESP32 programozása

Ezt a lépést kihagyhatja, ha jól érzi magát, ha vázlatokat tölt fel az Arduino IDE -ről az ESP32 táblára. Csak ne feledje, hogy legalább 2 MB -os partíciót kell beállítania az alkalmazás számára, mivel a vázlat súlya valamivel több, mint 1,2 MB.

Sok nagyszerű oktatóanyag létezik, ezek közül néhányat ajánlok:

circuitdigest.com/microcontroller-projects…

De mégis, így nem vagy annyira elveszett, lebontok néhány fontos kulcsfontosságú pontot.

- Az ESP32 nem Arduino kártya, de még mindig programozható az Arduino IDE segítségével. Egyszerű Arduino kóddal. Ennek ellenére továbbra is konfigurálnia kell az IDE -t az ESP32 -vel való együttműködésre.

- Néhány könyvtárat telepítenie kell a „További táblák kezelőjén” keresztül a beállításoknál. Ezt az URL -t kell beilleszteni:

-(opcionális, segíthet) Az Eszközök-> Könyvtárak kezelése… -> (találja meg az esp BLE könyvtárat)

- az Eszközöknél most az ESP -eszközök hosszú listájával kell rendelkeznie, javaslom az ESP32 dev modult

- (FONTOS) Válassza ki (nincs Ota 2mb app/2mb spifs) a partíciókezelőben. Ez a lépés fontos, mivel az alkalmazás meglehetősen nehézzé válik, mivel mind a wifi/http kapcsolatokat, mind a BLE szkennert használja.

Ha mindent jól csinált, akkor képesnek kell lennie az ESP32 programozására. Most ennek folyamata hasonló az arduino -hoz néhány táblában. Csatlakoztassa, válassza ki a megfelelő kártyát, az USB -portot, és kész. De sok más esetben tovább kell mennie

9. lépés: (Kód) Töltse fel a kódot az ESP32 -re

(Kód) Töltse fel a kódot az ESP32 -re
(Kód) Töltse fel a kódot az ESP32 -re

Ok, ha itt van, az azt jelenti, hogy sikeresen feltöltött egy vázlatot az ESP32 táblára, lehetőleg a blink.ino vázlatot.

Most itt található a fő kód, amelyet a GitHub repóban is megtalálhat. A következőket kell cserélnie:

SSID - A wifi neve

PSK - A wifi jelszava

ülni - Az URL, amelyben szerepel az "Ülni" a korábban írt IFTTT api -ből

stand - Az URL "Stand" -al A korábban írt IFTTT api -ből

Most vigye a trigger eszközt a tábla közelébe, majd töltse fel a kódot. Ezután nyissa meg a soros monitort (baud 115200), miután sikeresen betöltötte a kódot.

Ha ezt bármilyen BLE -kompatibilis eszközzel kívánja használni, ugorja át a következő lépést.

MEGJEGYZÉS: ha memória hibaüzeneteket kap, annak az az oka, hogy az alapértelmezett beállítások csak 1 MB memóriát hagynak (a jelenlegi 4 MB -ból) az ESP nyers kódhoz. Egy részét hagyja pár dolognak, opcióként a levegőben történő programozáshoz. Általában a következőket csinálom:

- az Eszközöknél most az ESP-eszközök hosszú listája kell, hogy legyen, javaslom az ESP32 dev modult- Válassza ki a 'no Ota 2mb app/2mb spifs' lehetőséget a partíciókezelőben.

Ezzel dupla memóriaterületet kapok, ami ehhez az alkalmazáshoz szükséges.

10. lépés: [Kód] Töltse fel a kódot az ESP32 -be *opcionális *

(Kód) Töltse fel a kódot az ESP32 -be *opcionális *
(Kód) Töltse fel a kódot az ESP32 -be *opcionális *

Itt található a "Trigger beállítása" lépésben említett trükkös rész. A monitor kiadja a MAC -címet (így kell kinéznie: ##: ##: ##: ##: ## ahol#vagy szám vagy betű a -tól f -ig), a gyártó kódja és az RSSI (negatív szám). Itt meg kell játszani egy kicsit, hogy megtudja, melyik az eszköze. Általában a tábla mellé teszem, hogy jól lássam, melyik a legkisebb szám. Eltávolítom az "automatikus görgetés" négyzet jelölését, hogy másolhassam az értékeket.

  • Ha ez a Mac -cím, töltse ki vele a „myDevice” -t. Ezután szüntesse meg a 96. sor és a 95. megjegyzés sorának megszüntetését
  • Ha ez a név, töltse ki a „myDevice” eszközt. Ezután szüntesse meg a 97. sor és a 95. megjegyzés sorának megszüntetését
  • Ha most a MaufactureData a szerencsétlen, akkor még fejlesztem ezt a részt.

A May eszközök támogatásának hozzáadásához képesnek kell lennie arra, hogy lemásolja a feltételes utasítást a #96 vagy a #97 számra, és helyezze őket egymás mellé ebben a szintaxisban:

ha ((feltétel1) || (feltétel2) || (feltétel3)) {

Adjon hozzá további változókat (myDevice1, myDevice2, myDevice3) ennek megfelelően.

11. lépés: Helyezze be az ESP -t és kalibrálja

Helyezze be az ESP -t és kalibrálja
Helyezze be az ESP -t és kalibrálja

Ez a beállítás legfontosabb része. Ha óvatosan végigmegy ezen a folyamaton, nagy különbség lesz abban, hogy varázslatosan működik, vagy csak erős fejfájást okoz.

Ezen a ponton a feltöltött kód azokkal a paraméterekkel működik, amelyeket személyesen teszteltem és naponta használok a telefonommal az asztalon; ez nem jelenti azt, hogy nálad is működni fog. Tehát a kalibrálást saját maga kell elvégeznie.

1. Helyezze az ESP32 kártyát a végleges rögzített helyére. Ha valamilyen oknál fogva elmozdítja az ESP32 készülék pozícióját, akkor ezt valószínűleg újra meg kell tennie. Ez összességében jó élményt biztosít.

1. (extra) ne feledje, hogy ennek során képesnek kell lennie csatlakozni a számítógépéhez. Ha nem tudja, mert asztali számítógépen dolgozik, akkor próbát és hibát kell tennie, szem előtt tartva, hogy minden próbának közel azonosnak kell lennie a pozicionálás, a kiváltó eszköz és egyéb tényezők szempontjából, amelyek számíthatnak.

2. Nyissa meg a Soros figyelőt futó kóddal.

A kód alapértelmezés szerint közzéteszi a soros monitoron az egyes talált bluetooth -eszközök (vagy csak a paramétereinek megfelelő eszközök) RSSI -jét (fogadott jelerősség -jelzést). Játsszon egy kicsit a fő cselekvési eszközzel (kiváltó eszköz). Meg kell határoznia, hogy milyen küszöbértékeket szeretne használni. Ennek a konfigurációnak a gondos beállítása

3. Amikor meghatározza a küszöbértékeket, cserélje ki őket:

  • közel_thrsh
  • far_thrsh

4. Töltse fel újra a kódot, tesztelje és ismételje, amíg meg nem találja az optimális teljesítményt.

Néhány dolog, amit figyelembe kell venni:

1. Kb. 20 dB eltérést szeretne a küszöbértékek között. Ha a near_thrsh értéke 50, akkor kívánatos, hogy a far_thrsh értéke 70 vagy több legyen. Ha a különbség túl rövid, akkor találhat olyan távolságokat vagy helyeket, ahol a tábla megállás nélkül be- és kikapcsol. Ha növeli ezt a különbséget, elkerülheti ezt a nemkívánatos viselkedést. Személy szerint azt tapasztaltam, hogy a 20db margó elég jó.

2. A valós élet forgatókönyvein, amennyire csak lehetséges, ez segít meghatározni a legjobb teljesítményt.

3. Tanulmányozza az osztályt a kód 82. sorában; itt minden logika kész. A kód azonban jól kommentált. Kérdezz bátran a GitHubon!

12. lépés: Gratulálok! Kész vagy

Ha bármilyen javaslata van, vagy ha problémákat tapasztal, tudassa velem a megjegyzésekben. Ne felejtse el ellenőrizni a GitHub -ot, ha a probléma már megoldódott!

Ajánlott: