Innholdsfortegnelse:

LEIDS - Low Energy IOT Dørsensor: 8 trinn (med bilder)
LEIDS - Low Energy IOT Dørsensor: 8 trinn (med bilder)

Video: LEIDS - Low Energy IOT Dørsensor: 8 trinn (med bilder)

Video: LEIDS - Low Energy IOT Dørsensor: 8 trinn (med bilder)
Video: What is next in cellular IoT and how can we test it? 2024, November
Anonim
LEIDS - Low Energy IOT Dørsensor
LEIDS - Low Energy IOT Dørsensor

Hva er LEIDS?

LEIDS er en IOT -sensor som er basert rundt ESP8266. Denne sensoren bruker dette kortet, en myk låsekrets, en sivbryter og noen magneter for å lage en dørsensor som sender deg et varsel når døren din åpnes og lukkes. Denne sensoren kan kobles til MQTT -serveren din, IFTTT eller mange andre rammer som støtter ESP8266. Denne instruksen vil bruke IFTTT til enkelt å lage en sensor som sender et varsel til mobilenheten din, uansett hvor du er. Sensoren kan også konfigureres for å gi mulighet for flere varsler fra separate dører, postkasser, ovner og alt annet som har en åpen/lukk eller på/av fysisk posisjon. Fordelen med LEIDS er at den bruker minimal strøm og bruker bare strøm når en dør er åpen, så sender den en melding for å varsle deg om at døren var lukket og slår seg av. Dette er bedre enn å sove dypmodulen, siden den ikke bruker energi hvis døren ikke åpnes.

Trinn 1: Rekvisita

Rekvisita
Rekvisita
Rekvisita
Rekvisita
Rekvisita
Rekvisita
Rekvisita
Rekvisita

Listene nedenfor viser verktøyene og delene jeg brukte til dette prosjektet. Sensoren kan redesignes for å bruke forskjellige deler og se/fungere annerledes og bare bruke lignende konsepter.

Verktøy:

  • Loddejern
  • ESP01-UART eller Arduino Uno (programmerer for ESP8266)
  • 3D -skriver (valgfritt)
  • Hoppekabler (valgfritt)
  • Brødbrett (valgfritt)

Deler:

  • ESP8266 ESP-01S x 1
  • Reed Switch x 1 (helst NC, jeg kunne bare finne normalt åpen, så jeg må bruke to magneter for å få den til å fungere som normalt lukket)
  • AMS1117 3.3v regulator
  • 2n3904 NPN Transistor x 1
  • P-Channel Mosfet x 1 (vi vil ha noe som har lav VGS, helst en NDP6020P)
  • 3,7v 100 mAh Lipo -batteri x 1
  • Assorterte motstander (100 k ohm, 10 k ohm, 220 ohm, 3 k3 Ohm)
  • 6x3mm magneter x 2
  • Dobbeltsidig monteringstape
  • Metalltråd
  • Lodding
  • Perfboard

3D -trykte deler:

Etui til sensor

Trinn 2: Soft Latching Circuit - Hardware

Myk låsingskrets - maskinvare
Myk låsingskrets - maskinvare

Den myke låsekretsen jeg bruker er en modifikasjon av en skjematisk skjema jeg fant på nettet. Jeg er ikke en ekspert, og jeg tror det er bedre måter å bygge denne kretsen på, men for mitt formål gjør denne kretsen jobben!

Måten den fungerer på er at når sivbryteren stenges av et magnetfelt, tillater den strøm til NPN -transistoren. NPN -transistoren begrenser deretter PNP -mosfeten som lar strøm strømme til ESP8266. ESP8266 slår seg på, bruker en av pinnene for å holde PNP -mosfeten jordet som fortsetter å drive ESP8266. Når ESP8266 er ferdig med sine oppgaver, setter den utgangspinnen til LOW som avbryter NPN -transistoren og lukker porten på PNP -mosfeten.

Ved å bruke en krets som denne kan ESP8266 slås på av en bryter, og deretter kan den slå seg av helt via signal. Dette gjør at kretsen ikke kan trekke strøm når sensoren er lukket/av.

Trinn 3: ESP8266 - Maskinvare

ESP8266 - Maskinvare
ESP8266 - Maskinvare

ESP8266 som jeg bruker, sender en melding for å varsle når en dør (eller andre ting) er åpen, og venter på at døren skal lukkes for å sende en nær melding og stenge seg av. ESP8266 blir drevet av den myke låsekretsen og bruker en pinne til å lese sivbryteren og en annen pinne for å holde seg på og deretter slå seg av. Jeg valgte å bruke ESP-01 på grunn av den lille formfaktoren. ESP sender en nettforespørsel for å varsle oss når sensoren endres til "åpnet" og "lukket". Den enkleste metoden jeg fant var å bruke IFTTT og Google Sheets. Dette forklares i de følgende trinnene.

Trinn 4: IFTTT for eksterne varsler - del 1

IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1
IFTTT for fjernvarsler - del 1

I denne instruksen vil jeg bruke IFTTT og implementere webhooks og google -ark for å få eksterne varsler på mobilenheten vår. For å bruke disse tjenestene trenger du følgende:

  • En Google -konto
  • En IFTTT -konto (kan/bør logge inn med Google -konto)
  • IFTTT -applikasjonen for din mobile enhet

Når du har opprettet/logget inn på kontoene dine, lager vi to appleter. Bildene øverst i denne delen viser hvordan manøvrerer websiden. Følgende trinn er for den første appleten, hendelsen utløst forespørsel. Denne appleten vil få en melding fra sensoren og lagre hendelsen i et Google -ark. Deretter kan du se historien til sensoren din og se når den ble åpnet og lukket.

  1. Gå til koblingen "Mine appleter" øverst
  2. Klikk på "New Applet" -knappen
  3. Klikk på den blå "+denne" -knappen
  4. Søk etter "webhooks" og klikk på den
  5. På neste side velger du kortet "Motta en webforespørsel"
  6. Sett deretter hendelsesnavnet til det du ønsker, jeg valgte å kalle det "sensor_aktivert"
  7. Klikk den blå "+det" -knappen på den følgende siden
  8. Søk etter "google sheets" -tjenesten og velg den
  9. Velg funksjonen "Legg rad til regneark" på den følgende siden
  10. Fyll ut handlingen som følger:

    • Regnearksnavn, jeg kalte mitt "Sensorhistorie"
    • Den formaterte raden må se slik ut

      {{OccurredAt}} ||| {{Verdi1}} ||| {{Value2}}

    • La det siste feltet være med mindre du vil endre hvor appleten vil lagre statusen til sensoren
  11. Klikk deretter på "Opprett handling"
  12. Klikk til slutt "Fullfør" på den siste skjermen

La oss nå teste at det fungerer

  1. Gå til denne lenken
  2. Klikk deretter på "Dokumentasjon" -knappen (vi bruker denne "Dokumentasjon" -siden igjen senere)
  3. Nå vil du være i din egen personlige seksjon for IFTTT Webhooks -appleten
  4. Fyll ut feltet der det står "{event}" med navnet på arrangementet ditt, i så fall er hendelsesnavnet "sensor_aktivert"
  5. Fyll ut "verdi1" -feltet, dette er feltet som vil inneholde sensoren din, jeg skal fylle den ut med "inngangsdør"
  6. Fyll nå ut "verdi2" -feltet, dette er feltet som vil ha statusen til sensoren, jeg skal fylle den ut med "åpnet" bare for testing
  7. Klikk deretter på den blå "Test det" -knappen
  8. Hvis alt gikk bra, bør du få en grønn "Hendelse har blitt utløst." melding øverst
  9. Hvis du vil se hvordan den lagret meldingen din, kan du åpne Google -arkene og finne regnearket den har lagt til. Jeg har lagt ved et bilde for å vise hvordan regnearket vil se ut

Nå videre til neste trinn ved å legge til en applet for å varsle oss om statusendringen.

Trinn 5: IFTTT for eksterne varsler - del 2

IFTTT for fjernvarsler - del 2
IFTTT for fjernvarsler - del 2
IFTTT for fjernvarsler - del 2
IFTTT for fjernvarsler - del 2
IFTTT for fjernvarsler - del 2
IFTTT for fjernvarsler - del 2

Nå vil vi legge til en applet for å varsle oss når statusregnearket får en rad lagt til; med andre ord når sensoren utløser en hendelse. Som før skal vi lage en ny applet. Følgende trinn vil veilede deg i opprettelsen av den andre appleten. Siden vi har gjort noe lignende i forrige trinn, vil jeg bare legge til lysbildene som er forskjellige til dette trinnet.

  1. Gå til koblingen "Mine appleter" øverst
  2. Klikk på "New Applet" -knappen
  3. Klikk på den blå "+denne" -knappen
  4. Søk etter "google sheets" og klikk på det
  5. På neste side velger du kortet "Ny rad lagt til i regnearket"
  6. Fyll deretter ut feltene for å peke på regnearket som den andre appleten skriver til

    • I dette eksemplet er banen "IFTTT/MakerWebooks/sensor_activated"
    • Filnavnet er "Sensor History"
  7. Klikk den blå "+det" -knappen på den følgende siden
  8. Søk etter "varsler" -tjenesten og velg den
  9. Nå må vi fylle ut varslingstjenestefeltene

    • Tittelen er endret til

      {{ColumnB}} var {{ColumnC}}

    • Meldingen er satt til

      {{ColumnB}} var {{ColumnC}} på {{ColumnA}}

    • Lenken er alene
  10. Klikk deretter på "Opprett handling"
  11. Klikk til slutt "Fullfør" på den siste skjermen

For å teste den andre delen av IFTTT -varslingssystemet må du kontrollere at du har lastet ned IFTTT -appen på mobilenheten din og logget på med legitimasjon. I mitt tilfelle logger jeg på med Google -kontoen min. Nå kan vi teste dette ved å gå tilbake til "Dokumentasjon" -siden og starte testen med hendelsesnavnet som "sensor_aktivert", "verdi1" -feltet satt til stedet og "verdi2" -feltet satt til status.

Dette bør sende deg et varsel. Hvis du ikke mottar en, må du kontrollere at du er logget på med den samme kontoen og at du har tillatt at appen kan sende deg varsler.

Trinn 6: Arduino IDE og Sketch

Arduino IDE og Sketch
Arduino IDE og Sketch
Arduino IDE og Sketch
Arduino IDE og Sketch

Programvaren som brukes for brettet er kompilert ved hjelp av Arduino IDE.

Logikken er som følger:

  • Sivbryteren lukkes ved å åpne døren
  • ESP slås deretter på og kobles til WiFi
  • Når WiFi -tilkoblingen er opprettet, sender den en http -forespørsel (sender en kommando til internett) som forteller oss at en dør eller noe annet har blitt åpnet
  • Deretter leser den et signal fra sivbryteren for å finne ut om døren har blitt lukket
  • Når ESP -kortet oppdager at sivbryteren er åpnet (dvs. døren var lukket) sender den en annen http -forespørsel som forteller oss at døren var lukket
  • Deretter signaliserer den den myke låsekretsen for å kutte strømmen til brettet

Last ned Arduino IDE

Jeg har lagt ved arduino -koden til denne delen for å laste den ned. Hvis du ikke har Arduino IDE, kan du laste den ned online på

Installer riktig styringsleder

For å laste opp koden til ESP -kortet må du installere en styringsleder i Arduino IDE ved å følge trinnene nedenfor.

  • Gå til Fil> Innstillinger for å åpne innstillingsvinduet
  • I preferansevinduet finner du feltet som sier "Ekstra styringsleder -URLer"
  • Lim inn følgende lenke i dette feltet https://arduino.esp8266.com/stable/package_esp8266com_index.json og trykk på "OK" -knappen
  • Åpne nå boards manager ved å gå til Tools> Board, så vil den aller første oppføringen være Boards Manager
  • Skriv "ESP8266" i brettmenyen og installer "esp8266" Jeg velger versjon 2.5.0 ettersom jeg har hatt noen problemer med de nyere versjonene
  • Gå tilbake og velg brettet ditt fra Verktøy> Brett> Generisk ESP8266 -modul
  • Lukk deretter og åpne arduino -ideen på nytt for å sikre at endringene fant sted

Åpne skissen i Arduino IDE

Vi må endre fire linjer i koden slik at sensoren fungerer for deg

  1. Endre SSID til WiFi SSID alias navnet på wifi
  2. Endre passordet for å matche passordet for wifi
  3. Endre nettadressen slik at den samsvarer med nettadressen fra siden "Dokumentasjon" i "webhook" -tjenesten
  4. Endre plasseringen av sensoren til der du planlegger å plassere den, dette kan være inngangsdør, bakdør, postkasse, etc.

Nå som du har endret koden for å passe dine behov, må vi laste den inn på brettet. I mitt tilfelle bruker jeg en USB -programmerer og følger instruksjonene for det. Dette kan kreve mye feilsøking, så jeg foreslår at du ser på nettet for en mer grundig opplæring. I mitt tilfelle kobler jeg ESP-01s til programmereren, deretter kobler jeg den til datamaskinen, deretter slår jeg bryteren fra uart til prog, til slutt kobler jeg fra og plugger programmereren inn igjen. Dette lar nå ESP stå i programmeringsmodus. Nå klikker jeg bare på opplastingsknappen og lar opplastingen fullføres. Hvis du vil se om den kobles til, kan du åpne den serielle skjermen og se på statusmeldingene. Når du har lastet opp skissen, vil vi lodde alt sammen, sette det i et kabinett og montere det til ønsket sted.

Trinn 7: Vedlegg (3D -trykt)

Vedlegg (3D -trykt)
Vedlegg (3D -trykt)
Vedlegg (3D -trykt)
Vedlegg (3D -trykt)
Vedlegg (3D -trykt)
Vedlegg (3D -trykt)

Jeg har designet følgende kabinett for å romme alle komponentene, tillate plassering av en magnet og justere sivbryteren. Den andre delen brukes bare til å holde en andre magnet som gjør at bryteren kan åpnes og lukkes.

Når alle komponentene er loddet sammen kan vi trykke dem ned i etuiet, hvis du vil kan du legge til litt varmt lim i bunnen for å holde alt i. Så må vi trykke en magnet inn i saken med elektronikken og justere sivbryteren etter behov. Den andre magneten skal presses inn i det andre kabinettet. Når begge kabinettet er fullført, kan vi teste det ved å sette de to kabinettene sammen, deretter skille dem og bringe dem sammen igjen. Vi bør nå få to varsler, en for sensor åpnet og en for sensor lukket. Hold de to sammen for å unngå at batteriet tømmes.

Fest monteringstape på baksiden av sensorene og legg dem på ønsket sted. Jeg monterte min på postkassen min. Test nå at justeringen er riktig og at sensoren kan sende en åpen og lukket melding.

Voila, du har nå din helt egen sensor for å varsle deg når den åpnes og lukkes. Gi meg beskjed hvis du liker det, og om det er noe du føler kan forbedres.

Jeg sender også denne instruksen til IOT -konkurransen, så sørg for å like og stemme på dette og alle andre IOT -prosjekter du har hatt glede av

Trinn 8: Fremtidige forbedringer

For dette prosjektet løp jeg inn i et par spørsmål. Det første problemet jeg støtte på var bruken av en mosfet som hadde for høy Vgs, så jeg måtte bytte til en annen. For det andre er sivbryteren jeg brukte normalt åpen, og i mitt tilfelle ville en normalt lukket bryter vært lettere å implementere og ville ha spart mye plass. Til slutt var esp 01s veldig vanskelig å jobbe med, og jeg måtte rote med gpio -pinnene for å få den til å fungere skikkelig, men jeg hadde fortsatt noen problemer. Jeg tror at dette prosjektet var i stand til å lære meg mange konsepter og har hjulpet meg med å komme med flere ideer og implementeringer ved hjelp av esp8266 -kortene og IFTTT.

IoT -utfordring
IoT -utfordring
IoT -utfordring
IoT -utfordring

Runner Up i IoT Challenge

Anbefalt: