Taula de continguts:

Sensor de presència: 12 passos
Sensor de presència: 12 passos

Vídeo: Sensor de presència: 12 passos

Vídeo: Sensor de presència: 12 passos
Vídeo: Sensor de presença como instalar é progamar - vídeo aula passo a passo 2024, Desembre
Anonim
Sensor de presència
Sensor de presència

Els equips portables solen ser dispositius compatibles amb BLE. És habitual que anuncien periòdicament algunes dades al llarg de la seva adreça MAC. Utilitzem un ESP per escanejar aquestes dades i activar un esdeveniment a través d'Internet quan troba una adreça MAC específica. Aquesta implementació en particular és per a un sol usuari en un endoll intel·ligent connectat a un llum. Però també es pot utilitzar amb un conjunt de dispositius registrats amb qualsevol tipus de dispositius habilitats per a IOT.

Subministraments

  1. ESP32
  2. (opcional) Endoll de paret WiFi TECKIN S10
  3. Dispositiu de qualsevol tipus habilitat per BLE

Pas 1: definiu el vostre escenari

Definiu el vostre escenari
Definiu el vostre escenari

Per al disparador, podríeu utilitzar la majoria dels equips portables moderns. Pot ser un Apple Watch, una banda mi fit, un telèfon o fins i tot el vostre propi bricolatge usable basat en un ESP32.

Probablement un dels passos més importants. Heu de pensar endavant en tres coses:

1. Quin dispositiu o dispositiu usable serà el detonant del sensor de proximitat.

2. Què activarà el sensor (això es fa mitjançant IFTTT).

3. Quan es dispari el sensor

Per a aquest exemple, utilitzaré el meu Apple Watch per activar un endoll intel·ligent per encendre una làmpada quan m’asseig al meu escriptori.

En aquest tutorial veurem un endoll intel·ligent de TECKIN. El podeu trobar a Amazon a un bon preu. També és compatible amb Alexa i google Home. Bona puntuació!

Pas 2: (Introducció) Establir activador: diversos usuaris

Si voleu configurar-lo perquè funcioni qualsevol persona amb un dispositiu compatible amb BLE prou a prop del sensor, ometeu el següent pas. Això és bastant útil, és la configuració que faig servir personalment. Tingueu en compte que aquest sensor es pot piratejar o explotar fàcilment per activar-lo, de manera que no confiaria gaire en una pinta de suport de seguretat; només per a una de pràctica (és a dir, no vull que el meu ordinador l’activi, ja que sempre estarà al costat del sensor).

Pas 3: (Introducció) Establir activador: usuaris limitats

Aquest pas varia molt segons la configuració. Per limitar quins dispositius poden activar el sensor, heu de limitar moltes rutes:

- Adreça MAC BLE (equivalent a l'adreça IP d'una xarxa wifi. El motiu pel qual no garanteix la seguretat ja que no és l'adreça MAC real del mòdul. Als dispositius iOS canvia cada cop que reinicieu el bluetooth, no és tan divertit)

- Codi de fabricant (millor opció, però no hi ha manera de limitar dispositius específics del mateix fabricant / model)

- Nom, servei UIDD (poc freqüent, però la millor opció, principalment portàtils de bricolatge o potser una aplicació per a Android)

Algunes notes:

1. Si es tracta d'un dispositiu iOS:

- Teniu alguns avantatges i desavantatges importants. Pro, transmeten el nivell de potència en què es tracta de les dades publicitàries. Això és útil en la fase de calibratge; trobareu que utilitzar un Apple Watch és útil, ja que emet a 24 dB, iPhones i la majoria de dispositius transmeten a 12 db.

CON, haurà de trobar solucions alternatives. L'adreça MAC anunciada (el mètode principal d'identificació) canvia cada vegada que es reinicia el senyal bluetooth, és a dir, haureu de carregar el codi cada vegada … no és divertit. Podeu utilitzar les dades del fabricant que poden variar entre models. Això vol dir que podeu limitar de manera que detecti "tot l'iPhone 8".

2. Si es tracta d'un dispositiu Android:

- Personalment no tinc cap dispositiu Android. Però probablement hi ha moltes aplicacions que poden corregir l'adreça MAC o fins i tot afegir un nom personalitzat (si és així com voleu seguir). Als dispositius iOS hi ha una aplicació "nrf connect" que pot fer-ho. Però no és persistent, és a dir, si bloquegeu la pantalla o canvieu d’aplicació … la configuració s’apagarà en un parell de segons.

3. Un altre ESP32. (la vostra millor aposta)

- Es pot implementar un codi simple com aquest en un dispositiu com aquest; una banda intel·ligent alimentada per esp32. El codi és en realitat un exemple de la biblioteca ESP BLE BLE_IBeacon.ino. No ho he provat gaire, ja que la meva banda intel·ligent està enviada, probablement publicaré actualitzacions aviat.

Pas 4: (Configuració): IFTTT

(Configuració): IFTTT
(Configuració): IFTTT

D’acord, doncs, en aquesta etapa probablement hauríeu d’adoptar tots els desigs del vostre flux de treball. Teniu el dispositiu activador, teniu un lloc on posar l’ESP amb una connexió sense fils a Internet i teniu present una acció que IFTTT pot automatitzar.

IFTTT és potent; ja sigui només per enviar una notificació simple al vostre dispositiu, voleu que s’enviï un tuit o enceneu una bombeta amb un endoll intel·ligent. En aquest tutorial implementarem l'últim amb endolls intel·ligents TECKIN compatibles amb IFTTT. De qualsevol manera, descarregueu l'aplicació IFTTT o aneu al web IFTTT.com i creeu un compte.

Això és per ara!

Si només voleu enviar una notificació o una altra cosa que no sigui el connector Smart Life, podeu ometre el següent pas.

Pas 5: dispositiu IOT (configuració) * opcional *

Baixeu l'aplicació "Smart Life" des de PlayStore (Android) o AppStore (iOS). Les instruccions són pràcticament senzilles, tot i que el procés és una mica complicat. Em vaig assabentar que a l’etapa d’escaneig (quan el botó blau parpellejava) es va aturar en algun moment, i després el vaig prémer manualment per activar i desactivar un parell de vegades. Això em va ajudar. De totes maneres; la configuració d’aquest endoll no és gens diferent amb la nostra aplicació, de manera que si ja en teniu un i el teniu connectat a la vostra aplicació, hauríeu d’estar a punt.

PRENEU NOTA: heu de poder activar i desactivar l'interruptor de l'aplicació abans de passar d'aquest pas. Això vol dir que heu configurat correctament el connector intel·ligent.

L'aplicació IFTTT s'ha de sincronitzar amb l'aplicació "Smart Life" sense problemes, probablement provocant una autenticació mentre es crea un esdeveniment al següent pas.

Pas 6: (Configuració) IFTTT Webhook Api * Usuaris experimentats *

(Configuració) IFTTT Webhook Api * Usuaris experimentats *
(Configuració) IFTTT Webhook Api * Usuaris experimentats *

Si no n'heu utilitzat abans de l'aplicació IFTTT i no esteu tan còmode amb alguns termes tècnics, ometeu aquest pas per a la Guia detallada (amb fotos) al següent pas.

1. Creeu un esdeveniment nou.

2. Establiu "això" com a API webhook. Escriviu el nom que heu definit a l'esdeveniment.

3. Establiu "això" al vostre comportament desitjat. Per a la connexió intel·ligent, busqueu vida intel·ligent i seleccioneu "activa".

4. Seleccioneu el vostre endoll intel·ligent i premeu Finalitzar.

5. A la pantalla inicial, busqueu la targeta "webhooks". Després de prémer-lo, premeu "obtenir més" a la part inferior.

6. Documentació de premsa. Això us mostrarà la vostra clau API, juntament amb un creador i provador d'URL.

7. Utilitzeu el creador d'URL amb el nom que heu escrit al número 2. Copieu-ho i anoteu-lo.

8. Repetiu-ho si voleu que es desencadeni un comportament quan el sensor de presència ja no estigui actiu. En el nostre cas, repetiu el número 3, però seleccioneu "apaga". A més, al número 2 el nom també hauria de ser diferent aquesta vegada.

Si heu acabat, salteu el següent pas.

Pas 7: (Configuració) IFTTT Webhook Api * per a principiants amb fotos *

(Configuració) IFTTT Webhook Api * per a principiants amb fotos *
(Configuració) IFTTT Webhook Api * per a principiants amb fotos *
(Configuració) IFTTT Webhook Api * per a principiants amb fotos *
(Configuració) IFTTT Webhook Api * per a principiants amb fotos *
(Configuració) IFTTT Webhook Api * per a principiants amb fotos *
(Configuració) IFTTT Webhook Api * per a principiants amb fotos *

Guia detallada * la guia fotogràfica hauria de ser similar amb Android i al web *

IFTTT és un flux de treball simple, si "això passa", llavors "això passa". N’heu de crear un de nou, 1. a l'aplicació, premeu "obtenir més" i es mostrarà una llista.

2. Just a sota de la barra de cerca, es diu "fes els teus propis applets des de zero", prem el signe Plus.

3. Premeu "aquest" signe més

En el nostre cas, "això" serà una trucada API a través d'Internet. Una trucada API és una consulta a un URL, com quan escriviu una cerca a Google i l'URL és google.com/(una llarga cadena de caràcters). Per crear l'API: (després de prémer "això")

4. Cerqueu "webhooks"

5. Seleccioneu l'única opció

6. Anomeneu el vostre esdeveniment (en aquest exemple utilitzarem "Sit"). Escriviu aquest nom, molt important.

7. Premeu Crea activador

D'acord! estem més a prop, ara de la part "que". Per a aquest tutorial, establirem "això" per activar l'endoll intel·ligent. Però podeu triar qualsevol cosa d’IFTTT. Una bona manera de provar la configuració és seleccionar "notificacions" que enviaran una notificació al telèfon cada vegada que s'activi el sensor (o es crida a l'API, fins i tot des d'un navegador web: és útil per provar-les).

8. Premeu el signe més "que"

9. Cerqueu "Smart Life" (o "notificacions")

10. Premeu "activa" (haureu de repetir aquests passos per crear un altre esdeveniment per desactivar-lo quan sortiu)

11. Si teniu les dues aplicacions i el connector correctament configurats, hauríeu de veure el connector al menú desplegable quin dispositiu / grup.

12. Seleccioneu Crea acció i després finalitzeu.

Ara hauríeu de veure que l'esdeveniment està connectat. Ara hem d’obtenir l’URL de l’API. Per això:

13. Aneu a la pantalla inicial IFTTT

14. Cerqueu la targeta Webhooks

15. Seleccioneu "Obtén més"

16. Toqueu el botó Documentació. Hauríeu de veure una pàgina web amb la vostra clau.

17. Al marcador "{event}", empleneu el nom del vostre esdeveniment (recordeu el punt 6)

18. Aneu a la part inferior de la pàgina i toqueu "Prova-ho"

El que probablement hauríeu de veure és una pancarta verda "s'ha activat l'esdeveniment" i hauríeu de veure si ha funcionat o no. En el nostre cas, l’endoll s’hauria d’encendre. O hauríeu de veure una notificació si decidiu seguir aquest camí. Pot trigar una estona, però no més d’un minut a veure si ho heu aconseguit. Recordeu que probablement distingeix entre majúscules i minúscules.

19. Finalment. Copieu l'URL on heu substituït el nom de l'esdeveniment (als 17 anys) i deseu-lo en un lloc segur. Aviat ho necessitareu.

20. Repetiu 1-12. A les 6 utilitzarem "Stand" aquesta vegada. A les 10, seleccioneu "apaga".

21. Repetiu 13-18 si voleu, però podeu sortir de l'URL que heu copiat a 19, però ara canvieu el lloc on heu escrit "Sit" i substituïu-lo per "Stand". Podeu provar-ho amb un navegador web. Ha de dir "Enhorabona! Heu activat l'esdeveniment Stand. Aleshores, l’endoll hauria d’haver estat apagat.

Pas 8: (Codi) Programació de l'ESP32

(Codi) Programació de l'ESP32
(Codi) Programació de l'ESP32

Podeu ometre aquest pas si us sentiu còmode carregant esbossos de l'IDE Arduino a la vostra placa ESP32. Recordeu només establir una partició de 2 MB per a l'aplicació, com a mínim, ja que l'esbós pesa una mica més del límit habitual d'1,2 MB.

Hi ha molts tutorials fantàstics, aquí en recomanem alguns:

circuitdigest.com/microcontroller-projects…

Però, tot i que no estigueu tan perdut, desglossaré alguns punts clau importants.

- ESP32 no és una placa Arduino, però encara es pot programar mitjançant l'IDE Arduino. Amb codi Arduino senzill. Però, encara haureu de configurar l'IDE per treballar amb l'ESP32.

- Haureu d'instal·lar algunes biblioteques mitjançant el "Gestor de taules addicionals" a les preferències. Aquest és l’URL que heu d’enganxar:

- (opcional, pot ajudar-vos) A Eines-> Gestiona les biblioteques … -> (cerqueu la biblioteca BLE esp)

- A Tools, ara hauríeu de tenir una llarga llista de dispositius ESP; us recomano el mòdul de desenvolupament ESP32

- (IMPORTANT) Seleccioneu (sense aplicacions Ota 2mb / 2mb spifs) al gestor de particions. Aquest pas és important, ja que l'aplicació es fa força pesada com a producte de l'ús de connexions wifi / http, així com d'un escàner BLE.

Si ho heu fet tot bé, hauríeu de poder programar l’ESP32. Ara el procés de fer-ho és similar a l’arduino en algunes taules. Connecteu-lo, seleccioneu la placa corresponent, el port USB i ja heu acabat. Però, en molts altres casos, haurà de continuar

Pas 9: (Codi) Pengeu el codi a l'ESP32

(Codi) Pengeu el codi a l'ESP32
(Codi) Pengeu el codi a l'ESP32

D'acord, si sou aquí, vol dir que heu penjat un esbós amb èxit al tauler ESP32, preferiblement l'esbós blink.ino.

Ara, aquí teniu el codi principal adjunt, també el podeu trobar al repositori de GitHub. Heu de substituir el següent:

SSID: el vostre nom de wifi

PSK: la vostra contrasenya wifi

sit: URL amb "Sit" de l'api IFTTT que heu escrit anteriorment

stand - URL amb "Stand" de l'API IFTTT que heu escrit anteriorment

Ara acosteu el dispositiu activador al tauler i, a continuació, pengeu el codi. A continuació, obriu el monitor de sèrie (baud 115200) després de carregar correctament el codi.

Si teniu previst utilitzar-ho amb qualsevol tipus de dispositiu compatible amb BLE, salteu el pas següent.

NOTA: si rebeu missatges d'error de memòria, és perquè la configuració predeterminada només deixa 1 MB de memòria (dels 4 MB presents) per al codi brut ESP. Deixa una porció per a un parell de coses com a opció per programar per antena. Normalment faig el següent:

- A Eines, ara hauríeu de tenir una llarga llista de dispositius ESP; us recomano el mòdul de programació ESP32: seleccioneu 'No Ota 2mb app / 2mb spifs' al gestor de particions.

Això em proporciona un espai de memòria doble, necessari per a aquesta aplicació.

Pas 10: (Codi) Pengeu el codi a l'ESP32 * opcional *

(Codi) Pengeu el codi a l'ESP32 * opcional *
(Codi) Pengeu el codi a l'ESP32 * opcional *

Aquí teniu la part complicada esmentada al pas "Establir el disparador". El monitor mostrarà l’adreça MAC (hauria de ser ##: ##: ##: ##: ## on # és un número o una lletra d’a a f), el codi del fabricant i l’SSI (un número negatiu)). Aquí heu de jugar una mica per trobar quin és el vostre dispositiu. Normalment el poso al costat del tauler per poder veure clarament quin és el nombre més petit. Desmarqueu la casella "desplaçament automàtic" per poder copiar els valors.

  • Si es tracta de l'adreça del Mac, empleneu "myDevice" amb ella. A continuació, descomenteu la línia # 96 i la línia de comentaris # 95
  • Si és el nom, empleneu 'myDevice' amb ell. A continuació, descomenteu la línia 97 i la línia de comentaris 95
  • Si per ara MaufactureData no teniu sort, encara estic desenvolupant aquesta part.

Per afegir suport per a dispositius de mà, hauríeu de ser capaços de copiar la sentència conditiana al # 96 o al # 97 i situar-les una al costat de l’altra en aquesta sintaxi:

if ((condició1) || (condició2) || (condició3)) {

Afegiu més variables (myDevice1, myDevice2, myDevice3) en conseqüència.

Pas 11: Col·loqueu l’ESP i calibreu-lo

Col·loqueu l’ESP i calibreu
Col·loqueu l’ESP i calibreu

Aquesta és la part més important de la configuració. Passar acuradament per aquest procés serà la diferència en què funcioni com a màgia o simplement li doni forts maldecaps.

En aquest moment, el codi que heu penjat funciona amb els paràmetres que he provat personalment i que utilitzo diàriament amb el meu telèfon a l'escriptori; no vol dir que també us funcioni. Per tant, heu de fer el calibratge vosaltres mateixos.

1. Col·loqueu la placa ESP32 a la seva ubicació FIXADA final. Si moveu per algun motiu la posició del vostre ESP32, probablement hauríeu de fer-ho de nou. Això us garantirà una bona experiència en general.

1. (extra) tingueu en compte que haurà de poder connectar-se al vostre ordinador mentre feu això. Si no podeu, perquè teniu un ordinador de sobretaula, haureu de fer proves i errors tenint en compte que cada prova ha de ser gairebé idèntica pel que fa al posicionament, al dispositiu activador i a altres factors que es poden comptar.

2. Obriu Serial Monitor amb el codi en execució.

Per defecte, el codi publicarà a través del monitor sèrie l’indicador RSSI (indicació de la intensitat del senyal rebut) de cada dispositiu bluetooth trobat (o només el dispositiu que coincideixi amb els vostres paràmetres). Juga una mica amb el dispositiu d'acció principal (dispositiu activador). Heu de determinar quins són els llindars que voleu utilitzar. Si ajusteu acuradament aquesta configuració

3. Quan determineu els llindars, substituïu-los aquí:

  • prop_thrsh
  • far_thrsh

4. Torneu a penjar el codi, proveu i repetiu fins que trobeu un rendiment òptim.

Poques coses a tenir en compte:

1. Voleu uns 20 db de diferència entre els llindars. Si near_thrsh s'estableix en 50, es vol que far_thrsh sigui 70 o més. Si la diferència és massa curta, és possible que trobeu algunes distàncies o llocs on el tauler s’activa i s’activa sense parar. Augmentar aquesta diferència us assegurarà d’evitar aquest comportament indesitjable. Personalment, he trobat que 20 marges de marge són prou bons.

2. A la prova de calibratge, tant com sigui possible, els escenaris de la vida real ajudaran a determinar el millor rendiment.

3. Estudieu la classe a la línia 82 del codi; aquí es fa tota la lògica. El codi està ben comentat. No dubteu a preguntar al GitHub.

Pas 12: Enhorabona! Estàs acabat

Aviseu-me als comentaris de qualsevol suggeriment o si teniu problemes. Recordeu comprovar el GitHub si el vostre problema ja s'ha resolt.

Recomanat: