Obsah:
- Zásoby
- Krok 1: Definujte svoj scenár
- Krok 2: (Úvod) Nastavte spúšť - viac používateľov
- Krok 3: (Úvod) Nastavte spúšť - obmedzený počet používateľov
- Krok 4: (Nastavenie) - IFTTT
- Krok 5: (Nastavenie) Zariadenie IOT *voliteľné *
- Krok 6: (Nastavenie) IFTTT Webhook Api *Skúsení používatelia *
- Krok 7: (Nastavenie) IFTTT Webhook Api *Pre začiatočníkov s fotografiami *
- Krok 8: (Kód) Programovanie ESP32
- Krok 9: (Kód) Nahrajte kód do ESP32
- Krok 10: (Kód) Nahrajte kód do ESP32 *voliteľné *
- Krok 11: Umiestnite ESP a kalibrujte
- Krok 12: Blahoželáme! Skončil si
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Nositeľné zariadenia sú zvyčajne zariadenia s podporou BLE. Je bežné, že periodicky inzerujú niektoré údaje pozdĺž svojej MAC adresy. ESP používame na skenovanie týchto údajov a spustenie udalosti prostredníctvom internetu, keď nájde konkrétnu adresu MAC. Táto konkrétna implementácia je pre jedného používateľa na inteligentnej zástrčke pripojenej k žiarovke. Ale môže byť tiež použitý so sadou registrovaných zariadení s akýmkoľvek typom zariadení s povoleným IOT.
Zásoby
- ESP32
- (voliteľné) TECKIN WiFi zásuvka do zásuvky S10
- Zariadenie s povoleným BLE akéhokoľvek druhu
Krok 1: Definujte svoj scenár
Ako spúšť môžete použiť väčšinu moderných prenosných zariadení. Môžu to byť hodinky Apple Watch, mi fit band, telefón alebo dokonca vlastné nositeľné zariadenie založené na ESP32.
Pravdepodobne jeden z najdôležitejších krokov. Vopred musíte myslieť na 3 veci:
1. Ktoré nositeľné zariadenie alebo zariadenie bude spúšťačom snímača priblíženia.
2. Čo spustí senzor (robí sa to prostredníctvom IFTTT).
3. Keď sa senzor spustí
V tomto prípade budem používať hodinky Apple Watch na zapnutie inteligentnej zástrčky na zapnutie žiarovky, keď budem sedieť pri stole.
V tomto návode sa pozrieme na inteligentnú zástrčku od TECKIN. Môžete ho nájsť na Amazone za dobrú cenu. Je tiež kompatibilný s Alexa a Google Home. Skvelá hodnota!
Krok 2: (Úvod) Nastavte spúšť - viac používateľov
Ak chcete konfigurovať zariadenie tak, aby fungovalo s ľubovoľným zariadením so zariadením s podporou BLE dostatočne blízko k vášmu senzoru, preskočte ďalší krok. Toto je veľmi užitočné, toto nastavenie osobne používam. Majte na pamäti, že tento senzor je možné ľahko hacknúť alebo zneužiť na spustenie, takže by som veľmi neveril z bezpečnostného pintu; len pre praktickú stránku (tj. nechcem, aby to spustil môj počítač, pretože bude vždy vedľa senzora).
Krok 3: (Úvod) Nastavte spúšť - obmedzený počet používateľov
Tento krok sa vo vašom nastavení výrazne líši. Ak chcete obmedziť zariadenia, ktoré môžu spustiť senzor, musíte obmedziť mnoho trás:
- MAC adresa BLE (ekvivalent IP adresy v sieti Wi -Fi. Dôvod, prečo nezaručuje bezpečnosť, pretože nie je skutočnou adresou MAC modulu. Na zariadeniach so systémom iOS sa zmení vždy, keď reštartujete bluetooth, nie je to tak zábavné)
- Kód výrobcu (lepšia možnosť, ale žiadny spôsob, ako obmedziť konkrétne zariadenia od rovnakého výrobcu/modelu)
- Názov, služba UIDD (zriedkavá, ale najlepšia možnosť, väčšinou nositeľné oblečenie pre domácich majstrov alebo možno aplikácia pre Android)
Niekoľko poznámok:
1. Ak ide o zariadenie so systémom iOS:
- Máte niekoľko dôležitých výhod a nevýhod. Pro, prenášajú úroveň výkonu, na ktorej sú reklamné údaje. To je užitočné vo fáze kalibrácie. Zistíte, že používanie hodiniek Apple Watch je užitočné, pretože vysiela pri 24 dB, telefóny iPhone a väčšina zariadení vysiela pri 12 dB.
CON, budete musieť nájsť riešenia. Inzerovaná adresa MAC (hlavný spôsob identifikácie) sa zmení pri každom reštarte signálu bluetooth, čo znamená, že budete musieť kód nahrať vždy … nie je to zábava. Môžete použiť údaje výrobcu, ktoré sa môžu pri jednotlivých modeloch líšiť. To znamená, že môžete obmedziť tak, aby snímalo „všetky iPhone 8“.
2. Ak ide o zariadenie Android:
- Osobne nemám zariadenie s Androidom. Existuje však pravdepodobne mnoho aplikácií, ktoré môžu opraviť adresu MAC alebo dokonca pridať prispôsobené meno (ak je to cesta, ktorou chcete ísť). Na zariadeniach iOS existuje aplikácia „nrf connect“, ktorá to dokáže. Nie je to však trvalé, to znamená, že ak uzamknete obrazovku alebo prepnete aplikácie.. konfigurácia sa vypne za niekoľko sekúnd.
3. Ďalší ESP32. (tvoja najlepšia stávka)
- Jednoduchý kód, ako je tento, je možné implementovať do zariadenia, ako je toto; inteligentné pásmo napájané esp32. Kód je vlastne príkladom z knižnice ESP BLE BLE_IBeacon.ino. Veľa som toho netestoval, pretože môj inteligentný pás je na predaj, pravdepodobne čoskoro zverejníme aktualizácie.
Krok 4: (Nastavenie) - IFTTT
Dobre, takže v tejto fáze by ste mali pravdepodobne vziať všetky náležitosti svojho pracovného toku. Máte svoje spúšťacie zariadenie, máte kam umiestniť ESP s bezdrôtovým pripojením na internet a máte na mysli akciu, ktorú môže IFTTT automatizovať.
IFTTT je silný; či už ide iba o odoslanie jednoduchého upozornenia na vaše zariadenie, chcete odoslať tweet alebo zapnúť žiarovku pomocou inteligentnej zástrčky. V tomto návode implementujeme posledný s inteligentnými zástrčkami TECKIN kompatibilnými s IFTTT. V každom prípade si stiahnite aplikáciu IFTTT alebo navštívte web IFTTT.com a vytvorte si účet.
To je zatiaľ všetko!
Ak chcete odoslať iba upozornenie alebo niečo iné ako zásuvku Smart Life, môžete nasledujúci krok preskočiť.
Krok 5: (Nastavenie) Zariadenie IOT *voliteľné *
Stiahnite si aplikáciu „Smart Life“z obchodu PlayStore (Android) alebo AppStore (iOS). Pokyny sú celkom jednoduché, aj keď je postup trochu náročný. Zistil som to vo fáze skenovania (keď modré tlačidlo blikalo) sa v určitom bode zastavilo, potom som ho manuálne stlačením párkrát zapol a vypol. To mi pomohlo. Tak ako tak; nastavenie tejto zástrčky sa v našej aplikácii ničím nelíši, takže ak ju už vlastníte a máte ju pripojenú k aplikácii, mali by ste byť pripravení ísť.
UPOZORNENIE: Predtým, ako prejdete z tohto kroku, musíte mať možnosť zapnúť a vypnúť vypínač v aplikácii. To znamená, že ste správne nakonfigurovali inteligentnú zásuvku.
Aplikácia IFTTT by sa mala bezproblémovo synchronizovať s aplikáciou „Smart Life“, pravdepodobne pri ďalšom vytváraní udalosti bude pri vytváraní udalosti potrebná autorizácia.
Krok 6: (Nastavenie) IFTTT Webhook Api *Skúsení používatelia *
Ak ste aplikáciu IFTTT ešte nepoužili a niektoré technické výrazy vám nie sú také príjemné, v nasledujúcom kroku preskočte tento krok pre podrobného sprievodcu (s fotografiami).
1. Vytvorte novú udalosť.
2. Nastavte „toto“na rozhranie API webhooku. Zapíšte si názov, ktorý ste nastavili pre udalosť.
3. Nastavte „to“na požadované správanie. Pre inteligentnú zásuvku vyhľadajte inteligentný život a zvoľte „zapnúť“.
4. Vyberte svoju inteligentnú zásuvku a stlačte tlačidlo Dokončiť.
5. Na domovskej obrazovke vyhľadajte kartu „webhooks“. Potom, čo ste ho stlačili, v spodnej časti stlačte „získať viac“.
6. Tlačová dokumentácia. To vám ukáže váš kľúč API spolu s nástrojom na tvorbu a testovanie adries URL.
7. Použite nástroj na tvorbu adries URL s názvom, ktoré ste napísali pri č. 2. Skopírujte to a napíšte.
8. Opakujte, ak chcete, aby sa správanie spustilo, keď snímač prítomnosti už nie je aktívny. V našom prípade zopakujte č. 3, ale zvoľte „vypnúť“. Tiež pri č. 2 by tentokrát mal byť názov iný.
Ak ste skončili, preskočte ďalší krok.
Krok 7: (Nastavenie) IFTTT Webhook Api *Pre začiatočníkov s fotografiami *
Podrobný sprievodca *fotografický sprievodca by mal byť podobný systému Android a na webe *
IFTTT je jednoduchý pracovný postup, ak „sa to stane“, potom „to sa stane“. Musíte vytvoriť nový, 1. V aplikácii stlačte „získať viac“a zobrazí sa zoznam.
2. Hneď pod vyhľadávacím panelom a sa zobrazí hlásenie „Vytvorte si vlastné aplety úplne od začiatku“, stlačte znamienko plus.
3. Stlačte znamienko plus „toto“
V našom prípade „toto“bude api hovor prostredníctvom internetu. Rozhranie API je konzultácia adresy URL, podobne ako keď zadávate vyhľadávanie Google a adresa URL je google.com/(dlhý reťazec znakov). Ak chcete vytvoriť rozhranie API: (po stlačení „tohto“)
4. Hľadať „webhooks“
5. Vyberte jedinú možnosť
6. Pomenujte svoju udalosť (v tomto prípade použijeme „Sit“). Napíšte toto meno, veľmi dôležité.
7. Stlačte Vytvoriť spúšť
Dobre! sme bližšie, Teraz k „tej“časti. V tomto návode nastavíme „to“na zapnutie inteligentnej zásuvky. Ale z IFTTT si môžete vybrať čokoľvek. Dobrým spôsobom testovania nastavenia je výber „upozornení“, ktoré odošlú upozornenie na váš telefón pri každom spustení senzora (alebo sa volá API, dokonca aj z webového prehliadača: užitočné na testovanie!)
8. Stlačte znamienko plus „to“
9. Vyhľadajte „Smart Life“(alebo „upozornenia“)
10. Stlačte „zapnúť“(tieto kroky budete musieť zopakovať, aby ste vytvorili ďalšiu udalosť, pre ktorú sa pri odchode vypnú)
11. Ak máte správne nakonfigurované aplikácie aj zásuvku, v rozbaľovacom zozname „Ktoré zariadenie/skupinu“by sa vám mala zásuvka zobraziť.
12. Vyberte položku Vytvoriť akciu a potom dokončite.
Teraz by ste mali vidieť, že udalosť je spojená. Teraz musíme získať adresu URL rozhrania API. Pre to:
13. Prejdite na domovskú obrazovku IFTTT
14. Nájdite kartu Webhooks
15. Vyberte „Získať viac“
16. Klepnite na tlačidlo Dokumentácia. Mali by ste vidieť webovú stránku s kľúčom.
17. Na zástupných symboloch „{event}“zadajte názov svojej udalosti (pamätajte na bod 6)
18. Choďte do spodnej časti stránky a klepnite na „Vyskúšať“
Pravdepodobne by ste mali vidieť zelený banner „Udalosť bola spustená“a mali by ste zistiť, či fungoval alebo nie. V našom prípade by sa mala zapnúť zástrčka. Alebo by ste mali vidieť upozornenie, ak ste sa rozhodli ísť touto cestou. Môže to chvíľu trvať, ale nie viac ako minútu, aby ste zistili, či ste to zvládli. Pamätajte si, že pravdepodobne rozlišujú veľké a malé písmena.
19. Konečne. Skopírujte adresu URL, na ktorej ste nahradili názov svojej udalosti (na 17), a uložte ju na bezpečné miesto. Toto budete čoskoro potrebovať.
20. Opakujte 1-12. O 6 budeme tentoraz používať „Stand“. Pri 10 zvoľte namiesto toho „vypnúť“.
21. Ak chcete, opakujte 13-18, ale s adresou URL, ktorú ste skopírovali, sa môžete dostať o 19, ale teraz zmeňte miesto, kde ste napísali „Sedieť“, a nahraďte „Stand“. Môžete to vyskúšať vo webovom prehliadači. Malo by tam byť uvedené „Blahoželáme! Spustili ste udalosť Stand '. Potom sa mala zástrčka vypnúť.
Krok 8: (Kód) Programovanie ESP32
Tento krok môžete preskočiť, ak sa vám páči nahrávanie náčrtov z Arduino IDE na vašu dosku ESP32. Nezabudnite pre aplikáciu nastaviť oddiel 2 MB aspoň preto, že náčrt váži o niečo viac ako 1,2 MB, ako je obvyklé.
Existuje mnoho skvelých návodov, z ktorých odporúčam niektoré:
circuitdigest.com/microcontroller-projects…
Ale napriek tomu, aby ste neboli takí stratení, rozoberiem niekoľko dôležitých kľúčových bodov.
- ESP32 nie je doska Arduino, ale napriek tomu ju možno naprogramovať pomocou Arduino IDE. S jednoduchým kódom Arduino. Stále však budete musieť nakonfigurovať IDE, aby fungoval s ESP32.
- Niektoré knižnice budete musieť nainštalovať pomocou predvoľby „Správca ďalších tabuliek“. Toto je adresa URL, ktorú by ste mali vložiť:
-(voliteľné, môže pomôcť) V ponuke Nástroje -> Spravovať knižnice … -> (nájsť knižnicu esp BLE)
- v Nástroje by ste teraz mali mať dlhý zoznam zariadení ESP, odporúčam modul dev ESP32
- (DÔLEŽITÉ) V správcovi oddielov vyberte (žiadna aplikácia Ota 2 MB/2 MB SPIF). Tento krok je dôležitý, pretože aplikácia je dosť ťažká ako produkt využívajúci pripojenie wifi/http aj skener BLE.
Ak ste urobili všetko správne, mali by ste byť schopní naprogramovať ESP32. Teraz je postup pri niektorých doskách podobný arduinu. Pripojte ho, vyberte zodpovedajúcu dosku, port USB a máte hotovo. Ale v mnohých ďalších prípadoch budete musieť pokračovať
Krok 9: (Kód) Nahrajte kód do ESP32
Ok, ak ste tu, znamená to, že ste úspešne nahrali skicu na dosku ESP32, najlepšie skicu blink.ino.
Tu je priložený hlavný kód, ktorý nájdete aj v repo GitHub. Musíte nahradiť nasledujúce:
SSID - vaše Wi -Fi meno
PSK - Vaše heslo na wifi
sit - adresa URL s nápisom „Sit“z rozhrania API IFTTT, ktoré ste napísali predtým
stojan - adresa URL so slovom „stáť“z rozhrania API IFTTT, ktoré ste napísali predtým
Teraz umiestnite spúšťacie zariadenie blízko dosky a potom nahrajte kód. Potom po úspešnom načítaní kódu otvorte Serial Monitor (baud 115200).
Ak to plánujete používať s akýmkoľvek typom zariadenia s podporou BLE, preskočte ďalší krok.
POZNÁMKA: Ak sa vám zobrazia chybové správy o pamäti, pretože predvolené nastavenia ponechajú iba 1 MB pamäte (z prítomných 4 MB) pre nespracovaný kód ESP. Ponecháva časť pre niekoľko vecí ako možnosť programovania vzduchom. Obvykle robím nasledovné:
- v Nástroje by ste teraz mali mať dlhý zoznam zariadení ESP, odporúčam modul dev ESP32- v správcovi oddielov vyberte „žiadna aplikácia Ota 2mb/2mb spif“.
To mi dáva dvojnásobný priestor v pamäti, potrebný pre túto aplikáciu.
Krok 10: (Kód) Nahrajte kód do ESP32 *voliteľné *
Tu je zložitá časť spomenutá v kroku „Nastavte spúšť“. Monitor zobrazí adresu MAC (mala by vyzerať ako ##: ##: ##: ##: ## kde#je buď číslo alebo písmeno od a do f), kód výrobcu a RSSI (záporné číslo)). Tu sa musíte trochu pohrať, aby ste zistili, ktoré je vaše zariadenie. Obvykle ho dávam k tabuli, aby som jasne videl, ktoré je najmenšie číslo. Zruším začiarknutie políčka „automatický posuv“, aby som mohol skopírovať hodnoty.
- Ak je to adresa Mac, vyplňte ním „myDevice“. Potom odkomentujte riadok č. 96 a komentár k riadku č. 95
- Ak je to názov, vyplňte ním „myDevice“. Potom odkomentujte riadok č. 97 a komentár k riadku č. 95
- Ak ide o údaje MaufactureData, na ktoré zatiaľ nemáte šťastie, túto časť stále vyvíjam.
Ak chcete pridať podporu pre zariadenia máj, mali by ste byť schopní skopírovať podmienené vyhlásenie buď na #96 alebo #97 a umiestniť ich vedľa seba v tejto syntaxi:
if ((podmienka1) || (podmienka2) || (podmienka3)) {
Podľa toho pridajte ďalšie premenné (myDevice1, myDevice2, myDevice3).
Krok 11: Umiestnite ESP a kalibrujte
Toto je najdôležitejšia časť nastavenia. Starostlivé prechádzanie týmto procesom bude znamenať rozdiel v tom, že bude fungovať ako mágia alebo vás bude silne bolieť hlava.
V tomto mieste kód, ktorý ste nahrali, pracuje s parametrami, ktoré som osobne testoval a používam denne s telefónom na stole; to neznamená, že to bude fungovať aj pre vás. Kalibráciu teda musíte vykonať sami.
1. Umiestnite dosku ESP32 na jej konečné PEVNÉ miesto. Ak z nejakého dôvodu presuniete polohu vášho ESP32, pravdepodobne by ste to mali urobiť znova. To vám zaistí celkový dobrý zážitok.
1. (extra) majte na pamäti, že sa pri tom budete musieť pripojiť k počítaču. Ak nemôžete, pretože ste na stolnom počítači, budete musieť vykonať pokus a omyl. Majte na pamäti, že každá skúška musí mať takmer rovnaké umiestnenie, spúšťacie zariadenie a ďalšie faktory, ktoré sa môžu započítať.
2. Otvorte Serial Monitor so spusteným kódom.
Kód v predvolenom nastavení odosiela prostredníctvom sériového monitora RSSI (indikácia sily prijatého signálu) každého nájdeného zariadenia bluetooth (alebo iba zariadenia (zariadení) zodpovedajúcich vašim parametrom). Hrajte sa trochu so svojim hlavným akčným zariadením (spúšťacím zariadením). Musíte sa rozhodnúť, aké prahové hodnoty chcete použiť. Starostlivá úprava tejto konfigurácie bude
3. Keď určíte prahové hodnoty, nahraďte ich tu:
- near_thrsh
- far_thrsh
4. Znova nahrajte kód, vyskúšajte a opakujte, kým nenájdete optimálny výkon.
Niekoľko vecí, ktoré je potrebné zvážiť:
1. Chcete rozdiel asi 20 dB medzi prahovými hodnotami. Ak je near_thrsh nastavený na 50, potom je žiaduce, aby far_thrsh bol 70 alebo viac. Ak je rozdiel príliš malý, môžete nájsť určité vzdialenosti alebo miesta, kde sa doska môže zapínať a vypínať nepretržite. Zvýšením tohto rozdielu sa vyhnete tomuto nežiaducemu správaniu. Osobne som zistil, že 20 dB marža je dosť dobrý.
2. Pri kalibračnom teste, pokiaľ je to len možné, to pomôže určiť najlepší výkon.
3. Študujte triedu na riadku 82 kódu; tu sa robí všetka logika. Kód je však dobre komentovaný. Neváhajte sa opýtať na GitHub!
Krok 12: Blahoželáme! Skončil si
Dajte mi vedieť v komentároch k akýmkoľvek návrhom alebo ak máte problémy. Ak je váš problém už vyriešený, nezabudnite skontrolovať GitHub!