Sisukord:

Kohalolekuandur: 12 sammu
Kohalolekuandur: 12 sammu

Video: Kohalolekuandur: 12 sammu

Video: Kohalolekuandur: 12 sammu
Video: 紅外線人體感測器 #居家水電 #生活科技 2024, November
Anonim
Kohalolekuandur
Kohalolekuandur

Kantavad on tavaliselt BLE -toega seadmed. On tavaline, et nad reklaamivad perioodiliselt mõningaid andmeid oma MAC -aadressil. Kasutame ESP -d nende andmete skannimiseks ja sündmuse käivitamiseks Interneti kaudu, kui see leiab kindla MAC -aadressi. See konkreetne rakendus on mõeldud lambi külge ühendatud nutika pistiku ühele kasutajale. Kuid seda saab kasutada ka registreeritud seadmete komplektiga mis tahes IOT -toega seadmetega.

Tarvikud

  1. ESP32
  2. (valikuline) TECKIN WiFi seinapistik S10
  3. Igasugune BLE -toega seade

Samm: määratlege oma stsenaarium

Määrake oma stsenaarium
Määrake oma stsenaarium

Päästiku jaoks võite kasutada enamikku tänapäevaseid kantavaid riideid. See võib olla Apple Watch, mi fit bänd, telefon või isegi teie enda kantav ESP32 -l põhinev DIY.

Ilmselt üks olulisemaid samme. Peate 3 asja ette mõtlema:

1. Milline kantav seade või seade on lähedusanduri käivitaja.

2. Mis käivitab anduri (seda tehakse IFTTT kaudu).

3. Kui andur käivitub

Selle näite puhul kasutan oma Apple Watchi, et käivitada nutikas pistik lambi sisselülitamiseks, kui istun oma laua taga.

Selles õpetuses vaatame TECKINi nutikat pistikut. Selle leiate Amazonist hea hinnaga. See ühildub ka Alexa ja Google Home'iga. Suur väärtus!

2. samm: (sissejuhatus) Määrake käivitaja - mitu kasutajat

Kui soovite seadistada nii, et see töötaks kõigil inimestel, kellel on BLE -toega seade teie andurile piisavalt lähedal, jätke järgmine samm vahele. See on päris kasulik, see on seade, mida ma isiklikult kasutan. Pidage meeles, et seda andurit saab hõlpsasti häkkida või käivitada, nii et ma ei usaldaks turvaseisu pinti; lihtsalt praktiliseks (st ma ei taha, et seda käivitaks minu arvuti, kuna see on alati anduri kõrval).

3. samm: (sissejuhatus) Määrake käivitaja - piiratud kasutajad

See samm varieerub suuresti teie seadistusest. Anduri käivitamiseks vajalike seadmete piiramiseks peate piirama mitut marsruuti.

- BLE MAC -aadress (samaväärne wifi -võrgu IP -aadressiga. Põhjus, miks see ei taga turvalisust, kuna see pole mooduli tegelik MAC -aadress. IOS -i seadmetes muutub see iga kord, kui Bluetoothi taaskäivitate, mitte nii lõbus)

- Tootja kood (parem valik, kuid mitte mingil moel piirata sama tootja/mudeli konkreetseid seadmeid)

- Nimi, teenuse UIDD (haruldane, kuid parim valik, enamasti isetehtud riided või võib -olla android -rakendus)

Mõned märkused:

1. Kui see on iOS -i seade:

- Sul on mõned olulised plussid ja miinused. Pro, nad edastavad võimsuse taset, mille juures see reklaamiandmeid reklaamib. See on kalibreerimisetapis kasulik, leiate, et Apple Watchi kasutamine on kasulik, kuna see edastab 24 dB, iPhone'id ja enamik seadmeid edastavad 12 dB.

CON, peate leidma lahendusi. Reklaamitud MAC -aadress (peamine identifitseerimismeetod) muutub iga kord, kui Bluetooth -signaal taaskäivitatakse, mis tähendab, et peate koodi iga kord üles laadima… pole lõbus. Võite kasutada tootja andmeid, mis võivad mudeliti erineda. See tähendab, et saate piirata nii, et see tuvastaks "kõik iPhone 8".

2. Kui see on Android -seade:

- Mul isiklikult pole androidseadet. Kuid tõenäoliselt on palju rakendusi, mis suudavad MAC -aadressi parandada või isegi isikupärastatud nime lisada (kui soovite seda teha). IOS -i seadmetes on rakendus "nrf connect", mis saab seda teha. Kuid see pole püsiv, st kui lukustate ekraani või vahetate rakendusi.. konfiguratsioon kustub mõne sekundi pärast.

3. Teine ESP32. (teie parim valik)

- Sellist lihtsat koodi saab rakendada sellises seadmes nagu see; esp32 toitega nutiriba. Kood on tegelikult näide ESP BLE raamatukogust BLE_IBeacon.ino. Ma pole seda palju testinud, kuna minu nutikas bänd on saatmisel, tõenäoliselt postitab värskendused peagi.

4. samm: (seadistamine) - IFTTT

(Seadistus) - IFTTT
(Seadistus) - IFTTT

Olgu, nii et selles etapis peaksite tõenäoliselt võtma kõik oma töövoo plaanid. Teil on käivitusseade, teil on koht, kuhu juhtmevaba Interneti -ühendusega ESP ühendada, ja teil on toiming, mida IFTTT saab automatiseerida.

IFTTT on võimas; olgu selleks lihtsalt lihtsa teatise saatmine teie seadmesse, kas soovite säutsu saata või lülitada nutipistikuga lambipirn sisse. Selles õpetuses rakendame viimast IFTTT -ga ühilduvate TECKIN -i nutipistikutega. Mõlemal juhul laadige alla IFTTT rakendus või minge veebisaidile IFTTT.com ja looge konto.

See on praegu!

Kui soovite saata lihtsalt teatise või midagi muud kui Smart Life'i pistik, võite järgmise sammu vahele jätta.

5. samm: [seadistamine] IOT -seade *valikuline *

Laadige rakendus "Smart Life" alla PlayStore'ist (android) või AppStore'ist (iOS). Juhised on üsna lihtsad, kuigi protsess on natuke keeruline. Avastasin skaneerimise etapis (kui sinine nupp vilkus) see mingil hetkel lakkas, siis vajutasin seda paar korda sisse ja välja lülitamiseks käsitsi. See aitas mind. Igatahes; Selle pistiku seadistamine ei erine meie rakendusest, nii et kui teil on see juba olemas ja see on teie rakendusega ühendatud, peaksite olema valmis.

TÄHELEPANU. Enne selle sammuga jätkamist peate suutma rakenduses sisse ja välja lülitada. See tähendab, et olete nutika pistiku õigesti seadistanud.

Rakendus IFTTT peaks sünkroonima rakendusega "Smart Life" sujuvalt, tõenäoliselt paludes järgmisel etapil sündmuse loomisel autentimist.

6. toiming: [seadistamine] IFTTT Webhook Api *Kogenud kasutajad *

[Seadistamine] IFTTT Webhook Api *Kogenud kasutajad *
[Seadistamine] IFTTT Webhook Api *Kogenud kasutajad *

Kui te pole enne IFTTT -rakendust kasutanud ega tunne mõningaid tehnilisi termineid, siis jätke see samm järgmiseks sammuks üksikasjaliku juhendi (koos fotodega) juurde.

1. Looge uus sündmus.

2. Seadistage see „webhook api”. Kirjutage sündmusele määratud nimi üles.

3. Seadke "see" soovitud käitumisele. Nutika pistiku jaoks otsige nutikat elu ja valige käsk "lülita sisse".

4. Valige oma nutikas pistik ja vajutage nuppu Lõpeta.

5. Otsige avaekraanilt kaarti „webhooks”. Pärast selle vajutamist vajutage allosas nuppu "saada rohkem".

6. Vajutage dokumentatsiooni. See näitab teile oma API -võtit koos URL -i koostaja ja testeriga.

7. Kasutage de URL -i koostajat nimega, mille kirjutasite numbrile 2. Kopeerige see ja kirjutage üles.

8. Korrake seda, kui soovite, et käitumine käivituks, kui kohalolekuandur pole enam aktiivne. Meie puhul korrake numbrit 3, kuid valige käsk "lülita välja". Samuti peaks number 2 juures seekord ka nimi erinev olema.

Kui olete lõpetanud, jätke järgmine samm vahele.

Samm 7: (seadistamine) IFTTT Webhook Api *Algajatele, kellel on fotod *

(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *
(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *
(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *
(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *
(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *
(Seadistus) IFTTT Webhook Api *Algajatele, kellel on fotod *

Üksikasjalik juhend *fotojuhend peaks olema Androidiga ja veebis sarnane *

IFTTT on lihtne töövoog, kui "see juhtub", siis "see juhtub". Peate looma uue, 1. vajutage rakenduses nuppu "saada rohkem" ja kuvatakse loend.

2. Vahetult otsinguriba a all ütleb „tee oma apletid nullist” ja vajuta plussmärki.

3. Vajutage plussmärki "see"

Meie puhul saab "see" olema api -kõne Interneti kaudu. Apikõne on URL -i konsultatsioon, näiteks kui sisestate Google'i otsingu ja URL on google.com/(pikk tähemärk). Api loomiseks: (pärast "see" vajutamist)

4. Otsige "veebihaagid"

5. Valige ainus võimalus

6. Nimetage oma sündmus (selles näites kasutame "Sit"). Kirjutage see nimi üles, see on väga oluline.

7. Vajutage Create Trigger

Okei! oleme lähemal, nüüd "sellele" osale. Selle õpetuse jaoks seadistame nutika pistiku sisselülitamiseks "selle". Kuid IFTTT -st saate valida ükskõik mida. Hea viis seadistuse testimiseks on valida "märguanded", mis saadavad teie telefonile märguande iga kord, kui andur käivitub (või kutsutakse api, isegi veebibrauserist: kasulik testimiseks!)

8. Vajutage plussmärki "see"

9. Otsige "Smart Life" (või "märguanded")

10. Vajutage nuppu „lülita sisse” (peate neid samme kordama, et luua teine sündmus, mille väljalülitamiseks välja lülitada)

11. Kui teil on mõlemad rakendused ja pistik õigesti konfigureeritud, peaksite oma pistikut nägema rippmenüüst, milline seade/rühm.

12. Valige Loo toiming ja seejärel lõpetage.

Nüüd peaksite nägema, et sündmus on ühendatud. Nüüd peame hankima api URL -i. Selle jaoks:

13. Minge IFTTT avaekraanile

14. Leia Webhooks kaart

15. Valige "Hangi rohkem"

16. Puudutage nuppu Dokumentatsioon. Peaksite nägema oma võtmega veebilehte.

17. Sisestage kohatäidetesse "{event}" oma sündmuse nimi (pidage meeles punkti 6)

18. Minge lehe alaossa ja puudutage "Testi seda"

Tõenäoliselt peaksite nägema rohelise ribareklaami "sündmus on käivitatud" ja peaksite nägema, kas see töötas või mitte. Meie puhul peaks pistik sisse lülituma. Või kui peaksite seda teed minema, peaksite nägema märguannet. Võib kuluda natuke aega, kuid mitte rohkem kui minut, et näha, kas see õnnestus. Pidage meeles, et tõenäoliselt on tõstutundlik.

19. Lõpuks. Kopeerige URL, kus asendasite sündmuse nime (kell 17), ja salvestage see kuhugi turvalisse kohta. Seda vajate varsti.

20. Korda 1.-12. Kell 6 kasutame seekord "Stand". Kell 10 valige selle asemel väljalülitamine.

21. Soovi korral korrake 13-18, kuid saate kell 19 kopeeritud URL-ist pääseda, kuid muutke nüüd koht, kus kirjutasite "Istu", ja asendage see sõnaga "Stand". Saate seda veebibrauseris testida. See peaks ütlema: "Palju õnne! Olete vallandanud stendiürituse '. Siis oleks pistik pidanud välja lülituma.

8. etapp: (kood) ESP32 programmeerimine

(Kood) ESP32 programmeerimine
(Kood) ESP32 programmeerimine

Selle sammu saate vahele jätta, kui tunnete end mugavalt Arduino IDE -st visandite ESP32 -plaadile üleslaadimisel. Pidage meeles, et määrate rakendusele vähemalt 2 MB sektsiooni, kuna visand kaalub tavalisest pisut üle 1,2 MB.

Seal on palju suurepäraseid õpetusi, siin on mõned neist, mida soovitan:

circuitdigest.com/microcontroller-projects…

Aga siiski, nii et te pole nii kadunud, jagan mõned olulised põhipunktid.

- ESP32 ei ole Arduino plaat, kuid seda saab siiski programmeerida Arduino IDE abil. Lihtsa Arduino koodiga. Kuid peate ikkagi konfigureerima IDE ESP32 -ga töötamiseks.

- Peate installima mõned teegid eelistuste 'Lisalaudade halduri' kaudu. See on URL, mille peaksite kleepima:

-(valikuline, võib aidata) Tööriistad -> Halda raamatukogusid… -> (otsige esp BLE raamatukogu)

- Tööriistades peaks teil nüüd olema pikk ESP -seadmete loend, soovitan ESP32 dev moodulit

- (TÄHTIS) Valige partitsioonide haldurist (puudub 2 MB rakendus/2 MB spif). See samm on oluline, kuna rakendus muutub üsna raskeks nii wifi/http -ühenduste kui ka BLE -skanneri kasutamisel.

Kui tegite kõik õigesti, peaksite saama ESP32 programmeerida. Nüüd on selle tegemise protsess mõnes lauas sarnane arduinoga. Ühendage see, valige sobiv plaat, USB -port ja olete valmis. Kuid paljudel muudel juhtudel peate jätkama

Samm: [Kood] Laadige kood ESP32 -sse üles

(Kood) Laadige kood ESP32 -sse
(Kood) Laadige kood ESP32 -sse

Ok, kui olete siin, tähendab see, et olete ESP32 tahvlile eskiisi edukalt üles laadinud, eelistatavalt blink.ino eskiisi.

Siin on lisatud peamine kood, selle leiate ka GitHubi repost. Peate asendama järgmise:

SSID - teie wifi nimi

PSK - teie wifi parool

istuda - URL, kus on "Istu" IFTTT api -st, mille te varem kirjutasite

stand - URL koos stendiga Varem kirjutatud IFTTT api -st

Nüüd viige käivitusseade tahvli lähedale ja laadige seejärel kood üles. Seejärel avage pärast koodi edukat laadimist jadamonitor (baud 115200).

Kui kavatsete seda kasutada mis tahes BLE -toega seadmega, jätke järgmine samm vahele.

MÄRKUS. Kui saate mälu veateateid, siis sellepärast, et vaikeseaded jätavad ESP toorkoodi jaoks ainult 1 MB mälu (4 MB -st). See jätab osa mitmele asjale, mida saab õhu kaudu programmeerida. Tavaliselt teen järgmist:

- Tööriistades peaks teil nüüd olema pikk ESP-seadmete loend, soovitan ESP32 dev-moodulit- partitsioonide halduris valige 'no Ota 2mb app/2mb spifs'.

See annab mulle selle rakenduse jaoks vajaliku kahekordse mälu.

Samm: [Kood] Laadige kood ESP32 -sse *valikuline *

[Kood] Laadige kood ESP32 -sse *valikuline *
[Kood] Laadige kood ESP32 -sse *valikuline *

Siin on keeruline osa, mida mainiti sammul "Määra päästik". Monitor väljastab MAC -aadressi (peaks välja nägema nagu ##: ##: ##: ##: ## kus#on kas number või täht a -st f), tootja kood ja RSSI (negatiivne arv). Siin peate natuke mängima, et teada saada, milline on teie seade. Tavaliselt panen selle tahvli kõrvale, et saaksin selgelt näha, milline on väikseim number. Tühjendan märkeruudu „automaatne kerimine”, et saaksin väärtusi kopeerida.

  • Kui see on Maci aadress, täitke sellega 'myDevice'. Seejärel tühistage rida 96 ja kommentaaririda 95
  • Kui see on nimi, täitke sellega 'myDevice'. Seejärel tühistage rida 97 ja kommentaaririda 95
  • Kui teil on praegu MaufactureData -l õnne, siis arendan seda osa endiselt.

Toetuse lisamiseks seadmetele peaksite saama kopeerida tingimuslause kas numbril 96 või #97 ja asetada need üksteise kõrvale sellesse süntaksi:

kui ((tingimus1) || (tingimus2) || (tingimus3)) {

Lisage vastavalt rohkem muutujaid (myDevice1, myDevice2, myDevice3).

Samm: asetage ESP ja kalibreerige

Asetage ESP ja kalibreerige
Asetage ESP ja kalibreerige

See on seadistuse kõige olulisem osa. Selle protsessi hoolikas läbimine erineb sellest, et see töötab nagu võluväel või tekitab teile lihtsalt tugevat peavalu.

Siinkohal töötab teie üleslaaditud kood parameetritega, mida olen isiklikult testinud ja kasutan iga päev oma telefoniga laual; see ei tähenda, et see töötab ka teie jaoks. Seega peate kalibreerimise ise tegema.

1. Asetage ESP32 tahvel oma lõplikku Fikseeritud kohta. Kui liigute mingil põhjusel oma ESP32 asukohta, peaksite seda tõenäoliselt uuesti tegema. See tagab teile üldiselt hea kogemuse.

1. (ekstra) pidage meeles, et seda tehes peate saama arvutiga ühenduse luua. Kui te ei saa seda teha, kuna olete töölaual, peate tegema katse -eksituse meetodit, pidades meeles, et iga katse peab positsioneerimise, käivitusseadme ja muude tegurite osas olema peaaegu identne.

2. Avage Serial Monitor, kui kood töötab.

Vaikimisi postitab kood jadamonitori kaudu iga leitud bluetooth -seadme (või ainult teie parameetritele vastava (te) seadme) RSSI (vastuvõetud signaali tugevuse näitaja). Mängige natuke oma peamise toimimisseadmega (käivitusseade). Peate määrama, millised on künnised, mida soovite kasutada. Selle konfiguratsiooni hoolikas reguleerimine võimaldab

3. Kui määrate künnised, asendage need siin:

  • ththh lähedal
  • far_thrsh

4. Laadige kood uuesti üles, testige ja korrake, kuni leiate optimaalse jõudluse.

Mõned asjad, mida kaaluda:

1. Soovite künniste vahel umbes 20 dB erinevust. Kui parameetri near_thrsh väärtus on 50, siis soovitakse, et far_thrsh oleks 70 või rohkem. Kui erinevus on liiga lühike, võite leida vahemaad või kohad, kus laud käivitub ja peatub pidevalt. Selle erinevuse suurendamine tagab selle soovimatu käitumise vältimise. Leidsin isiklikult, et 20 dB varu on piisavalt hea.

2. Kalibreerimiskatse tegeliku elu stsenaariumide korral aitab see kindlaks teha parima tulemuse.

3. Uurige koodi rea 82 juures; siin on kõik loogika tehtud. Kood on siiski hästi kommenteeritud. Küsige julgelt GitHubist!

12. samm: õnnitlused! Sa oled valmis

Andke mulle kommentaarides teada kõikidest soovitustest või kui teil on probleeme. Ärge unustage kontrollida GitHubi, kui teie probleem on juba lahendatud!

Soovitan: