Kazalo:
- Zaloge
- 1. korak: Določite svoj scenarij
- 2. korak: (Uvod) Nastavite sprožilec - več uporabnikov
- 3. korak: (Uvod) Nastavite sprožilec - omejeni uporabniki
- 4. korak: (Nastavitev) - IFTTT
- 5. korak: (Nastavitev) IOT naprava *neobvezno *
- 6. korak: (Namestitev) IFTTT Webhook Api *Izkušeni uporabniki *
- 7. korak: (Namestitev) IFTTT Webhook Api *Za začetnike s fotografijami *
- 8. korak: (Koda) Programiranje ESP32
- 9. korak: (Koda) Naložite kodo v ESP32
- 10. korak: (Koda) Naložite kodo v ESP32 *izbirno *
- 11. korak: Postavite ESP in umerite
- 12. korak: Čestitamo! Končali ste
Video: Senzor prisotnosti: 12 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Nosilne naprave so običajno naprave, ki podpirajo BLE. Običajno je, da občasno objavijo nekatere podatke na svojem naslovu MAC. ESP uporabljamo za skeniranje teh podatkov in sprožanje dogodka prek interneta, ko najde določen naslov MAC. Ta izvedba je namenjena enemu uporabniku na pametnem vtiču, priključenem na svetilko. Lahko pa se uporablja tudi z nizom registriranih naprav z vsemi vrstami naprav, ki podpirajo IOT.
Zaloge
- ESP32
- (neobvezno) TECKIN WiFi stenski vtič S10
- BLE -naprava katere koli vrste
1. korak: Določite svoj scenarij
Za sprožilec bi lahko uporabili večino sodobnih oblačil. To je lahko ura Apple Watch, mi fit band, telefon ali celo vaša lastna naprava DIY, ki temelji na ESP32.
Verjetno eden najpomembnejših korakov. V treh stvareh morate razmišljati vnaprej:
1. Katera nosljiva naprava ali naprava bo sprožilec senzorja bližine.
2. Kaj bo sprožilo senzor (to se naredi prek IFTTT).
3. Ko se bo senzor sprožil
V tem primeru bom z uro Apple Watch sprožil pametni vtič za vklop svetilke, ko bom sedel za svojo mizo.
V tej vadnici bomo pogledali pametni vtič podjetja TECKIN. Na Amazonu ga lahko najdete po ugodni ceni. Združljiv je tudi z Alexa in google Home. Dobra vrednost!
2. korak: (Uvod) Nastavite sprožilec - več uporabnikov
Če želite konfigurirati tako, da deluje katera koli oseba z napravo, ki podpira BLE, dovolj blizu vašega senzorja, preskočite naslednji korak. To je zelo koristno, saj nastavitev uporabljam osebno. Imejte v mislih, da je ta senzor mogoče zlahka vdreti ali izkoristiti za sprožitev, zato ne verjamem veliko v pinto varnostnega stojala; samo za praktično (tj. ne želim, da bi ga sprožil moj računalnik, saj bo vedno zraven senzorja).
3. korak: (Uvod) Nastavite sprožilec - omejeni uporabniki
Ta korak se močno razlikuje glede na vašo nastavitev. Če želite omejiti, katere naprave lahko sprožijo senzor, morate omejiti številne poti:
- Naslov BLE MAC (enakovreden naslovu IP v omrežju wifi. Razlog, da ne zagotavlja varnosti, saj ni pravi naslov MAC modula. Na napravah iOS se spremeni vsakič, ko znova zaženete bluetooth, ni tako zabavno)
- Koda proizvajalca (boljša možnost, vendar ne morete omejiti določenih naprav istega proizvajalca/modela)
- Ime, storitev UIDD (redka, vendar najboljša možnost, večinoma nosljive naprave za lastne roke ali morda aplikacija za Android)
Nekaj opomb:
1. Če gre za napravo iOS:
- Imate nekaj pomembnih prednosti in slabosti. Pro, prenašajo raven moči, na kateri so oglaševalni podatki. To je koristno na stopnji kalibracije. Ugotovili boste, da je uporaba Apple Watch koristna, saj oddaja pri 24 db, iPhone in večina naprav oddaja pri 12 db.
CON, boste morali najti rešitve. Oglašeni naslov MAC (glavni način identifikacije) se ob vsakem ponovnem zagonu signala bluetooth spremeni, kar pomeni, da boste morali kodo naložiti vsakič … ni zabavno. Uporabite lahko podatke proizvajalca, ki se med različnimi modeli lahko razlikujejo. To pomeni, da lahko omejite, tako da zazna "vse iPhone 8".
2. Če gre za napravo Android:
- Osebno nimam naprave Android. Verjetno pa obstaja veliko aplikacij, ki lahko popravijo naslov MAC ali celo dodajo osebno ime (če tako želite). Na napravah iOS obstaja aplikacija "nrf connect", ki to lahko stori. Ni pa vztrajen, kar pomeni, če zaklenete zaslon ali preklopite med aplikacijami.. konfiguracija se izklopi v nekaj sekundah.
3. Še en ESP32. (najboljša stava)
- Tako preprosto kodo je mogoče implementirati v napravo, kot je ta; pametni pas z napajanjem esp32. Koda je pravzaprav primer iz knjižnice ESP BLE BLE_IBeacon.ino. Nisem ga veliko preizkusil, ker je moj pametni bend na pošiljki, verjetno bom kmalu objavil posodobitve.
4. korak: (Nastavitev) - IFTTT
V redu, zato bi morali na tej stopnji sprejeti vse odločitve svojega delovnega toka. Imate svojo sprožilno napravo, lahko postavite ESP z brezžično povezavo z internetom in imate v mislih dejanje, ki ga lahko IFTTT avtomatizira.
IFTTT je močan; ne glede na to, ali želite samo poslati preprosto obvestilo na svojo napravo, želite, da se pošlje tweet ali vklopite žarnico s pametnim vtičem. V tej vadnici bomo zadnji izvedli s pametnimi vtiči TECKIN, združljivimi z IFTTT. Kakorkoli, prenesite aplikacijo IFTTT ali pojdite na spletno mesto IFTTT.com in ustvarite račun.
To je to zaenkrat!
Če želite samo poslati obvestilo ali kaj drugega kot vtičnico Smart Life, lahko naslednji korak preskočite.
5. korak: (Nastavitev) IOT naprava *neobvezno *
Prenesite aplikacijo "Smart Life" iz trgovine PlayStore (android) ali AppStore (iOS). Navodila so precej jasna, čeprav je postopek nekoliko zapleten. Ugotovil sem, da se je v fazi skeniranja (ko je modri gumb utripal) v nekem trenutku ustavil, nato pa sem ga ročno pritisnil, da sem ga nekajkrat vklopil in izklopil. To mi je pomagalo. Kakorkoli že; nastavitev tega vtičnika ni nič drugačna od naše aplikacije, zato morate biti pripravljeni, če ga že imate in ga povežete z aplikacijo.
OPOMBA: Preden nadaljujete s tem korakom, morate imeti možnost vklopiti in izklopiti stikalo iz aplikacije. To bo pomenilo, da ste pametni vtič pravilno konfigurirali.
Aplikacija IFTTT bi se morala brezhibno sinhronizirati z aplikacijo "Smart Life", kar bi verjetno zahtevalo preverjanje pristnosti med ustvarjanjem dogodka v naslednjem koraku.
6. korak: (Namestitev) IFTTT Webhook Api *Izkušeni uporabniki *
Če še niste uporabljali aplikacije IFTTT in vam nekateri tehnični izrazi niso všeč, preskočite ta korak za Podroben vodnik (s fotografijami) v naslednjem koraku.
1. Ustvarite nov dogodek.
2. Nastavite »this« kot API za webhook. Zapišite ime, ki ste ga nastavili za dogodek.
3. Nastavite "to" na želeno vedenje. Za iskanje pametnega vtičnika po pametnem življenju in izberite 'vklopi'.
4. Izberite svoj pametni vtič in pritisnite konec.
5. Na začetnem zaslonu poiščite kartico 'webhooks'. Ko ste pritisnili, pritisnite "get more" na dnu.
6. Pritisnite dokumentacijo. To vam bo pokazalo vaš ključ api skupaj z graditeljem in testerjem URL -jev.
7. Uporabite de URL builder z imenom, ki ste ga zapisali pri #2. Kopirajte in zapišite.
8. Ponovite, če želite, da se sproži vedenje, ko senzor prisotnosti ni več aktiven. V našem primeru ponovite #3, vendar izberite 'izklopi'. Tudi pri številki 2 bi moralo biti ime tokrat drugačno.
Če ste končali, preskočite naslednji korak.
7. korak: (Namestitev) IFTTT Webhook Api *Za začetnike s fotografijami *
Podroben vodnik *fotografski vodnik mora biti podoben pri androidu in na spletu *
IFTTT je preprost potek dela, če se "to zgodi", potem "to se zgodi". Ustvariti morate novega, 1. v aplikaciji pritisnite "get more" in prikazal se bo seznam.
2. Tik pod iskalno vrstico a piše "naredite svoje programčke iz nič", pritisnite znak Plus.
3. Pritisnite znak "ta" plus
V našem primeru bo "to" klic api prek interneta. Klic api je posvetovanje z URL -jem, na primer, ko vnesete iskanje Google in je URL google.com/ (dolg niz znakov). Če želite ustvariti api: (po pritisku na "to")
4. Poiščite »webhooks«
5. Izberite edino možnost
6. Poimenujte svoj dogodek (v tem primeru bomo uporabili "Sit"). Zapišite to ime, zelo pomembno.
7. Pritisnite Ustvari sprožilec
V redu! zdaj smo bližje "tistemu" delu. V tej vadnici bomo nastavili "to" za vklop pametnega vtiča. Iz IFTTT pa lahko izberete karkoli. Dober način za preizkušanje nastavitve je, da izberete »obvestila«, ki bodo poslala obvestilo na vaš telefon vsakič, ko se senzor sproži (ali se api pokliče, tudi iz spletnega brskalnika: uporabno za testiranje!)
8. Pritisnite znak "to" plus
9. Poiščite »Pametno življenje« (ali »obvestila«)
10. Pritisnite 'vklopi' (te korake boste morali ponoviti, če želite ustvariti nov dogodek, ki ga želite izklopiti ob odhodu)
11. Če imate obe aplikaciji in vtič pravilno konfigurirani, morate na spustnem seznamu videti, katera naprava/skupina.
12. Izberite Ustvari dejanje in nato končajte.
Zdaj bi morali videti, da je dogodek povezan. Zdaj moramo dobiti URL api. Za to:
13. Pojdite na začetni zaslon IFTTT
14. Poiščite kartico Webhooks
15. Izberite "Pridobite več"
16. Dotaknite se gumba Dokumentacija. Videti bi morali spletno stran s ključem.
17. Pri nadomestnih oznakah »{event}« vnesite ime svojega dogodka (ne pozabite na točko 6)
18. Pojdite na dno strani in se dotaknite »Preizkusi«
Verjetno bi morali videti zeleno zastavico "dogodek je bil sprožen" in morali bi videti, ali je deloval ali ne. V našem primeru se mora vtič vklopiti. Ali pa bi morali videti obvestilo, če ste se odločili za to pot. Morda bo trajalo nekaj časa, vendar ne več kot minuto, da vidite, ali vam je to uspelo. Ne pozabite, da je verjetno občutljiv na velike in male črke.
19. Končno. Kopirajte URL, na katerem ste zamenjali ime svojega dogodka (pri 17), in ga shranite na varno. To boste kmalu potrebovali.
20. Ponovite 1-12. Ob 6 bomo tokrat uporabili "Stand". Pri 10 izberite "izklopi".
21. Če želite, ponovite 13-18, vendar se lahko izognete URL-ju, ki ste ga kopirali pri 19, zdaj pa spremenite kraj, kjer ste napisali "Sedi", in ga nadomestite s "Stoj". To lahko preizkusite v spletnem brskalniku. Moral bi napisati "Čestitam! Odpravili ste dogodek Stand ". Potem bi moral biti vtič izklopljen.
8. korak: (Koda) Programiranje ESP32
Ta korak lahko preskočite, če se počutite udobno in naložite skice iz Arduino IDE na svojo ploščo ESP32. Ne pozabite, da za aplikacijo nastavite particijo 2 MB, saj skica tehta običajno več kot 1,2 MB običajne omejitve.
Obstaja veliko odličnih vaj, nekaj jih priporočam:
circuitdigest.com/microcontroller-projects…
Ampak vseeno, da niste tako izgubljeni, bom razčlenil nekaj pomembnih ključnih točk.
- ESP32 ni plošča Arduino, vendar jo lahko še vedno programira Arduino IDE. S preprosto kodo Arduino. Vendar boste morali še vedno konfigurirati IDE za delo z ESP32.
- Nekatere knjižnice boste morali po želji namestiti prek 'Upravitelja dodatnih plošč'. To je URL, ki ga morate prilepiti:
-(neobvezno, lahko pomaga) V Orodja-> Upravljanje knjižnic… -> (poišči knjižnico esp BLE)
- pri Orodjih bi morali imeti zdaj dolg seznam naprav ESP, priporočam modul ESP32 dev
- (POMEMBNO) Izberite (brez aplikacije Ota 2mb/2mb spifs) v upravitelju particij. Ta korak je pomemben, saj aplikacija postane precej težka zaradi uporabe povezav wifi/http in bralnika BLE.
Če ste vse naredili prav, bi morali programirati ESP32. Zdaj je postopek tega podoben arduinu na nekaterih ploščah. Priključite ga, izberite ustrezno ploščo, vrata USB in končali ste. Toda v mnogih drugih primerih boste morali nadaljevati
9. korak: (Koda) Naložite kodo v ESP32
V redu, če ste tukaj, to pomeni, da ste skico uspešno naložili na ploščo ESP32, po možnosti skico blink.ino.
Tukaj je priložena glavna koda, ki jo najdete tudi na repoju GitHub. Zamenjati morate naslednje:
SSID - Ime vašega WiFi
PSK - vaše geslo za wifi
sit - URL z "Sit" iz API -ja IFTTT, ki ste ga napisali prej
stand - URL z "Stand" iz API -ja IFTTT, ki ste ga napisali prej
Zdaj približajte sprožilno napravo plošči in nato naložite kodo. Potem, ko uspešno naložite kodo, odprite serijski monitor (baud 115200).
Če nameravate to uporabljati s katero koli napravo, ki podpira BLE, preskočite naslednji korak.
OPOMBA: če dobite sporočila o napakah v pomnilniku, je to zato, ker privzete nastavitve pustijo le 1 MB pomnilnika (od prisotnih 4 MB) za surovo kodo ESP. Del za nekaj stvari pusti kot možnost programiranja po zraku. Običajno naredim naslednje:
- pri Orodjih bi morali imeti zdaj dolg seznam naprav ESP, priporočam ESP32 dev module- pri upravitelju particij izberite 'no Ota 2mb app/2mb spifs'.
To mi daje dvojni pomnilniški prostor, potreben za to aplikacijo.
10. korak: (Koda) Naložite kodo v ESP32 *izbirno *
Tu je zapleten del, omenjen v koraku "Nastavi sprožilec". Monitor bo prikazal naslov MAC (videti mora biti kot ##: ##: ##: ##: ## kjer je#številka ali črka od a do f), koda proizvajalca in RSSI (negativno število). Tu se morate malo poigrati, da ugotovite, katera je vaša naprava. Običajno ga postavim ob tablo, da lahko jasno vidim, katera je najmanjša številka. Počistim polje 'samodejno pomikanje', da lahko kopiram vrednosti.
- Če je naslov Mac, ga izpolnite z »myDevice«. Nato razkomentirajte vrstico #96 in vrstico komentarja #95
- Če je to ime, ga napolnite z »myDevice«. Nato razkomentirajte vrstico #97 in vrstico komentarja #95
- Če gre za MaufactureData, zaenkrat nimate sreče, ta del še razvijam.
Če želite dodati podporo za naprave may, bi morali biti sposobni kopirati izjavo o pogojih na številki 96 ali 97 in jih postaviti drug poleg drugega v tej skladnji:
if ((pogoj1) || (pogoj2) || (pogoj3)) {
Ustrezno dodajte več spremenljivk (myDevice1, myDevice2, myDevice3).
11. korak: Postavite ESP in umerite
To je najpomembnejši del nastavitve. Če skrbno preidete skozi ta proces, bo razlika v tem, da bo delovala kot čarovnija ali pa vam bo povzročala le močne glavobole.
Na tej točki koda, ki ste jo naložili, deluje s parametri, ki sem jih osebno preizkusil in jih uporabljam vsak dan s telefonom na mizi; to ne pomeni, da bo delovalo tudi pri vas. Kalibracijo morate torej narediti sami.
1. Ploščo ESP32 postavite na njeno končno FIKSNO mesto. Če iz nekega razloga premaknete položaj svojega ESP32, bi to verjetno morali ponoviti. To vam bo na splošno zagotovilo dobro izkušnjo.
1. (dodatno) ne pozabite, da se boste morali pri tem povezati z računalnikom. Če ne morete, ker ste na namizju, boste morali opraviti poskuse in napake, pri čemer upoštevajte, da mora biti vsak poskus skoraj enak v položaju, sprožilni napravi in drugih dejavnikih, ki se lahko štejejo.
2. Odprite serijski monitor s kodo, ki se izvaja.
Koda bo privzeto poslala prek serijskega monitorja RSSI (oznaka prejete jakosti signala) vsake najdene naprave Bluetooth (ali samo naprav, ki ustrezajo vašim parametrom). Malo se poigrajte s svojo glavno akcijsko napravo (sprožilno napravo). Določiti morate, katere mejne vrednosti želite uporabiti. Skrbno prilagodite to konfiguracijo
3. Ko določite pragove, jih zamenjajte tukaj:
- near_thrsh
- far_thrsh
4. Ponovno naložite kodo, preizkusite in ponavljajte, dokler ne najdete optimalne zmogljivosti.
Nekaj stvari, ki jih je treba upoštevati:
1. Želite približno 20db razlike med pragoma. Če je blizu_thrsh nastavljeno na 50, je zaželeno, da je far_thrsh 70 ali več. Če je razlika prekratka, boste morda našli nekaj razdalj ali krajev, kjer se deska sproži vklop in izklop. S povečanjem te razlike se boste izognili temu neželenemu vedenju. Osebno sem ugotovil, da je 20db marže dovolj dobro.
2. Pri kalibracijskih testih, kolikor je to mogoče, bo to pomagalo določiti najboljšo zmogljivost.
3. Preučite razred v vrstici 82 kode; tukaj je narejena vsa logika. Koda je dobro komentirana. Vprašajte na GitHubu!
12. korak: Čestitamo! Končali ste
Sporočite mi v komentarjih kakršne koli predloge ali če imate težave. Ne pozabite preveriti GitHub, če je vaša težava že rešena!
Priporočena:
Detektor prisotnosti postelje Zigbee: 8 korakov
Zigbee detektor prisotnosti postelje: Že nekaj časa sem iskal način, kako zaznati, kdaj smo v postelji. To za uporabo teh podatkov v Homeassistant. S temi informacijami bi lahko avtomatiziral ponoči izklop luči ali na primer aktiviral alarmni sistem v svojem domu
Sistem prisotnosti na podlagi prstnih odtisov in RFID z uporabo baze podatkov Raspberry Pi in MySQL: 5 korakov
Sistem prisotnosti na podlagi prstnih odtisov in RFID z uporabo baze podatkov Raspberry Pi in MySQL: videoposnetek tega projekta
Sistem prisotnosti s pošiljanjem podatkov RFID na strežnik MySQL z uporabo Pythona z Arduinom: 6 korakov
Sistem prisotnosti s pošiljanjem podatkov RFID na strežnik MySQL z uporabo Pythona z Arduinom: V tem projektu sem povezal RFID-RC522 z arduinom in nato pošiljam podatke RFID v bazo podatkov phpmyadmin. Za razliko od naših prejšnjih projektov v tem primeru ne uporabljamo nobenega ethernetnega ščita, tukaj samo beremo serijske podatke, ki prihajajo iz ar
Sistem prisotnosti s shranjevanjem podatkov v Googlovi preglednici z uporabo RFID in Arduino Ethernet Shield: 6 korakov
Sistem udeležencev s shranjevanjem podatkov v Googlovi preglednici z uporabo RFID in Arduino Ethernet Shield: Pozdravljeni, fantje, tukaj prihajamo do zelo razburljivega projekta in tako pošiljamo podatke rfid v Googlovo preglednico z uporabo Arduina. Skratka, naredili bomo sistem obiskanosti, ki temelji na bralniku RFID, ki bo podatke o prisotnosti v realnem času shranil v goog
Senzor prisotnosti postelje s SONOFF: 8 korakov (s slikami)
Senzor prisotnosti postelje s SONOFF -om: Dobrodošli v tej vadnici! Če sonoffa nikoli niste označili s tasmoto, se ga morate najprej naučiti in šele potem ga boste lahko zgradili. Če ne veste, da sonof