Satura rādītājs:

Klātbūtnes sensors: 12 soļi
Klātbūtnes sensors: 12 soļi

Video: Klātbūtnes sensors: 12 soļi

Video: Klātbūtnes sensors: 12 soļi
Video: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Novembris
Anonim
Klātbūtnes sensors
Klātbūtnes sensors

Valkājamas ierīces parasti ir ierīces ar BLE. Parasti viņi periodiski reklamē dažus datus savā MAC adresē. Mēs izmantojam ESP, lai skenētu šos datus un aktivizētu notikumu, izmantojot internetu, kad tas atrod noteiktu MAC adresi. Šī konkrētā ieviešana ir paredzēta vienam lietotājam, kas izmanto viedo kontaktdakšu, kas savienota ar lampu. Bet to var izmantot arī ar reģistrētu ierīču komplektu ar jebkāda veida IOT iespējotām ierīcēm.

Piegādes

  1. ESP32
  2. (pēc izvēles) TECKIN WiFi sienas kontaktdakša S10
  3. Jebkura BLE iespējota ierīce

1. darbība: definējiet savu scenāriju

Definējiet savu scenāriju
Definējiet savu scenāriju

Lai aktivizētu, jūs varētu izmantot lielāko daļu mūsdienu valkājamo. Tas var būt Apple Watch, mi fit josla, tālrunis vai pat jūsu paša izgatavots valkājams, pamatojoties uz ESP32.

Iespējams, viens no vissvarīgākajiem soļiem. Jums ir jādomā uz priekšu 3 lietās:

1. Kura valkājama ierīce vai ierīce būs tuvuma sensora iedarbinātājs.

2. Kas izraisīs sensoru (tas tiek darīts, izmantojot IFTTT).

3. Kad sensors iedarbināsies

Šajā piemērā es izmantošu savu Apple Watch, lai aktivizētu viedo kontaktdakšu, lai ieslēgtu lampu, kad es sēžu pie sava galda.

Šajā apmācībā mēs aplūkosim TECKIN viedo spraudni. Jūs to varat atrast Amazonā par labu cenu. Tas ir saderīgs arī ar Alexa un Google Home. Lieliska vērtība!

2. solis: (ievads) Iestatiet aktivizētāju - vairāki lietotāji

Ja vēlaties konfigurēt tā, lai tas darbotos jebkurai personai ar ierīci, kurai ir iespējota BLE, pietiekami tuvu jūsu sensoram, izlaidiet nākamo darbību. Tas ir diezgan noderīgi, tas ir iestatījums, ko es personīgi izmantoju. Paturiet prātā, ka šo sensoru var viegli uzlauzt vai izmantot, lai iedarbinātu, tāpēc es daudz neuzticos no drošības stenda pintes; tikai praktiskai lietošanai (ti, es nevēlos, lai to iedarbinātu mans dators, jo tas vienmēr būs blakus sensoram).

3. darbība: (ievads) iestatiet aktivizētāju - ierobežoti lietotāji

Šis solis ievērojami atšķiras atkarībā no iestatījumiem. Lai ierobežotu, kuras ierīces var iedarbināt sensoru, jums ir jāierobežo daudzi maršruti:

- BLE MAC adrese (ekvivalenta IP adresei wifi tīklā. Iemesls, kāpēc tas negarantē drošību, jo tā nav moduļa patiesā MAC adrese. IOS ierīcēs tā mainās katru reizi, kad restartējat Bluetooth, nav tik jautri)

- Ražotāja kods (labāks variants, bet nekādā veidā nevar ierobežot konkrētas viena ražotāja/modeļa ierīces)

- Nosaukums, pakalpojuma UIDD (rets, bet labākais risinājums, galvenokārt DIY valkājamas lietas vai varbūt Android lietotne)

Dažas piezīmes:

1. Ja tā ir iOS ierīce:

- Jums ir daži svarīgi plusi un mīnusi. Pro, tie pārraida jaudas līmeni, kādā tiek reklamēti dati. Tas ir noderīgi kalibrēšanas posmā, un jūs atradīsit, ka Apple Watch lietošana ir noderīga, jo tā pārraida ar 24 dB, iPhone un lielākā daļa ierīču pārraida ar 12 dB.

CON, jums būs jāatrod risinājumi. Reklamētā MAC adrese (galvenā identifikācijas metode) mainās katru reizi, kad tiek restartēts Bluetooth signāls, kas nozīmē, ka kods būs jāaugšupielādē katru reizi … nav jautri. Varat izmantot ražotāja datus, kas dažādos modeļos var atšķirties. Tas nozīmē, ka jūs varat ierobežot, lai tas uztvertu "visu iPhone 8".

2. Ja tā ir Android ierīce:

- Man personīgi nav android ierīces. Bet, iespējams, ir daudzas lietojumprogrammas, kas var labot MAC adresi vai pat pievienot personalizētu vārdu (ja tas ir veids, kā jūs vēlaties iet). IOS ierīcēs ir lietotne "nrf connect", kas to var izdarīt. Bet tas nav noturīgs, tas nozīmē, ja bloķējat ekrānu vai pārslēdzat lietotnes.. konfigurācija izslēdzas pēc dažām sekundēm.

3. Vēl viens ESP32. (jūsu labākā izvēle)

- Šādu vienkāršu kodu var ieviest šādā ierīcē; viedā josla ar esp32. Kods patiesībā ir piemērs no ESP BLE bibliotēkas BLE_IBeacon.ino. Es neesmu to daudz pārbaudījis, jo mana viedā grupa tiek piegādāta, iespējams, drīz publicēs atjauninājumus.

4. solis: [Iestatīšana] - IFTTT

(Iestatīšana) - IFTTT
(Iestatīšana) - IFTTT

Labi, tāpēc šajā posmā jums, iespējams, vajadzētu ņemt vērā visas jūsu darbplūsmas prasības. Jums ir aktivizēšanas ierīce, jums ir vieta, kur ESP ar bezvadu savienojumu izveidot ar internetu, un jums ir prātā darbība, ko IFTTT var automatizēt.

IFTTT ir spēcīgs; neatkarīgi no tā, vai jūsu ierīcē jānosūta vienkāršs paziņojums, jūs vēlaties, lai tiktu nosūtīts tvīts vai ieslēgta spuldze ar viedo kontaktdakšu. Šajā apmācībā mēs īstenosim pēdējo ar TECKIN viedajiem kontaktdakšām, kas ir saderīgas ar IFTTT. Jebkurā gadījumā lejupielādējiet lietotni IFTTT vai dodieties uz vietni IFTTT.com un izveidojiet kontu.

Pagaidām tas tā ir!

Ja vēlaties tikai nosūtīt paziņojumu vai kaut ko citu, nevis Smart Life kontaktdakšu, varat izlaist nākamo darbību.

5. darbība. [Iestatīšana] IOT ierīce *pēc izvēles *

Lejupielādējiet lietotni “Smart Life” no PlayStore (android) vai AppStore (iOS). Instrukcijas ir diezgan vienkāršas, lai gan process ir nedaudz grūts. Es uzzināju skenēšanas stadijā (kad zilā poga mirgoja), tā kādā brīdī apstājās, tad es to manuāli nospiedu, lai pāris reizes ieslēgtos un izslēgtos. Tas man palīdzēja. Vienalga; šī spraudņa iestatīšana ar mūsu lietojumprogrammu neatšķiras, tādēļ, ja jums tas jau pieder un tas ir pievienots jūsu lietotnei, jums vajadzētu būt gatavam darbam.

ŅEMIET VĒRĀ. Pirms turpināt šo darbību, jums jāspēj ieslēgt un izslēgt lietotni. Tas nozīmē, ka esat pareizi konfigurējis viedo kontaktdakšu.

IFTTT lietotnei vajadzētu nevainojami sinhronizēties ar lietotni "Smart Life", iespējams, nākamajā darbībā veidojot notikumu, tiks pieprasīta autentifikācija.

6. darbība: (iestatīšana) IFTTT Webhook Api *Pieredzējuši lietotāji *

(Iestatīšana) IFTTT Webhook Api *Pieredzējuši lietotāji *
(Iestatīšana) IFTTT Webhook Api *Pieredzējuši lietotāji *

Ja neesat lietojis pirms IFTTT lietotnes un neesat tik apmierināts ar dažiem tehniskiem terminiem, nākamajā darbībā izlaidiet šo darbību, lai iegūtu detalizētu rokasgrāmatu (ar fotoattēliem).

1. Izveidojiet jaunu notikumu.

2. Iestatiet “this” kā tīmekļa āķa api. Pierakstiet notikumam iestatīto nosaukumu.

3. Iestatiet “to” vēlamajai uzvedībai. Lai meklētu viedo kontaktdakšu, izvēlieties viedo dzīvi un atlasiet “ieslēgt”.

4. Izvēlieties savu viedo kontaktdakšu un nospiediet Pabeigt.

5. Sākuma ekrānā meklējiet karti “webhooks”. Pēc tā nospiešanas apakšā nospiediet "iegūt vairāk".

6. Preses dokumentācija. Tas parādīs jūsu API atslēgu kopā ar URL veidotāju un testētāju.

7. Izmantojiet URL veidotāju ar nosaukumu, kuru uzrakstījāt 2. vietā. Kopējiet to un pierakstiet.

8. Atkārtojiet, ja vēlaties, lai aktivitāte tiktu aktivizēta, kad klātbūtnes sensors vairs nav aktīvs. Mūsu gadījumā atkārtojiet 3. numuru, bet izvēlieties “izslēgt”. Arī 2. vietā nosaukumam šoreiz vajadzētu būt atšķirīgam.

Ja esat pabeidzis, izlaidiet nākamo soli.

7. darbība: (iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *

(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *
(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *
(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *
(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *
(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *
(Iestatīšana) IFTTT Webhook Api *iesācējiem ar fotoattēliem *

Detalizēts ceļvedis *fotoattēlu ceļvedim jābūt līdzīgam ar android un tīmeklī *

IFTTT ir vienkārša darbplūsma, ja "tas notiek", tad "tas notiek". Jums jāizveido jauns, 1. lietotnē nospiediet "iegūt vairāk", un tiks parādīts saraksts.

2. Tieši zem meklēšanas joslas a tiek teikts: "Izveidojiet savas sīklietotnes no jauna", nospiediet pluszīmi.

3. Nospiediet plus zīmi "šis"

Mūsu gadījumā "šis" būs api zvans, izmantojot internetu. API zvans ir URL konsultācija, piemēram, kad jūs ierakstāt Google meklēšanu un URL ir google.com/(garā rakstzīmju virkne). Lai izveidotu api: (pēc "šī" nospiešanas)

4. Meklējiet “tīmekļa āķi”

5. Izvēlieties vienīgo iespēju

6. Nosauciet savu notikumu (šajā piemērā mēs izmantosim "Sit"). Pierakstiet šo vārdu, tas ir ļoti svarīgi.

7. Nospiediet Izveidot trigeri

Labi! mēs esam tuvāk, tagad "tai" daļai. Šajā apmācībā mēs iestatīsim “ka”, lai ieslēgtu viedo spraudni. Bet jūs varat izvēlēties jebko no IFTTT. Labs veids, kā pārbaudīt iestatījumus, ir izvēlēties "paziņojumus", kas katru reizi, kad sensors iedarbināsies (vai tiks izsaukts api, pat no tīmekļa pārlūkprogrammas: noderēs testēšanai!), Nosūtīs paziņojumu uz jūsu tālruni.

8. Nospiediet plus zīmi "tas"

9. Meklējiet "Smart Life" (vai "paziņojumi")

10. Nospiediet "ieslēgt" (jums būs jāatkārto šīs darbības, lai izveidotu citu notikumu, kuru izslēgt, kad dodaties prom)

11. Ja abas lietotnes un spraudnis ir pareizi konfigurēti, spraudnis ir jāredz nolaižamajā izvēlnē “kura ierīce/grupa.

12. Izvēlieties Izveidot darbību un pēc tam pabeidziet.

Tagad jums vajadzētu redzēt, ka notikums ir saistīts. Tagad mums ir jāiegūst API URL. Priekš šī:

13. Dodieties uz IFTTT sākuma ekrānu

14. Atrodiet Webhooks karti

15. Atlasiet “Iegūt vairāk”

16. Pieskarieties pogai Dokumentācija. Jums vajadzētu redzēt tīmekļa lapu ar savu atslēgu.

17. Vietturos "{event}" ievadiet sava pasākuma nosaukumu (atcerieties 6. punktu)

18. Dodieties uz lapas apakšdaļu un pieskarieties "Pārbaudīt"

Jums, iespējams, vajadzētu redzēt zaļo reklāmkarogu "notikums ir aktivizēts", un jums vajadzētu redzēt, vai tas darbojās vai nē. Mūsu gadījumā kontaktdakšai vajadzētu ieslēgties. Vai arī jums vajadzētu redzēt paziņojumu, ja esat nolēmis iet šo ceļu. Tas var aizņemt kādu laiku, bet ne vairāk kā minūti, lai redzētu, vai jums tas izdevās. Atcerieties, ka tas, iespējams, ir reģistrjutīgs.

19. Visbeidzot. Kopējiet URL, kurā aizstājāt notikuma nosaukumu (17), un saglabājiet to drošā vietā. Tas jums drīz būs vajadzīgs.

20. Atkārtojiet 1.-12. Pulksten 6 šoreiz izmantosim “Stand”. 10 vietā izvēlieties “izslēgt”.

21. Ja vēlaties, atkārtojiet 13-18, bet jūs varat izvairīties no kopētā URL 19, bet tagad nomainiet vietu, kur uzrakstījāt "Sit" un aizstājiet ar "Stand". To var pārbaudīt tīmekļa pārlūkprogrammā. Tam vajadzētu teikt “Apsveicu! Jūs esat aktivizējis Stenda pasākumu '. Tad spraudnim vajadzēja būt izslēgtam.

8. solis: (kods) ESP32 programmēšana

(Kods) ESP32 programmēšana
(Kods) ESP32 programmēšana

Šo darbību varat izlaist, ja jūtaties ērti augšupielādējot skices no Arduino IDE savā ESP32 panelī. Tikai atcerieties lietotnei iestatīt 2 MB nodalījumu vismaz kopš skices svars ir nedaudz lielāks par 1,2 MB parasto ierobežojumu.

Tur ir daudz lielisku pamācību, šeit es iesaku dažas no tām:

circuitdigest.com/microcontroller-projects…

Bet tomēr, lai jūs nebūtu tik apmaldījušies, es iedalīšu dažus svarīgus galvenos punktus.

- ESP32 nav Arduino plate, taču to joprojām var ieprogrammēt Arduino IDE. Ar vienkāršu Arduino kodu. Bet jums joprojām būs jākonfigurē IDE darbam ar ESP32.

- Jums būs jāinstalē dažas bibliotēkas, izmantojot preferences “Papildu dēļu pārvaldnieks”. Šis ir URL, kas jums jāielīmē:

-(pēc izvēles, var palīdzēt) Rīki-> Pārvaldīt bibliotēkas … -> (atrast esp BLE bibliotēku)

- Rīki tagad jums vajadzētu būt garam ESP ierīču sarakstam, es ieteiktu ESP32 dev moduli

- (SVARĪGI) Sadaļu pārvaldniekā atlasiet (nav Ota 2 MB lietotnes/2 MB spifs). Šis solis ir svarīgs, jo lietotne kļūst diezgan smaga, izmantojot gan wifi/http savienojumus, gan BLE skeneri.

Ja visu izdarījāt pareizi, jums vajadzētu būt iespējai programmēt ESP32. Tagad process dažos dēļos ir līdzīgs arduino. Pievienojiet to, izvēlieties atbilstošo plati, USB portu un esat pabeidzis. Bet daudzos citos gadījumos jums būs jāturpina

9. darbība: (kods) augšupielādējiet kodu ESP32

(Kods) Augšupielādējiet kodu ESP32
(Kods) Augšupielādējiet kodu ESP32

Labi, ja esat šeit, tas nozīmē, ka esat veiksmīgi augšupielādējis skici uz ESP32 tāfeles, vēlams blink.ino skici.

Tagad šeit ir pievienots galvenais kods, to varat atrast arī GitHub repo. Jums ir jāaizstāj šādi:

SSID - jūsu wifi nosaukums

PSK - jūsu wifi parole

sēdēt - URL ar “Sit” no IFTTT api, kuru jūs rakstījāt iepriekš

stends - vietrādis URL ar “statīvs” no IFTTT api, kuru jūs rakstījāt iepriekš

Tagad novietojiet sprūda ierīci pie tāfeles un pēc tam augšupielādējiet kodu. Pēc veiksmīgas koda ielādes atveriet seriālo monitoru (bodu 115200).

Ja plānojat to izmantot ar jebkuru BLE iespējotu ierīci, izlaidiet nākamo darbību.

PIEZĪME: ja tiek parādīti atmiņas kļūdu ziņojumi, tas ir tāpēc, ka noklusējuma iestatījumi atstāj tikai 1 MB atmiņas (no 4 MB) ESP neapstrādātajam kodam. Tas atstāj daļu dažām lietām kā iespēju programmēt ēterā. Es parasti rīkojos šādi:

- Rīkos tagad jums vajadzētu būt garam ESP ierīču sarakstam, es ieteiktu ESP32 dev moduli- nodalījumu pārvaldniekā atlasiet “nav Ota 2mb app/2mb spifs”.

Tas man dod dubultu atmiņas vietu, kas nepieciešama šai lietojumprogrammai.

10. darbība: [kods] Augšupielādējiet kodu ESP32 *pēc izvēles *

(Kods) Augšupielādējiet kodu ESP32 *pēc izvēles *
(Kods) Augšupielādējiet kodu ESP32 *pēc izvēles *

Šeit ir sarežģītā daļa, kas minēta solī "Iestatīt sprūdu". Monitors izvadīs MAC adresi (jāizskatās kā ##: ##: ##: ##: ## kur#ir skaitlis vai burts no a līdz f), ražotāja kods un RSSI (negatīvs skaitlis). Šeit jums ir nedaudz jāspēlē, lai atrastu, kura ir jūsu ierīce. Es parasti to novietoju pie tāfeles, lai es skaidri redzētu, kurš ir mazākais skaitlis. Es noņemu atzīmi no izvēles rūtiņas “automātiskā ritināšana”, lai varētu kopēt vērtības.

  • Ja tā ir Mac adrese, aizpildiet ar to 'myDevice'. Pēc tam noņemiet komentāru #96 un komentāru rindu #95
  • Ja tas ir nosaukums, aizpildiet ar to 'myDevice'. Pēc tam atceliet 97. rindu un 95. komentāra rindiņu
  • Ja tas ir MaufactureData, jums pagaidām nav paveicies, es joprojām izstrādāju šo daļu.

Lai pievienotu atbalstu maija ierīcēm, jums vajadzētu būt iespējai nokopēt nosacījuma paziņojumu numurā 96 vai #97 un novietot tos blakus viens otram šajā sintaksē:

ja ((nosacījums1) || (nosacījums2) || (nosacījums3)) {

Attiecīgi pievienojiet citus mainīgos (myDevice1, myDevice2, myDevice3).

11. darbība: ievietojiet ESP un kalibrējiet

Novietojiet ESP un kalibrējiet
Novietojiet ESP un kalibrējiet

Šī ir vissvarīgākā iestatīšanas daļa. Rūpīgi iziet šo procesu, būs atšķirība, ka tas darbosies kā maģija vai vienkārši radīs spēcīgas galvassāpes.

Šajā brīdī jūsu augšupielādētais kods darbojas ar parametriem, kurus esmu personīgi pārbaudījis un katru dienu lietoju ar savu tālruni uz sava galda; tas nenozīmē, ka tas derēs arī jums. Tātad jums pašiem jāveic kalibrēšana.

1. Novietojiet ESP32 paneli galīgajā FIXED vietā. Ja kāda iemesla dēļ pārvietojat ESP32 pozīciju, iespējams, tas jādara vēlreiz. Tas kopumā nodrošinās jums labu pieredzi.

1. (papildus) paturiet prātā, ka, to darot, jums būs jāspēj izveidot savienojumu ar datoru. Ja nevarat, jo izmantojat galddatoru, jums būs jāveic izmēģinājumi un kļūdas, paturot prātā, ka katram izmēģinājumam ir jābūt gandrīz identiskam pozicionēšanas, sprūda ierīces un citu faktoru ietekmē.

2. Atveriet Serial Monitor, kamēr kods darbojas.

Pēc noklusējuma kods caur seriālo monitoru publicēs katras atrastās Bluetooth ierīces (vai tikai ierīces (-u), kas atbilst jūsu parametriem) RSSI (uztvertā signāla stipruma indikācija). Mazliet paspēlējieties ar savu galveno darbības ierīci (iedarbināšanas ierīci). Jums ir jānosaka, kādus sliekšņus vēlaties izmantot. Rūpīgi pielāgojot šo konfigurāciju

3. Nosakot sliekšņus, nomainiet tos šeit:

  • tuvu_thrsh
  • far_thrsh

4. Augšupielādējiet kodu, pārbaudiet un atkārtojiet, līdz atrodat optimālu veiktspēju.

Dažas lietas, kas jāņem vērā:

1. Jūs vēlaties aptuveni 20 dB atšķirību starp sliekšņiem. Ja blakus_thrsh ir iestatīts uz 50, tad vēlams, lai far_thrsh būtu 70 vai vairāk. Ja starpība ir pārāk īsa, iespējams, atradīsit dažus attālumus vai vietas, kur dēlis nepārtraukti ieslēdzas un izslēdzas. Šīs atšķirības palielināšana ļaus izvairīties no šādas nevēlamas uzvedības. Es personīgi atklāju, ka 20 dB rezerves ir pietiekami laba.

2. Kalibrēšanas pārbaudes reālās dzīves scenārijos, cik vien iespējams, tas palīdzēs noteikt vislabāko sniegumu.

3. Izpētiet klasi koda 82. rindā; šeit ir izdarīta visa loģika. Kods tomēr ir labi komentēts. Jūtieties brīvi jautāt GitHub!

12. solis: Apsveicam! Tu esi pabeidzis

Paziņojiet man komentāros par jebkādiem ieteikumiem vai ja jums rodas problēmas. Neaizmirstiet pārbaudīt GitHub, ja jūsu problēma jau ir atrisināta!

Ieteicams: