Sadržaj:

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

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

Video: LEIDS - IOT senzor niskoenergetskih vrata: 8 koraka (sa slikama)
Video: Собаку бросили в лесу с коробкой макарон. История собаки по имени Ринго. 2024, Studeni
Anonim
LEIDS - niskoenergetski IOT senzor vrata
LEIDS - niskoenergetski IOT senzor vrata

Što je LEIDS?

LEIDS je IOT senzor koji se temelji na ESP8266. Ovaj senzor koristi ovu ploču, sklop mekog zasuna, trstični prekidač i neke magnete za stvaranje senzora vrata koji će vam poslati upozorenje kada se vaša vrata otvore i zatvore. Ovaj se senzor može spojiti na vaš MQTT poslužitelj, 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 s zasebnih vrata, poštanskih sandučića, pećnica i svega što ima otvoreni/zatvoreni ili uključeni/isključeni 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. To je bolje od dubokog spavanja modula jer ne troši energiju ako se vrata ne otvore.

Korak 1: Opskrba

Pribor
Pribor
Pribor
Pribor
Pribor
Pribor
Pribor
Pribor

Popisi u nastavku prikazuju alate i dijelove 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 pisač (izborno)
  • Kablovi za spajanje (opcionalno)
  • Oglasna ploča (izborno)

Dijelovi:

  • ESP8266 ESP-01S x 1
  • Reed prekidač x 1 (po mogućnosti NC, mogao sam pronaći samo normalno otvoren pa moram upotrijebiti dva magneta kako bi radio kao 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)
  • Magneti 6x3 mm x 2
  • Dvostrana montažna traka
  • Žica
  • Lem
  • Perfboard

3D ispisani dijelovi:

Kućište za senzor

Korak 2: Meki sklopni sklop - 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 kruga, ali za moju svrhu ovaj krug radi svoj posao!

Način na koji funkcionira je da kad je trska sklopljena zatvorena magnetskim poljem dopušta struju do NPN tranzistora. NPN tranzistor tada uzemljuje PNP mosfet koji omogućuje 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, kad ESP8266 završi sa svojim zadacima, postavlja taj izlazni pin na LOW koji prekida NPN tranzistor i zatvara vrata na PNP MOSFET -u.

Korištenjem ovog kruga, ESP8266 se može uključiti prekidačem, a zatim se može potpuno isključiti putem signala. To omogućuje da krug ne povlači struju kada je senzor zatvoren/isključen.

Korak 3: ESP8266 - Hardver

ESP8266 - Hardver
ESP8266 - Hardver

ESP8266 koji koristim slat će poruku kako bi upozorio kada su vrata (ili druga stvar) otvorena, a zatim će pričekati da se vrata zatvore kako bi poslao poruku zatvaranja i sam se isključio. 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 daljinske obavijesti - 1. dio

IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio
IFTTT za daljinske obavijesti - 1. dio

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

  • Google račun
  • IFTTT račun (može/treba se prijaviti s Google računom)
  • 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 prikazuju kako upravljati web stranicom. Sljedeći su koraci za prvi applet, zahtjev za pokretanje događaja. Ovaj će applet primiti 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 gumb "New Applet"
  3. Pritisnite plavi gumb "+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 što god želite, odabrao sam ga nazvati "sensor_activated"
  7. Na sljedećoj stranici kliknite plavi gumb "+to"
  8. Potražite uslugu "google listovi" i odaberite je
  9. Na sljedećoj stranici odaberite funkciju "Dodaj redak u proračunsku tablicu"
  10. Ispunite akciju na sljedeći način:

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

      {{Dogodilo se}} ||| {{Vrijednost1}} ||| {{Vrijednost2}}

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

Sada provjerimo radi li

  1. Idite na ovu vezu
  2. Zatim kliknite gumb "Dokumentacija" (kasnije ćemo ponovo koristiti ovu stranicu "Dokumentacija")
  3. Sada ćete biti u svom osobnom odjeljku za aplet IFTTT Webhooks
  4. Ispunite polje u kojem piše "{event}" s nazivom vašeg događaja, u ovom slučaju naziv događaja je "sensor_activated"
  5. Sada ispunite polje "vrijednost1", ovo je polje koje će držati lokaciju vašeg senzora, ja ću ga ispuniti s "Ulazna vrata"
  6. Sada ispunite polje "value2", ovo je polje koje će imati status senzora, ja ću ga ispuniti s "open" samo za testiranje
  7. Zatim kliknite plavi gumb "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 tablice 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 daljinske obavijesti - 2. dio

IFTTT za daljinske obavijesti - 2. dio
IFTTT za daljinske obavijesti - 2. dio
IFTTT za daljinske obavijesti - 2. dio
IFTTT za daljinske obavijesti - 2. dio
IFTTT za daljinske obavijesti - 2. dio
IFTTT za daljinske obavijesti - 2. dio

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

  1. Idite na vezu "Moji jabuci" koja se nalazi pri vrhu
  2. Kliknite gumb "New Applet"
  3. Pritisnite plavi gumb "+ovo"
  4. Potražite "google listove" i kliknite na nju
  5. Na sljedećoj stranici odaberite karticu "Novi redak dodan u proračunsku tablicu"
  6. Zatim ispunite 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 "Povijest senzora"
  7. Na sljedećoj stranici kliknite plavi gumb "+to"
  8. Potražite uslugu "obavijesti" i odaberite je
  9. Sada moramo popuniti polja usluge obavijesti

    • Naslov se mijenja u

      {{StupacB}} bio je {{StupacC}}

    • Poruka je postavljena na

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

    • Veza ostaje sama
  10. Zatim kliknite "Izradi radnju"
  11. Na kraju kliknite "Završi" na posljednjem ekranu

Da biste testirali drugi dio sustava obavijesti IFTTT, provjerite jeste li preuzeli aplikaciju IFTTT na svoj mobilni uređaj i prijavite se 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", poljem "vrijednost1" postavljenim na lokaciju i poljem "vrijednost2" postavljenim na status.

Ovo bi vam trebalo poslati obavijest. Ako ga ne primite, provjerite jeste li prijavljeni s istim računom i dopustite li aplikaciji slanje obavijesti.

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čne sklopke 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 prekine 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 ploče"
  • Zalijepite sljedeću vezu u ovo polje https://arduino.esp8266.com/stable/package_esp8266com_index.json i pritisnite gumb "U redu"
  • Sada otvorite upravitelj ploča tako da odete 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 ploču iz Alati> Ploča> Opći modul ESP8266
  • Zatim zatvorite i ponovno otvorite arduino ide kako biste bili sigurni da su se promjene dogodile

Otvorite skicu u Arduino IDE -u

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

  1. Promijenite SSID u svoj WiFi SSID ili naziv vašeg WiFi -ja
  2. Promijenite lozinku tako da odgovara lozinci za vaš WiFi
  3. Promijenite URL tako da se podudara s URL -om sa stranice "Dokumentacija" usluge "webhook"
  4. Promijenite mjesto 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 mnogo rješavanja problema pa vam predlažem da na internetu potražite dublji vodič. U mom slučaju priključujem ESP-01 na programator, zatim ga priključujem na računalo, zatim prebacujem prekidač s uart na prog, na kraju isključujem i ponovno uključujem programator. Ovo ostavlja ESP u načinu programiranja. Sada samo kliknem na gumb za prijenos i pustim da prijenos završi. Ako želite vidjeti povezuje li se, možete otvoriti serijski monitor i pogledati poruke statusa. Nakon što prenesete skicu, sve ćemo lemiti, staviti u kućište i montirati na željeno mjesto.

7. korak: kućište (3D ispisano)

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

Sljedeće kućište sam dizajnirao za smještaj svih komponenti, dopuštanje 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 držali sve unutra. Zatim moramo utisnuti jedan magnet u kućište s elektronikom i poravnati trstični prekidač po potrebi. Drugi magnet treba utisnuti u drugo kućište. Nakon što su oba kućišta dovršena, možemo ih testirati tako da spojimo dva kućišta, zatim ih odvojimo i spojimo. Sada bismo trebali dobiti dvije obavijesti, jedna za senzor otvoren, i jedna za zatvaranje senzora. Držite ih zajedno kako se baterija ne bi ispraznila.

Pričvrstite montažnu traku na stražnju stranu senzora i pričvrstite ih na željeno mjesto. Svoju sam montirao na poštanski sandučić. 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 sviđa li vam se i ako smatrate da se nešto može poboljšati.

Također predajem ovo uputstvo na natječaj IOT -a 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 puno 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 mogao naučiti puno koncepata i pomogao mi je doći do više ideja i implementacija pomoću ploča esp8266 i IFTTT -a.

IoT izazov
IoT izazov
IoT izazov
IoT izazov

Drugoplasirani u IoT Challengeu

Preporučeni: