Taula de continguts:

LEIDS - Sensor de porta IOT de baixa energia: 8 passos (amb imatges)
LEIDS - Sensor de porta IOT de baixa energia: 8 passos (amb imatges)

Vídeo: LEIDS - Sensor de porta IOT de baixa energia: 8 passos (amb imatges)

Vídeo: LEIDS - Sensor de porta IOT de baixa energia: 8 passos (amb imatges)
Vídeo: Собаку бросили в лесу с коробкой макарон. История собаки по имени Ринго. 2024, De novembre
Anonim
LEIDS: sensor de porta IOT de baixa energia
LEIDS: sensor de porta IOT de baixa energia

Què és LEIDS?

LEIDS és un sensor IOT que es basa al voltant de l’ESP8266. Aquest sensor fa servir aquesta placa, un circuit de retenció suau, un interruptor reed i alguns imants per crear un sensor de porta que us enviarà una alerta quan la porta s’obre i es tanca. Aquest sensor es pot connectar al servidor MQTT, IFTTT o a molts altres frameworks que admetin l’ESP8266. Aquesta instrucció utilitzarà IFTTT per crear fàcilment un sensor que enviarà una alerta al vostre dispositiu mòbil independentment d’on estigueu. El sensor també es pot configurar per permetre diverses alertes de portes, bústies, forns i qualsevol altra cosa que tingui una posició física oberta / tancada o activada / desactivada. L’avantatge de LEIDS és que utilitza una energia mínima i només utilitza energia quan una porta està oberta, i quan la porta està tancada, envia un missatge per avisar-vos que la porta estava tancada i s’apaga. És millor que dormir profundament el mòdul, ja que no consumeix energia si la porta no s'obre.

Pas 1: subministraments

Subministraments
Subministraments
Subministraments
Subministraments
Subministraments
Subministraments
Subministraments
Subministraments

Les llistes següents mostren les eines i les parts que he utilitzat per a aquest projecte. El sensor es pot redissenyar per utilitzar diferents parts i tenir un aspecte / funcionament diferent i només utilitzar conceptes similars.

Eines:

  • Soldador
  • ESP01-UART o Arduino Uno (programador per ESP8266)
  • Impressora 3D (opcional)
  • Cables de pont (opcional)
  • Taula de pa (opcional)

Parts:

  • ESP8266 ESP-01S x 1
  • Reed Switch x 1 (preferiblement NC, només podia trobar-lo obert, de manera que heu d'utilitzar dos imants perquè funcioni normalment tancat)
  • Regulador AMS1117 3.3v
  • 2n3904 Transistor NPN x 1
  • P-Channel Mosfet x 1 (volem alguna cosa que tingui un VGS baix, preferiblement un NDP6020P)
  • Bateria Lipo de 3,7 v 100 mAh x 1
  • Assortiment de resistències (100k ohm, 10k ohm, 220 ohm, 3k3 ohm)
  • Imants de 6x3mm x 2
  • Cinta de muntatge de doble cara
  • Filferro
  • Soldar
  • Perfboard

Parts impreses en 3D:

Funda per a sensor

Pas 2: Circuit de bloqueig suau: maquinari

Circuit de tancament suau: maquinari
Circuit de tancament suau: maquinari

El circuit de tancament suau que faig servir és una modificació d’un esquema que he trobat en línia. No sóc un expert i crec que hi ha millors maneres de construir aquest circuit, però al meu propòsit aquest circuit fa la feina.

La forma en què funciona és que quan la canya canviada es tanca per un camp magnètic, permet que el transistor NPN tingui corrent. El transistor NPN posa a terra el mosfet PNP, que permet que el corrent flueixi cap a l’ESP8266. L'ESP8266 s'encén, utilitza un dels seus pins per mantenir el mosfet PNP connectat a terra, que continua alimentant l'ESP8266. Després, quan es realitza l'ESP8266 amb les seves tasques, estableix el pin de sortida a BAIX que interromp el transistor NPN i tanca la porta del mosfet PNP.

Mitjançant l’ús d’un circuit com aquest, l’ESP8266 es pot encendre mitjançant un commutador i, a continuació, es pot apagar completament mitjançant senyal. Això permet que el circuit no generi corrent quan el sensor estigui tancat / apagat.

Pas 3: ESP8266: maquinari

ESP8266: maquinari
ESP8266: maquinari

L’ESP8266 que estic fent servir enviarà un missatge per avisar quan s’obri una porta (o una altra cosa) i després esperarà que la porta es tanqui per enviar un missatge de tancament i es tancarà. L'ESP8266 s'alimentarà del circuit de pestell suau i utilitzarà un pin per llegir l'interruptor reed i un altre pin per mantenir-se encès i després apagar-se. Vaig optar per utilitzar els ESP-01, a causa del seu petit factor de forma. L'ESP enviarà una sol·licitud web per notificar-nos quan el sensor canviï a "obert" i "tancat". El mètode més senzill que vaig trobar va ser utilitzar IFTTT i Fulls de càlcul de Google. Això s’explica als passos següents.

Pas 4: IFTTT per a notificacions remotes: primera part

IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part
IFTTT per a notificacions remotes: primera part

En aquest instructiu, utilitzarem IFTTT i implementarem webhooks i fulls de Google per rebre notificacions remotes al nostre dispositiu mòbil. Per utilitzar aquests serveis necessitareu el següent:

  • Un compte de Google
  • Un compte IFTTT (pot / ha d'iniciar sessió amb un compte de Google)
  • L'aplicació IFTTT per al vostre dispositiu mòbil

Un cop hàgiu creat / iniciat sessió als vostres comptes, crearem dos applets. Les fotos de la part superior d’aquesta secció mostren com es pot maniobrar la pàgina web. Els passos següents són per al primer applet, la sol·licitud activada per l'esdeveniment. Aquesta miniaplicació rebrà un missatge del sensor i desarà l'esdeveniment en un document de fulls de Google. A continuació, podeu veure l'historial del sensor i veure quan s'ha obert i tancat.

  1. Aneu a l'enllaç "Els meus applets" situat a la part superior
  2. Feu clic al botó "Nou applet"
  3. Feu clic al botó blau "+ això"
  4. Cerqueu "webhooks" i feu-hi clic
  5. A la pàgina següent, seleccioneu la targeta "Rebre una sol·licitud web"
  6. A continuació, configureu el nom de l'esdeveniment com vulgueu, i he escollit anomenar-lo "sensor_activated"
  7. A la pàgina següent, feu clic al botó blau "+ que"
  8. Cerqueu el servei "fulls de google" i seleccioneu-lo
  9. A la pàgina següent, trieu la funció "Afegeix fila al full de càlcul"
  10. Empleneu l'acció de la següent manera:

    • Nom del full de càlcul, he anomenat el meu "Historial de sensors"
    • La fila formatada ha de tenir el següent aspecte

      {{Ocorregut}} ||| {{Valor1}} ||| {{Value2}}

    • Deixeu l'últim camp tal qual, tret que vulgueu canviar on l'applet desarà l'estat del sensor
  11. A continuació, feu clic a "Crea acció"
  12. Per últim, feu clic a "Finalitza" a la pantalla final

Ara comprovem que funciona

  1. Aneu a aquest enllaç
  2. A continuació, feu clic al botó "Documentació" (tornarem a utilitzar aquesta pàgina "Documentació" més endavant)
  3. Ara estareu a la vostra secció personal per a l’applet IFTTT Webhooks
  4. Empleneu el camp on es digui "{event}" amb el nom del vostre esdeveniment; en aquest cas, el nom de l'esdeveniment està "sensor_activated"
  5. Ara empleneu el camp "valor1", aquest és el camp que mantindrà la ubicació del vostre sensor, l'emplenaré amb "Porta principal"
  6. Ara empleneu el camp "valor2", aquest és el camp que tindrà l'estat del sensor, l'emplenaré amb "obert" només per provar-lo
  7. A continuació, feu clic al botó blau "Prova-ho"
  8. Si tot va bé, hauríeu d'obtenir un verd "S'ha activat l'esdeveniment". missatge a la part superior
  9. Ara, si voleu veure com emmagatzema el missatge, podeu obrir els fulls de google i trobar el full de càlcul que hi ha afegit. He adjuntat una imatge per mostrar com serà el full de càlcul

Passem al següent pas: afegiu una miniaplicació per notificar-nos el canvi d'estat.

Pas 5: IFTTT per a notificacions remotes: part 2

IFTTT per a notificacions remotes: part 2
IFTTT per a notificacions remotes: part 2
IFTTT per a notificacions remotes: part 2
IFTTT per a notificacions remotes: part 2
IFTTT per a notificacions remotes: part 2
IFTTT per a notificacions remotes: part 2

Ara afegirem una miniaplicació per notificar-nos quan s'afegeix una fila al full de càlcul d'estat; en altres paraules, quan el sensor dispara un esdeveniment. Com abans, crearem un nou applet. Els passos següents us guiaran a la creació del segon applet. Com que hem fet alguna cosa similar al pas anterior, només afegiré les diapositives que són diferents a aquest pas.

  1. Aneu a l'enllaç "Els meus applets" situat a la part superior
  2. Feu clic al botó "Nou applet"
  3. Feu clic al botó blau "+ això"
  4. Cerqueu "fulls de google" i feu-hi clic
  5. A la pàgina següent, seleccioneu la targeta "Nova fila afegida al full de càlcul"
  6. A continuació, empleneu els camps per assenyalar el full de càlcul al qual escriu l'altra miniaplicació

    • En aquest exemple, el camí d'accés és "IFTTT / MakerWebooks / sensor_activated"
    • El nom del fitxer és "Historial del sensor"
  7. A la pàgina següent, feu clic al botó blau "+ que"
  8. Cerqueu el servei de "notificacions" i seleccioneu-lo
  9. Ara hem d’omplir els camps del servei de notificació

    • El títol es canvia a

      {{ColumnB}} era {{ColumnC}}

    • El missatge està definit a

      {{ColumnB}} era {{ColumnC}} a {{ColumnA}}

    • L’enllaç es deixa sol
  10. A continuació, feu clic a "Crea acció"
  11. Per últim, feu clic a "Finalitza" a la pantalla final

Per provar la segona part del sistema de notificacions IFTTT, assegureu-vos que heu baixat l'aplicació IFTTT al vostre dispositiu mòbil i inicieu la sessió amb les vostres credencials. En el meu cas, estic iniciant la sessió amb el meu compte de Google. Ara podem provar-ho tornant a la pàgina "Documentació" i desactivant la prova amb el nom de l'esdeveniment definit com a "sensor_activat", el camp "valor1" establert a la ubicació i el camp "valor2" establert a l'estat.

Això us hauria d'enviar una notificació. Si no en rebeu cap, assegureu-vos que heu iniciat la sessió amb el mateix compte i que heu permès que l'aplicació us enviï notificacions.

Pas 6: Arduino IDE i Sketch

Arduino IDE i Sketch
Arduino IDE i Sketch
Arduino IDE i Sketch
Arduino IDE i Sketch

El programari utilitzat per a la placa es compila amb l’IDE Arduino.

La lògica és la següent:

  • L'interruptor de canya es tanca obrint la porta
  • L’ESP s’encén i es connecta a WiFi
  • Un cop establerta la connexió WiFi, envia una sol·licitud http (envia una ordre a Internet) que ens indica que s’ha obert una porta o alguna cosa més
  • A continuació, llegeix un senyal del commutador de canya per determinar si la porta ha estat tancada
  • Quan la placa ESP descobreix que l'interruptor reed està obert (és a dir, la porta estava tancada), envia una altra sol·licitud http que ens indica que la porta estava tancada.
  • A continuació, senyalitza el circuit de tancament suau per tallar l’alimentació de la placa

Descarregueu Arduino IDE

He adjuntat el codi arduino a aquesta secció perquè el pugueu descarregar. Si no teniu l'IDE Arduino, podeu descarregar-lo en línia a

Instal·leu el gestor de placa adequat

Per carregar el codi a la vostra placa ESP, heu d’instal·lar un gestor de placa a l’IDE Arduino seguint els passos següents.

  • Aneu a Fitxer> Preferències per obrir la finestra de preferències
  • A la finestra de preferències, cerqueu el camp que diu "URL addicionals del gestor de taules".
  • Enganxeu el següent enllaç en aquest camp https://arduino.esp8266.com/stable/package_esp8266com_index.json i premeu el botó "D'acord"
  • Ara obriu el gestor de taulers anant a Eines> Tauler, i la primera entrada serà Boards Manager
  • Escriviu "ESP8266" al menú del tauler i instal·leu “esp8266”. Selecciono la versió 2.5.0, ja que he tingut alguns problemes amb les versions més recents.
  • Ara torneu enrere i seleccioneu el tauler a Eines> Tauler> Mòdul ESP8266 genèric
  • A continuació, tanqueu i torneu a obrir l'arduino ide per assegurar-vos que els canvis s'hagin produït

Obriu l'esbós a l'IDE Arduino

Hem de modificar quatre línies del codi perquè el sensor us funcioni

  1. Canvieu el SSID al vostre WiFi SSID, també conegut com el nom del vostre wifi
  2. Canvieu la contrasenya perquè coincideixi amb la contrasenya del vostre wifi
  3. Canvieu l'URL perquè coincideixi amb l'URL de la pàgina "Documentació" del servei "webhook"
  4. Canvieu la ubicació del sensor a on voleu col·locar-lo, pot ser la porta principal, la porta posterior, la bústia de correu, etc.

Ara que heu modificat el codi per adaptar-lo a les vostres necessitats, hem de carregar-lo al tauler. En el meu cas, faig servir un programador USB i segueixo les instruccions corresponents. Això pot requerir molta solució de problemes, de manera que us proposo que busqueu en línia un tutorial més profund. En el meu cas, connecto l'ESP-01 al programador, el connecto a l'ordinador, després giro l'interruptor d'uart a prog, finalment desconnecto i torno a connectar el programador. Això deixa l'ESP en mode de programació. Ara només he de fer clic al botó de càrrega i deixar que finalitzi la càrrega. Si voleu veure si es connecta, podeu obrir el monitor sèrie i mirar els missatges d’estat. Un cop hàgiu penjat l'esbós, ho soldarem tot, el posarem en un recinte i el muntarem a la ubicació desitjada.

Pas 7: recinte (imprès en 3D)

Recinte (imprès en 3D)
Recinte (imprès en 3D)
Recinte (imprès en 3D)
Recinte (imprès en 3D)
Recinte (imprès en 3D)
Recinte (imprès en 3D)

He dissenyat el recinte següent per acomodar tots els components, permetre la col·locació d’un imant i alinear l’interruptor de canya. La segona part només s’utilitza per mantenir un segon imant que permetrà obrir i tancar l’interruptor.

Un cop tots els components estiguin soldats junts, podem prémer-los cap avall a la caixa, si voleu, podeu afegir una mica de cola calenta a la part inferior per contenir-ho tot. A continuació, hem de prémer un imant a la caixa amb l'electrònica i alinear-la l'interruptor de canya, segons sigui necessari. L'altre imant s'ha de prémer a l'altre recinte. Un cop completats els dos recintes, podem provar-ho juntant els dos recintes i separant-los i tornant-los a unir. Ara hauríem de rebre dues notificacions, una per al sensor obert i una per al sensor tancat. Mantingueu els dos junts per evitar que la bateria s’esgoti.

Col·loqueu la cinta de muntatge a la part posterior dels sensors i apliqueu-los a la ubicació desitjada. Vaig muntar la meva a la meva bústia de correu. Ara comproveu que l'alineació és correcta i que el sensor pot enviar un missatge obert i tancat.

Voila, ara tens el teu propi sensor per alertar-te quan s’obre i es tanca. Avisa’m si t’agrada i si creus que es pot millorar alguna cosa.

També envio aquest instructiu al concurs IOT, així que assegureu-vos d’agradar i votar aquest i qualsevol altre projecte IOT que us hagi agradat

Pas 8: millores futures

Per a aquest projecte em vaig trobar amb un parell de problemes. El primer problema que vaig trobar va ser l'ús d'un mosfet que tenia un Vgs massa elevat, de manera que vaig haver de canviar a un altre. En segon lloc, l’interruptor reed que he utilitzat normalment està obert i, en el meu cas, un interruptor normalment tancat hauria estat més fàcil d’implementar i hauria estalviat molt espai. Finalment, els esp 01s van ser molt difícils de treballar i vaig haver d’entrar amb els pins gpio perquè funcionés correctament, però encara tenia alguns problemes. Crec que aquest projecte va ser capaç d’ensenyar-me molts conceptes i m’ha ajudat a plantejar més idees i implementacions mitjançant les taules esp8266 i IFTTT.

Desafiament IoT
Desafiament IoT
Desafiament IoT
Desafiament IoT

Segon classificat del IoT Challenge

Recomanat: