Sadržaj:

LEIDS - IOT senzor vrata niske energije: 8 koraka (sa slikama)
LEIDS - IOT senzor vrata niske energije: 8 koraka (sa slikama)

Video: LEIDS - IOT senzor vrata niske energije: 8 koraka (sa slikama)

Video: LEIDS - IOT senzor vrata niske energije: 8 koraka (sa slikama)
Video: REVAN - THE COMPLETE STORY 2024, Novembar
Anonim
LEIDS - IOT senzor vrata niske potrošnje energije
LEIDS - IOT senzor vrata niske potrošnje energije

Šta je LEIDS?

LEIDS je IOT senzor zasnovan na ESP8266. Ovaj senzor koristi ovu ploču, krug mekog zaključavanja, trstični prekidač i neke magnete za stvaranje senzora vrata koji će vam poslati upozorenje kada se vaša vrata otvore i zatvore. Ovaj senzor se može spojiti na vaš MQTT server, IFTTT ili mnoge druge okvire koji podržavaju ESP8266. Ovaj instruktor će koristiti IFTTT za jednostavno stvaranje senzora koji će poslati upozorenje na vaš mobilni uređaj bez obzira gdje se nalazite. Senzor se također može postaviti tako da dopušta višestruka upozorenja sa zasebnih vrata, poštanskih sandučića, pećnica i bilo čega drugog što ima otvoren/zatvoren ili uključen/isključen fizički položaj. Prednost LEIDS -a je u tome što koristi minimalnu snagu i koristi samo kada su vrata otvorena, a kada se zatvore vrata, šalje poruku da vas upozori da su vrata zatvorena i isključuje se. Ovo je bolje od dubokog spavanja modula jer ne troši energiju ako se vrata ne otvore.

Korak 1: Potrošni materijal

Supplies
Supplies
Supplies
Supplies
Supplies
Supplies
Supplies
Supplies

Na donjim listama prikazani su alati i dijelovi koje sam koristio za ovaj projekt. Senzor se može redizajnirati tako da koristi različite dijelove i izgleda/funkcionira drugačije te samo koristi slične koncepte.

Alati:

  • Lemilica
  • ESP01-UART ili Arduino Uno (programer za ESP8266)
  • 3D štampač (opcionalno)
  • Premosni kablovi (opcionalno)
  • Oglasna ploča (nije obavezno)

Dijelovi:

  • ESP8266 ESP-01S x 1
  • Reed prekidač x 1 (po mogućnosti NC, mogao sam pronaći samo normalno otvoren pa moram koristiti dva magneta kako bi radio normalno zatvoren)
  • AMS1117 3.3v regulator
  • 2n3904 NPN tranzistor x 1
  • Mosfet P-kanala x 1 (želimo nešto s niskim VGS-om, po mogućnosti NDP6020P)
  • Lipo baterija 3,7v 100 mAh x 1
  • Različiti otpornici (100k ohm, 10k ohm, 220 ohm, 3k3 ohm)
  • 6x3 mm magneti x 2
  • Dvostrana montažna traka
  • Žica
  • Solder
  • Perfboard

3D štampani dijelovi:

Kućište za senzor

Korak 2: Krug mekog zatvaranja - hardver

Krug mekog zatvaranja - hardver
Krug mekog zatvaranja - hardver

Krug mekog zasuna koji koristim modifikacija je sheme koju sam pronašao na internetu. Nisam stručnjak i vjerujem da postoje bolji načini za izgradnju ovog kola, ali za moju svrhu ovo kolo obavlja posao!

Način na koji funkcionira je da kada je trska sklopljena zatvorena magnetskim poljem, dopušta struju do NPN tranzistora. NPN tranzistor tada uzemljuje PNP mosfet koji omogućava protok struje do ESP8266. ESP8266 se uključuje, koristi jedan od svojih pinova za održavanje uzemljenja PNP MOSFET -a koji nastavlja napajati ESP8266. Zatim, kada ESP8266 završi sa svojim zadacima, postavlja taj izlazni pin na LOW koji prekida NPN tranzistor i zatvara vrata na PNP mosfetu.

Korištenjem ovog kruga, ESP8266 se može uključiti pomoću prekidača, a zatim se može potpuno isključiti putem signala. Ovo omogućava da krug ne vuče struju kada je senzor zatvoren/isključen.

Korak 3: ESP8266 - Hardver

ESP8266 - Hardver
ESP8266 - Hardver

ESP8266 koji koristim će poslati poruku da vas upozori kada su vrata (ili nešto drugo) otvorena, a zatim će čekati da se vrata zatvore kako bi poslala poruku zatvaranja i sama se isključila. ESP8266 će se napajati pomoću sklopa s mekim zasunom i upotrijebit će jedan pin za očitavanje trska, a drugi za zadržavanje napajanja, a zatim i za isključivanje. Odlučio sam se za korištenje ESP-01 zbog malog oblika. ESP će poslati web zahtjev da nas obavijesti kada se senzor promijeni u "otvoren" i "zatvoren". Najlakši način koji sam pronašao bio je korištenje IFTTT -a i Google tablica. To je objašnjeno u sljedećim koracima.

Korak 4: IFTTT za daljinska obavještenja - 1. dio

IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio
IFTTT za daljinska obavještenja - 1. dio

U ovom uputstvu će se koristiti IFTTT i implementirati webhooks i google listovi za dobivanje daljinskih obavijesti na našem mobilnom uređaju. Za korištenje ovih usluga potrebno vam je sljedeće:

  • Google račun
  • IFTTT račun (može/treba da se prijavi sa Google nalogom)
  • IFTTT aplikacija za vaš mobilni uređaj

Nakon što kreirate/prijavite se na svoje račune, izradit ćemo dva apleta. Fotografije na vrhu ovog odjeljka pokazuju kako se upravlja web stranicom. Sljedeći koraci su za prvi aplet, zahtjev za pokretanje događaja. Ovaj aplet će dobiti poruku od senzora i spremiti događaj u dokument Google listova. Tada možete vidjeti povijest vašeg senzora i vidjeti kada je otvoren i zatvoren.

  1. Idite na vezu "Moji jabuci" koja se nalazi pri vrhu
  2. Kliknite na dugme "New Applet"
  3. Kliknite na plavo dugme "+ovo"
  4. Potražite "webhooks" i kliknite na nju
  5. Na sljedećoj stranici odaberite karticu "Primite web zahtjev"
  6. Zatim postavite naziv događaja na ono što želite, ja sam odabrao da mu dam ime "sensor_activated"
  7. Na sljedećoj stranici kliknite plavo dugme "+to"
  8. Potražite uslugu "google listovi" i odaberite je
  9. Na sljedećoj stranici odaberite funkciju "Dodaj red u proračunsku tablicu"
  10. Akciju popunite na sljedeći način:

    • Naziv proračunske tablice, svom sam dao naziv "Historija senzora"
    • Formatirani red mora izgledati ovako

      {{OccurredAt}} ||| {{Vrijednost1}} ||| {{Vrijednost2}}

    • Zadnje polje ostavite kako jest, osim ako ne želite promijeniti mjesto na koje će aplet spremiti status senzora
  11. Zatim kliknite "Kreiraj akciju"
  12. Na kraju kliknite "Završi" na završnom ekranu

Sada provjerimo radi li

  1. Idite na ovu vezu
  2. Zatim kliknite na dugme "Dokumentacija" (kasnije ćemo ponovo koristiti ovu stranicu "Dokumentacija")
  3. Sada ćete biti u svom osobnom odjeljku za aplet IFTTT Webhooks
  4. Popunite polje u kojem piše "{event}" s nazivom vašeg događaja, u ovom slučaju naziv događaja je "sensor_activated"
  5. Sada popunite polje "vrijednost1", ovo je polje koje će sadržavati lokaciju vašeg senzora, ja ću ga popuniti s "Ulazna vrata"
  6. Sada popunite polje "value2", ovo polje će imati status senzora, ja ću ga ispuniti sa "open" samo za testiranje
  7. Zatim kliknite plavo dugme "Testiraj"
  8. Ako je sve prošlo u redu, trebali biste dobiti zeleno "Događaj je pokrenut". poruka na vrhu
  9. Sada, ako želite vidjeti kako je pohranila vašu poruku, možete otvoriti svoje Google listove i pronaći proračunsku tablicu koju je dodala, priložio sam sliku koja prikazuje kako će izgledati proračunska tablica

Sada idemo na sljedeći korak dodavanjem apleta koji će nas obavijestiti o promjeni statusa.

Korak 5: IFTTT za daljinska obavještenja - 2. dio

IFTTT za daljinska obavještenja - 2. dio
IFTTT za daljinska obavještenja - 2. dio
IFTTT za daljinska obavještenja - 2. dio
IFTTT za daljinska obavještenja - 2. dio
IFTTT za daljinska obavještenja - 2. dio
IFTTT za daljinska obavještenja - 2. dio

Sada ćemo dodati aplet koji će nas obavijestiti kada tablica statusa doda red; drugim riječima, kada senzor aktivira događaj. Kao i do sada, kreirat ćemo novi applet. Sljedeći koraci će vas voditi pri stvaranju drugog apleta. Budući da smo učinili nešto slično u prethodnom koraku, samo ću dodati slajdove koji su različiti ovom koraku.

  1. Idite na vezu "Moji jabuci" koja se nalazi pri vrhu
  2. Kliknite na dugme "New Applet"
  3. Kliknite na plavo dugme "+ovo"
  4. Potražite "google listove" i kliknite na nju
  5. Na sljedećoj stranici odaberite karticu "Novi red dodan u proračunsku tablicu"
  6. Zatim popunite polja kako biste ukazali na proračunsku tablicu u koju drugi aplet piše

    • U ovom primjeru put je "IFTTT/MakerWebooks/sensor_activated"
    • Naziv datoteke je "Historija senzora"
  7. Na sljedećoj stranici kliknite plavo dugme "+to"
  8. Potražite uslugu "obavijesti" i odaberite je
  9. Sada moramo popuniti polja za usluge obavještavanja
    • Naslov je promijenjen u

      {{ColumnB}} je bio {{ColumnC}}

    • Poruka je postavljena na

      {{ColumnB}} je bio {{ColumnC}} na {{ColumnA}}

    • Link ostaje sam
  10. Zatim kliknite "Kreiraj akciju"
  11. Na kraju kliknite "Završi" na završnom ekranu

Da biste testirali drugi dio IFTTT sistema obavijesti, provjerite jeste li preuzeli IFTTT aplikaciju na svoj mobilni uređaj i prijavite se sa svojim vjerodajnicama. U mom slučaju prijavljujem se sa svojim google računom. Sada to možemo testirati tako da se vratimo na stranicu "Dokumentacija" i pokrenemo test s imenom događaja postavljenim kao "senzor_aktivan", polje "vrijednost1" postavljeno na lokaciju, a polje "vrijednost2" postavljeno na status.

Ovo bi vam trebalo poslati obavještenje. Ako ga ne primite, provjerite jeste li prijavljeni s istim računom i jeste li dozvolili aplikaciji da vam šalje obavještenja.

Korak 6: Arduino IDE i Sketch

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

Softver koji se koristi za ploču sastavljen je pomoću Arduino IDE -a.

Logika je sljedeća:

  • Trska se zatvara otvaranjem vrata
  • ESP se zatim uključuje i povezuje na WiFi
  • Nakon što se WiFi veza uspostavi, šalje http zahtjev (šalje naredbu na internet) koji nam govori da su otvorena vrata ili nešto drugo
  • Zatim očitava signal s trstičnog prekidača kako bi utvrdio jesu li vrata zatvorena
  • Kada ESP ploča otkrije da je trstični prekidač otvoren (tj. Vrata su zatvorena), šalje još jedan http zahtjev koji nam govori da su vrata zatvorena
  • Zatim signalizira krug mekog zasuna da isključi napajanje ploče

Preuzmite Arduino IDE

Ovom sam odjeljku priložio arduino kôd koji možete preuzeti. Ako nemate Arduino IDE, možete ga preuzeti na mreži na

Instalirajte odgovarajućeg upravitelja ploče

Da biste učitali kôd na svoju ESP ploču, morate instalirati upravitelja ploče u Arduino IDE koristeći sljedeće korake.

  • Idite na Datoteka> Postavke da biste otvorili prozor postavki
  • U prozoru sa postavkama pronađite polje s natpisom "Dodatni URL -ovi upravitelja odbora"
  • Zalijepite sljedeću vezu u ovo polje https://arduino.esp8266.com/stable/package_esp8266com_index.json i pritisnite dugme "OK"
  • Sada otvorite upravitelj ploča tako što ćete otići na Alati> Ploča, tada će prvi unos biti Upravitelj ploča
  • Upišite "ESP8266" u izbornik ploče i instalirajte "esp8266" Odabirem verziju 2.5.0 jer sam imao problema s novijim verzijama
  • Sada se vratite i odaberite svoju ploču iz Alati> Ploča> Opći modul ESP8266
  • Zatim zatvorite i ponovo otvorite arduino ide kako biste bili sigurni da je došlo do promjena

Otvorite skicu u Arduino IDE -u

Moramo izmijeniti četiri retka koda kako bi senzor radio za vas

  1. Promijenite SSID u svoj WiFi SSID poznat i kao naziv vašeg WiFi -ja
  2. Promijenite lozinku tako da odgovara lozinki za vaš WiFi
  3. Promijenite url tako da se podudara s URL -om sa stranice "Dokumentacija" usluge "webhook"
  4. Promijenite lokaciju senzora na mjesto na koje ga namjeravate postaviti, to mogu biti ulazna vrata, stražnja vrata, poštanski sandučić itd.

Sada kada ste modificirali kôd tako da odgovara vašim potrebama, moramo ga učitati na ploču. U mom slučaju koristim USB programator i slijedim upute za to. To može zahtijevati puno rješavanja problema, pa vam predlažem da potražite detaljniji vodič na internetu. U mom slučaju priključujem ESP-01 na programator, zatim ga priključujem na računar, zatim prebacujem prekidač sa uart na prog, na kraju isključujem i ponovo priključujem programator. Ovo ostavlja ESP u načinu programiranja. Sada samo pritisnem dugme za otpremanje i pustim da se učitavanje završi. Ako želite vidjeti da li se povezuje, možete otvoriti serijski monitor i pogledati poruke o statusu. Nakon što postavite skicu, sve ćemo lemiti, staviti u kućište i montirati na željeno mjesto.

Korak 7: Ograđivanje (3D štampano)

Kućište (3D štampano)
Kućište (3D štampano)
Kućište (3D štampano)
Kućište (3D štampano)
Kućište (3D štampano)
Kućište (3D štampano)

Sljedeće kućište sam dizajnirao za smještaj svih komponenti, omogućavanje postavljanja magneta i poravnavanje trska. Drugi dio služi samo za držanje drugog magneta koji će omogućiti otvaranje i zatvaranje prekidača.

Nakon što su sve komponente spojene zajedno, možemo ih utisnuti u kućište. Ako želite, možete dodati malo vrućeg ljepila na dno kako biste sve držali. Zatim moramo utisnuti jedan magnet u kućište s elektronikom i poravnati trska prema potrebi. Drugi magnet treba utisnuti u drugo kućište. Nakon što su oba kućišta završena, možemo ih testirati tako da spojimo dva kućišta, zatim ih odvojimo i spojimo. Sada bismo trebali dobiti dva obavještenja jedno za senzor otvoren, a drugo za zatvaranje senzora. Držite ih zajedno kako se baterija ne bi ispraznila.

Pričvrstite montažnu traku na stražnju stranu senzora i nanesite ih na željeno mjesto. Svoju sam montirao na poštansko sanduče. Sada provjerite je li poravnanje ispravno i da li senzor može poslati otvorenu i zatvorenu poruku.

Voila, sada imate svoj vlastiti senzor koji će vas upozoriti kada se otvori i zatvori. Javite mi ako vam se sviđa i ako smatrate da se nešto može poboljšati.

Takođe šaljem ovo uputstvo na IOT takmičenje pa obavezno lajkujte i glasajte za ovaj i sve druge IOT projekte u kojima ste uživali

Korak 8: Buduća poboljšanja

Za ovaj projekt naišao sam na nekoliko problema. Prvi problem s kojim sam se susreo bila je upotreba MOSFET -a koji je imao previsok Vgs pa sam morao prijeći na drugi. Drugo, trskasti prekidač koji sam koristio normalno je otvoren i u mom slučaju normalno zatvoren prekidač bi bilo lakše implementirati i uštedio bi mnogo prostora. Konačno, s esp 01 -om je bilo jako teško raditi i morao sam se petljati s gpio iglama kako bi ispravno radio, ali i dalje sam imao nekih problema. Mislim da me ovaj projekt naučio puno koncepata i pomogao mi da dođem do više ideja i implementacija koristeći ploče esp8266 i IFTTT.

IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

Drugoplasirani u IoT Challenge -u

Preporučuje se: