INHOUDSOPGAWE:

LEIDS - IOT -deursensor met lae energie: 8 stappe (met foto's)
LEIDS - IOT -deursensor met lae energie: 8 stappe (met foto's)

Video: LEIDS - IOT -deursensor met lae energie: 8 stappe (met foto's)

Video: LEIDS - IOT -deursensor met lae energie: 8 stappe (met foto's)
Video: Wanneer een douche nemen te duur is... 2024, Julie
Anonim
LEIDS - IOT -deursensor met lae energie
LEIDS - IOT -deursensor met lae energie

Wat is LEIDS?

LEIDS is 'n IOT -sensor wat gebaseer is op die ESP8266. Hierdie sensor maak gebruik van hierdie bord, 'n sagte sluitkring, 'n rietskakelaar en 'n paar magnete om 'n deursensor te skep wat u 'n waarskuwing sal stuur wanneer u deur oop en toe gaan. Hierdie sensor kan gekoppel word aan u MQTT -bediener, IFTTT of baie ander raamwerke wat die ESP8266 ondersteun. Hierdie instruksies sal IFTTT gebruik om maklik 'n sensor te skep wat 'n waarskuwing na u mobiele toestel stuur, ongeag waar u is. Die sensor kan ook opgestel word om verskeie waarskuwings moontlik te maak van afsonderlike deure, posbusse, oonde en enigiets anders wat 'n oop/toe of aan/af fisiese posisie het. Die voordeel van LEIDS is dat dit minimale krag gebruik en slegs krag gebruik as 'n deur oop is, en as die deur gesluit is, stuur dit 'n boodskap om u te waarsku dat die deur gesluit en afgeskakel is. Dit is beter as om die module diep te slaap, aangesien dit geen energie gebruik as die deur nie oopgemaak word nie.

Stap 1: Voorrade

Voorrade
Voorrade
Voorrade
Voorrade
Voorrade
Voorrade
Voorrade
Voorrade

Die onderstaande lyste toon die gereedskap en onderdele wat ek vir hierdie projek gebruik het. Die sensor kan herontwerp word om verskillende onderdele te gebruik en anders te kyk/funksioneer en net soortgelyke konsepte te gebruik.

Gereedskap:

  • Soldeerbout
  • ESP01-UART of Arduino Uno (programmeerder vir ESP8266)
  • 3D -drukker (opsioneel)
  • Springkabels (opsioneel)
  • Broodbord (opsioneel)

Dele:

  • ESP8266 ESP-01S x 1
  • Rietskakelaar x 1 (verkieslik NC, ek kon slegs normaal oop vind, so ek moet twee magnete gebruik om dit normaalweg te laat werk)
  • AMS1117 3.3v Reguleerder
  • 2n3904 NPN Transistor x 1
  • P-Channel Mosfet x 1 (ons wil iets hê met 'n lae VGS, verkieslik 'n NDP6020P)
  • 3.7v 100 mAh Lipo -battery x 1
  • Geassorteerde weerstande (100k ohm, 10k ohm, 220 ohm, 3k3 Ohm)
  • 6x3mm magnete x 2
  • Dubbelzijdige monteerband
  • Draad
  • Soldeer
  • Perfboard

3D -gedrukte onderdele:

Behuizing vir sensor

Stap 2: Sagte sluitkring - hardeware

Sagte sluitkring - hardeware
Sagte sluitkring - hardeware

Die sagte grendelbaan wat ek gebruik, is 'n wysiging van 'n skematiese wat ek aanlyn gevind het. Ek is nie 'n deskundige nie en ek glo dat daar beter maniere is om hierdie stroombaan te bou, maar vir my doel doen hierdie kring die werk!

Die manier waarop dit werk, is dat wanneer die rietskakelaar deur 'n magnetiese veld gesluit word, die NPN -transistor stroom kan toelaat. Die NPN -transistor maak dan die PNP -mosfet gemoduleer sodat stroom na die ESP8266 kan vloei. Die ESP8266 skakel aan, gebruik een van sy penne om die PNP -mosfet geaard te hou, wat die ESP8266 aanhou dryf. As die ESP8266 dan klaar is met sy take, stel dit die uitvoerpen op LOW wat die NPN -transistor onderbreek en die hek op die PNP -mosfet sluit.

Deur 'n stroombaan soos hierdie te gebruik, kan die ESP8266 deur 'n skakelaar aangeskakel word en dan self heeltemal deur 'n sein kan afskakel. Dit laat die stroombaan toe om geen stroom te trek as die sensor gesluit/af is nie.

Stap 3: ESP8266 - Hardeware

ESP8266 - Hardeware
ESP8266 - Hardeware

Die ESP8266 wat ek gebruik, stuur 'n boodskap om te waarsku wanneer 'n deur (of iets anders) oop is, en wag totdat die deur toemaak om 'n noue boodskap te stuur en afsluit. Die ESP8266 word aangedryf deur die sagte sluitkring en gebruik een pen om die rietskakelaar te lees en 'n ander pen om homself aan te hou en dan af te skakel. Ek het gekies om die ESP-01's te gebruik vanweë die klein vormfaktor. Die ESP sal 'n webversoek stuur om ons in kennis te stel wanneer die sensor verander na "oop" en "gesluit". Die maklikste metode wat ek gevind het, was om IFTTT en Google Sheets te gebruik. Dit word in die volgende stappe verduidelik.

Stap 4: IFTTT vir kennisgewings op afstand - Deel 1

IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1
IFTTT vir afstandkennisgewings - Deel 1

In hierdie instruksies sal u IFTTT gebruik en webhooks en Google -blaaie implementeer om kennisgewings op afstand op ons mobiele toestel te kry. Om hierdie dienste te gebruik, benodig u die volgende:

  • 'N Google -rekening
  • 'N IFTTT -rekening (kan met 'n Google -rekening aanmeld/moet)
  • Die IFTTT -toepassing vir u mobiele toestel

Sodra u by u rekeninge geskep/aangemeld het, skep ons twee applets. Die foto's bo -aan hierdie afdeling wys hoe u die webblad kan bestuur. Die volgende stappe is vir die eerste applet, die gebeurtenis wat afgevuur is. Hierdie applet kry 'n boodskap van die sensor en stoor die gebeurtenis in 'n Google sheets -dokument. Dan kan u die geskiedenis van u sensor sien en sien wanneer dit oopgemaak en toegemaak is.

  1. Gaan na die skakel "My applets" aan die bokant
  2. Klik op die knoppie "New Applet"
  3. Klik op die blou "+hierdie" knoppie
  4. Soek "webhooks" en klik daarop
  5. Kies die kaart "Ontvang 'n webversoek" op die volgende bladsy
  6. Stel dan die byeenkomsnaam in op wat u ook al wil, ek het gekies om dit 'sensor_activated' te noem
  7. Klik op die volgende bladsy op die blou "+dat" -knoppie
  8. Soek die "google sheets" -diens en kies dit
  9. Kies die funksie "Voeg ry by sigblad" op die volgende bladsy
  10. Vul die aksie soos volg in:

    • Sigbladnaam, ek het myne 'Sensorgeskiedenis' genoem
    • Die geformateerde ry moet soos volg lyk

      {{OccuredAt}} ||| {{Waarde1}} ||| {{Waarde2}}

    • Laat die laaste veld soos dit is, tensy u wil verander waar die applet die status van die sensor sal stoor
  11. Klik dan op "Skep aksie"
  12. Klik laastens op "Voltooi" op die finale skerm

Laat ons nou toets of dit werk

  1. Gaan na hierdie skakel
  2. Klik dan op die knoppie "Dokumentasie" (ons sal later weer hierdie "dokumentasie" -bladsy gebruik)
  3. Nou is u in u eie persoonlike afdeling vir die IFTTT Webhooks -applet
  4. Vul die veld waarin dit staan "{event}" in met die naam van u geleentheid, in hierdie geval is die gebeurtenisnaam "sensor_activated"
  5. Vul nou die "waarde1" -veld in, dit is die veld wat die ligging van u sensor sal bevat; ek gaan dit invul met "Voordeur"
  6. Vul nou die "waarde2" -veld in, dit is die veld wat die status van die sensor sal hê; ek gaan dit invul met 'oop' net vir toetsing
  7. Klik dan op die blou knoppie "Toets dit"
  8. As alles goed verloop, moet u 'n groen 'Gebeurtenis is geaktiveer' kry. boodskap bo
  9. As u wil sien hoe dit u boodskap gestoor het, kan u u Google -velle oopmaak en die sigblad vind wat dit bygevoeg het. Ek het 'n prentjie aangeheg om te wys hoe die sigblad sal lyk

Gaan nou na die volgende stap om 'n applet by te voeg om ons in kennis te stel van die statusverandering.

Stap 5: IFTTT vir kennisgewings op afstand - Deel 2

IFTTT vir afstandkennisgewings - Deel 2
IFTTT vir afstandkennisgewings - Deel 2
IFTTT vir afstandkennisgewings - Deel 2
IFTTT vir afstandkennisgewings - Deel 2
IFTTT vir afstandkennisgewings - Deel 2
IFTTT vir afstandkennisgewings - Deel 2

Nou sal ons 'n applet byvoeg om ons in kennis te stel wanneer die statusblad 'n ry bygevoeg word; met ander woorde, wanneer die sensor 'n gebeurtenis afskakel. Soos voorheen sal ons 'n nuwe applet skep. Die volgende stappe lei u by die skep van die tweede applet. Aangesien ons in die vorige stap iets soortgelyks gedoen het, sal ek slegs die skyfies wat van hierdie stap verskil, byvoeg.

  1. Gaan na die skakel "My applets" aan die bokant
  2. Klik op die knoppie "New Applet"
  3. Klik op die blou "+hierdie" knoppie
  4. Soek "google sheets" en klik daarop
  5. Kies op die volgende bladsy die kaart "Nuwe ry bygevoeg tot sigblad"
  6. Vul dan die velde in om na die sigblad te wys waarna die ander applet skryf

    • In hierdie voorbeeld is die pad "IFTTT/MakerWebooks/sensor_activated"
    • Die lêernaam is "Sensorgeskiedenis"
  7. Klik op die volgende bladsy op die blou "+dat" -knoppie
  8. Soek die "kennisgewings" -diens en kies dit
  9. Nou moet ons die kennisgewingsdiensvelde invul

    • Die titel word verander na

      {{ColumnB}} was {{ColumnC}}

    • Die boodskap is ingestel op

      {{ColumnB}} was {{ColumnC}} op {{ColumnA}}

    • Die skakel word alleen gelaat
  10. Klik dan op "Skep aksie"
  11. Klik laastens op "Voltooi" op die finale skerm

Om die tweede deel van die IFTTT -kennisgewingstelsel te toets, maak seker dat u die IFTTT -app op u mobiele toestel afgelaai het en met u geloofsbriewe aangemeld het. In my geval meld ek aan met my Google -rekening. Nou kan ons dit toets deur terug te gaan na die 'Dokumentasie' -bladsy en die toets af te skakel met die gebeurtenisnaam ingestel as' sensor_activated ', die veld' waarde1 'op die plek en die veld' waarde2 'op die status.

Dit moet u 'n kennisgewing stuur. As u nie een ontvang nie, maak seker dat u met dieselfde rekening aangemeld is en dat u die aansoek toegelaat het om kennisgewings vir u te stuur.

Stap 6: Arduino IDE en Sketch

Arduino IDE en Sketch
Arduino IDE en Sketch
Arduino IDE en Sketch
Arduino IDE en Sketch

Die sagteware wat vir die bord gebruik word, word saamgestel met behulp van die Arduino IDE.

Die logika is soos volg:

  • Die rietskakelaar word gesluit deur die deur oop te maak
  • Die ESP word dan aangeskakel en maak verbinding met WiFi
  • Sodra die WiFi -verbinding tot stand gebring is, stuur dit 'n http -versoek (stuur 'n opdrag na die internet) wat ons vertel dat 'n deur of iets anders oopgemaak is
  • Dan lees dit 'n sein van die rietskakelaar om vas te stel of die deur gesluit is
  • As die ESP -bord ontdek dat die rietskakelaar oopgemaak word (dit wil sê die deur is toe) stuur dit 'n ander http -versoek wat ons vertel dat die deur gesluit is
  • Dan gee dit 'n aanduiding van die sagte sluitkring om die krag na die bord te sny

Laai Arduino IDE af

Ek het die arduino -kode by hierdie afdeling geheg sodat u dit kan aflaai. As u nie die Arduino IDE het nie, kan u dit aanlyn aflaai op

Installeer die regte bordbestuurder

Om die kode na u ESP -bord te laai, moet u 'n bordbestuurder in die Arduino IDE installeer deur die volgende stappe te gebruik.

  • Gaan na Lêer> Voorkeure om die voorkeure -venster oop te maak
  • In die voorkeure -venster vind u die veld wat sê "Bykomende raadbestuurder -URL's"
  • Plak die volgende skakel in hierdie veld https://arduino.esp8266.com/stable/package_esp8266com_index.json en druk op die "OK" knoppie
  • Maak nou die bestuurder oop deur na Tools> Board te gaan, dan is die heel eerste inskrywing die bestuurder
  • Tik "ESP8266" in die bordmenu en installeer "esp8266", ek kies weergawe 2.5.0, aangesien ek probleme ondervind het met die nuwer weergawes
  • Gaan nou terug en kies u bord uit Tools> Board> Generic ESP8266 Module
  • Sluit dan die arduino -idee oop en maak seker dat die veranderinge plaasgevind het

Maak die skets oop in die Arduino IDE

Ons moet die vier reëls van die kode verander sodat die sensor vir u werk

  1. Verander die SSID in u WiFi SSID, ook die naam van u wifi
  2. Verander die wagwoord om by die wagwoord van u wifi te pas
  3. Verander die URL om by die url te pas vanaf die "Dokumentasie" -bladsy van die "webhook" -diens
  4. Verander die ligging van die sensor na die plek waar u dit wil plaas, dit kan die voordeur, agterdeur, posbus, ens.

Noudat u die kode aangepas het om aan u behoeftes te voldoen, moet ons dit op die bord laai. In my geval gebruik ek 'n USB -programmeerder en volg die instruksies daarvoor. Dit kan baie probleme oplos, daarom stel ek voor dat u aanlyn 'n meer uitgebreide handleiding soek. In my geval koppel ek die ESP-01's aan die programmeerder, dan steek ek dit in die rekenaar, dan draai ek die skakelaar van uart na prog, laastens trek ek die stekker uit en koppel die programmeerder weer aan. Dit laat die ESP nou in die programmeermodus. Nou klik ek net op die oplaai -knoppie en laat die oplaai voltooi. As u wil sien of dit aansluit, kan u die seriële monitor oopmaak en na die statusboodskappe kyk. Nadat u die skets opgelaai het, sal ons alles saam soldeer, in 'n omhulsel sit en dit op die gewenste plek plaas.

Stap 7: Omhulsel (3D -gedruk)

Omhulsel (3D -gedruk)
Omhulsel (3D -gedruk)
Omhulsel (3D -gedruk)
Omhulsel (3D -gedruk)
Omhulsel (3D -gedruk)
Omhulsel (3D -gedruk)

Ek het die volgende omhulsel ontwerp om al die komponente te akkommodeer, om 'n magneet te plaas en die rietskakelaar in lyn te bring. Die tweede deel word net gebruik om 'n tweede magneet te hou waarmee die skakelaar oop en toe kan maak.

Sodra al die komponente aanmekaar gesoldeer is, kan ons dit in die houer druk, as u wil, kan u 'n bietjie warm gom aan die onderkant voeg om alles in te hou. Dan moet ons een magneet met die elektronika in die kas druk en dit in lyn bring die rietskakelaar soos nodig. Die ander magneet moet in die ander omhulsel ingedruk word. Sodra albei omhulsels voltooi is, kan ons dit toets deur die twee omhulsels bymekaar te sit, dit dan te skei en weer bymekaar te bring. Ons behoort nou twee kennisgewings te kry, een vir sensor wat oopgemaak is en een vir sensor wat gesluit is. Hou die twee bymekaar om te verhoed dat die battery leegloop.

Heg die monteerband aan die agterkant van die sensors vas en plak dit op die gewenste plek. Ek het myne op my posbus geplaas. Toets nou of die belyning korrek is en dat die sensor 'n oop en geslote boodskap kan stuur.

Voila, u het nou u eie sensor om u te waarsku wanneer dit oopgemaak en toegemaak word. Laat weet my as u daarvan hou en as u voel dat u iets kan verbeter.

Ek stuur ook hierdie instruksies by die IOT -wedstryd, so maak seker dat u hierdie en enige ander IOT -projekte wat u geniet het, like en stem

Stap 8: Toekomstige verbeterings

Vir hierdie projek het ek 'n paar probleme ondervind. Die eerste probleem wat ek ondervind het, was die gebruik van 'n mosfet met 'n te hoë Vgs, so ek moes oorskakel na 'n ander een. Tweedens, die rietskakelaar wat ek gebruik het, is normaalweg oop en in my geval sou 'n normaal gesluit skakelaar makliker gewees het om te implementeer en baie ruimte te bespaar. Laastens was die esp 01's baie moeilik om mee te werk, en ek moes met die gpio -penne mors om dit behoorlik te laat werk, maar ek het steeds probleme ondervind. Ek dink dat hierdie projek my baie konsepte kon leer en my gehelp het om met meer idees en implementasies vorendag te kom met behulp van die esp8266 -borde en IFTTT.

IoT -uitdaging
IoT -uitdaging
IoT -uitdaging
IoT -uitdaging

Naaswenner in die IoT -uitdaging

Aanbeveel: