Turinys:
- 1 žingsnis: reikmenys
- 2 žingsnis: minkšto fiksavimo grandinė - aparatinė įranga
- 3 žingsnis: ESP8266 - Aparatūra
- 4 žingsnis: IFTTT nuotoliniams pranešimams - 1 dalis
- 5 veiksmas: IFTTT nuotoliniams pranešimams - 2 dalis
- 6 veiksmas: „Arduino IDE“ir eskizas
- 7 žingsnis: gaubtas (3D spausdintas)
- 8 žingsnis: būsimi patobulinimai
Video: LEIDS - mažos energijos IOT durų jutiklis: 8 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Kas yra LEIDS?
LEIDS yra IOT jutiklis, pagrįstas ESP8266. Šis jutiklis naudoja šią plokštę, minkštą fiksavimo grandinę, nendrinį jungiklį ir kai kuriuos magnetus, kad sukurtų durų jutiklį, kuris jums praneš, kai jūsų durys atsidaro ir užsidaro. Šis jutiklis gali būti prijungtas prie jūsų MQTT serverio, IFTTT ar daugelio kitų sistemų, palaikančių ESP8266. Ši instrukcija naudos IFTTT, kad lengvai sukurtų jutiklį, kuris išsiųs įspėjimą į jūsų mobilųjį įrenginį, kad ir kur būtumėte. Jutiklį taip pat galima sukonfigūruoti taip, kad būtų galima gauti kelis įspėjimus iš atskirų durų, pašto dėžučių, orkaitių ir visko, kas turi fizinę atidarymo/uždarymo arba įjungimo/išjungimo padėtį. LEIDS pranašumas yra tas, kad jis naudoja minimalią energiją ir naudoja energiją tik tada, kai durys yra atidarytos, tada, kai durys uždaromos, jis siunčia pranešimą, įspėjantį, kad durys buvo uždarytos ir išsijungia. Tai geriau nei gilus miego modulis, nes jis nenaudoja energijos, jei durys nėra atidarytos.
1 žingsnis: reikmenys
Žemiau esančiuose sąrašuose parodytos priemonės ir dalys, kurias naudojau šiam projektui. Jutiklis gali būti pertvarkytas taip, kad būtų naudojamos skirtingos dalys ir atrodytų/veiktų kitaip, ir tiesiog būtų naudojamos panašios sąvokos.
Įrankiai:
- Lituoklis
- ESP01-UART arba Arduino Uno (ESP8266 programuotojas)
- 3D spausdintuvas (neprivaloma)
- Trumpieji kabeliai (neprivaloma)
- Duonos lenta (neprivaloma)
Dalys:
- ESP8266 ESP-01S x 1
- Nendrinis jungiklis x 1 (pageidautina NC, galėčiau rasti tik normaliai atidarytą, todėl turiu naudoti du magnetus, kad jis veiktų kaip įprastai uždarytas)
- AMS1117 3.3v reguliatorius
- 2n3904 NPN tranzistorius x 1
- „P-Channel Mosfet x 1“(norime to, kas turi žemą VGS, geriausia NDP6020P)
- 3,7 V 100 mAh „Lipo“baterija x 1
- Įvairūs rezistoriai (100k om, 10k om, 220 om, 3k3 om)
- 6x3 mm magnetai x 2
- Dvipusė tvirtinimo juosta
- Viela
- Lituoklis
- Perfboard
3D spausdintos dalys:
Dėklas jutikliui
2 žingsnis: minkšto fiksavimo grandinė - aparatinė įranga
Mano naudojama minkšto fiksatoriaus grandinė yra schemos, kurią radau internete, modifikacija. Aš nesu ekspertas ir manau, kad yra geresnių būdų sukurti šią grandinę, bet mano tikslams ši grandinė atlieka savo darbą!
Tai veikia taip, kad kai nendrinis jungiklis yra uždarytas magnetiniu lauku, jis leidžia srovę patekti į NPN tranzistorių. Tada NPN tranzistorius įžemina PNP mosfet, kuris leidžia srovei tekėti į ESP8266. Įjungus ESP8266, naudojamas vienas iš jo kaiščių, kad PNP „mosfet“būtų įžemintas, kuris ir toliau maitina ESP8266. Kai ESP8266 atliks savo užduotis, jis nustatys tą išvesties kaištį į LOW, kuris nutraukia NPN tranzistorių ir uždaro PNP mosfet vartus.
Naudojant tokią grandinę kaip ESP8266, jis gali būti įjungiamas jungikliu, o tada gali visiškai išsijungti per signalą. Tai leidžia grandinei pritraukti srovę, kai jutiklis yra uždarytas/išjungtas.
3 žingsnis: ESP8266 - Aparatūra
Mano naudojamas ESP8266 siunčia pranešimą, kad įspėtų, kai durys (ar kitas dalykas) yra atidarytos, ir tada lauks, kol durys užsidarys, kad išsiųstų uždarymo pranešimą ir išsijungtų. ESP8266 bus maitinamas iš minkšto fiksatoriaus grandinės ir naudos vieną kaištį nendriniam jungikliui nuskaityti, o kitą kaištį, kad jis būtų įjungtas, o tada išsijungs. Aš pasirinkau naudoti ESP-01 dėl mažos formos. ESP atsiųs žiniatinklio užklausą, kad praneštų mums, kai jutiklis pakeistas į „atidarytas“ir „uždarytas“. Lengviausias mano rastas metodas buvo naudoti IFTTT ir „Google“skaičiuokles. Tai paaiškinta tolesniuose žingsniuose.
4 žingsnis: IFTTT nuotoliniams pranešimams - 1 dalis
Šioje instrukcijoje bus naudojamas IFTTT ir žiniatinklio užraktų bei „Google“lapų diegimas, kad gautumėte nuotolinius pranešimus mūsų mobiliajame įrenginyje. Norėdami naudotis šiomis paslaugomis, jums reikės:
- „Google“paskyra
- IFTTT paskyra (galima/reikia prisijungti naudojant „Google“paskyrą)
- IFTTT programa jūsų mobiliajam įrenginiui
Kai sukursite/prisijungsite prie savo paskyrų, sukursime dvi programėles. Šio skyriaus viršuje esančiose nuotraukose parodyta, kaip manevruoti tinklalapį. Šie veiksmai yra susiję su pirmąja programėle, įvykio suaktyvinta užklausa. Ši programėlė gaus pranešimą iš jutiklio ir išsaugos įvykį „Google“lapų dokumente. Tada galite peržiūrėti savo jutiklio istoriją ir pamatyti, kada jis buvo atidarytas ir uždarytas.
- Eikite į nuorodą „Mano programėlės“, esančią viršuje
- Spustelėkite mygtuką „Nauja programėlė“
- Spustelėkite mėlyną mygtuką „+šis“
- Ieškokite „webhooks“ir spustelėkite jį
- Kitame puslapyje pasirinkite kortelę „Gauti žiniatinklio užklausą“
- Tada nustatykite įvykio pavadinimą kaip norite, aš nusprendžiau pavadinti jį „sensor_activated“
- Kitame puslapyje spustelėkite mėlyną mygtuką „+tas“
- Ieškokite „google sheet“paslaugos ir pasirinkite ją
- Kitame puslapyje pasirinkite funkciją „Pridėti eilutę prie skaičiuoklės“
-
Užpildykite veiksmą taip:
- Skaičiuoklės pavadinimas, aš pavadinau savo „jutiklių istorija“
-
Formatuota eilutė turi atrodyti taip
{{ĮvykoAt}} ||| {{Vertė1}} ||| {{Value2}}
- Palikite paskutinį lauką tokį, koks yra, nebent norite pakeisti, kur programėlė išsaugos jutiklio būseną
- Tada spustelėkite „Sukurti veiksmą“
- Galiausiai paskutiniame ekrane spustelėkite „Baigti“
Dabar išbandykime, ar tai veikia
- Eikite į šią nuorodą
- Tada spustelėkite mygtuką „Dokumentacija“(vėliau vėl naudosime šį „Dokumentų“puslapį)
- Dabar būsite asmeniniame IFTTT Webhooks programėlės skyriuje
- Užpildykite lauką, kuriame sakoma „{event}“, savo įvykio pavadinimą, šiuo atveju įvykio pavadinimas yra „sensor_activated“
- Dabar užpildykite lauką „vertė1“, tai yra laukas, kuriame bus jūsų jutiklio vieta, aš užpildysiu jį „priekinėmis durimis“
- Dabar užpildykite lauką „value2“, tai yra laukas, kuris turės jutiklio būseną, aš užpildysiu jį „atidarytu“tik bandymui
- Tada spustelėkite mėlyną mygtuką „Išbandyti“
- Jei viskas klostėsi gerai, turėtumėte gauti žalią pranešimą „Įvykis suaktyvintas“. žinutė viršuje
- Dabar, jei norite pamatyti, kaip jame buvo išsaugotas jūsų pranešimas, galite atidaryti „Google“lapus ir rasti prie jo pridėtą skaičiuoklę. Pridėjau paveikslėlį, kuriame parodyta, kaip atrodys skaičiuoklė
Dabar pereikite prie kito žingsnio pridėdami programėlę, kad praneštumėte mums apie būsenos pasikeitimą.
5 veiksmas: IFTTT nuotoliniams pranešimams - 2 dalis
Dabar pridėsime programėlę, kuri praneš mums, kai būsenos skaičiuoklė pridės eilutę; kitaip tariant, kai jutiklis įjungia įvykį. Kaip ir anksčiau, kursime naują programėlę. Šie veiksmai padės jums sukurti antrąją programėlę. Kadangi ankstesniame žingsnyje padarėme kažką panašaus, prie šio veiksmo pridėsiu tik tas skaidres, kurios skiriasi.
- Eikite į nuorodą „Mano programėlės“, esančią viršuje
- Spustelėkite mygtuką „Nauja programėlė“
- Spustelėkite mėlyną mygtuką „+šis“
- Ieškokite „google sheet“ir spustelėkite jį
- Kitame puslapyje pasirinkite kortelę „Nauja eilutė pridėta prie skaičiuoklės“
-
Tada užpildykite laukus ir nurodykite skaičiuoklę, į kurią rašo kita programėlė
- Šiame pavyzdyje kelias yra „IFTTT/MakerWebooks/sensor_activated“
- Failo pavadinimas yra „Sensor History“
- Kitame puslapyje spustelėkite mėlyną mygtuką „+tas“
- Ieškokite „pranešimų“paslaugos ir pasirinkite ją
-
Dabar turime užpildyti pranešimų paslaugos laukus
-
Pavadinimas pakeistas į
{{ColumnB}} buvo {{ColumnC}}
-
Pranešimas nustatytas į
{{ColumnB}} buvo {{ColumnC}} {{ColumnA}}
- Nuoroda paliekama viena
-
- Tada spustelėkite „Sukurti veiksmą“
- Galiausiai paskutiniame ekrane spustelėkite „Baigti“
Norėdami išbandyti antrąją IFTTT pranešimų sistemos dalį, įsitikinkite, kad atsisiųsite IFTTT programą į savo mobilųjį įrenginį ir prisijunkite naudodami savo kredencialus. Mano atveju aš prisijungiu naudodami savo „Google“paskyrą. Dabar galime tai patikrinti grįžę į „Dokumentacijos“puslapį ir išjungę testą, įvykio pavadinimą nustatę kaip „sensor_activated“, lauke „value1“nustatę vietą, o lauke „value2“- būseną.
Tai turėtų atsiųsti jums pranešimą. Jei to negaunate, įsitikinkite, kad esate prisijungę naudodami tą pačią paskyrą ir ar leidote programai siųsti jums pranešimus.
6 veiksmas: „Arduino IDE“ir eskizas
Plokštėje naudojama programinė įranga yra sudaryta naudojant „Arduino IDE“.
Logika tokia:
- Nendrinis jungiklis uždaromas atidarius duris
- Tada ESP įjungiamas ir prijungiamas prie „WiFi“
- Užmezgus „WiFi“ryšį, jis siunčia http užklausą (siunčia komandą į internetą), kuri mums sako, kad buvo atidarytos durys ar kažkas kita
- Tada jis nuskaito signalą iš nendrinio jungiklio, kad nustatytų, ar durys buvo uždarytos
- Kai ESP plokštė nustato, kad nendrinis jungiklis yra atidarytas (ty durys buvo uždarytos), ji siunčia kitą http užklausą, nurodančią, kad durys buvo uždarytos
- Tada jis signalizuoja minkšto fiksatoriaus grandinę, kad nutrauktų plokštės maitinimą
Atsisiųskite „Arduino IDE“
Prie šio skyriaus pridėjau arduino kodą, kurį galite atsisiųsti. Jei neturite „Arduino IDE“, galite jį atsisiųsti internetu adresu
Įdiekite tinkamą plokštės tvarkyklę
Norėdami įkelti kodą į savo ESP plokštę, turite įdiegti lentos tvarkyklę „Arduino IDE“, atlikdami šiuos veiksmus.
- Eikite į Failas> Nuostatos, kad atidarytumėte nuostatų langą
- Nuostatų lange raskite lauką „Papildomi valdytojo URL“
- Įklijuokite šią nuorodą į šį lauką https://arduino.esp8266.com/stable/package_esp8266com_index.json ir paspauskite mygtuką „Gerai“
- Dabar atidarykite lentų valdytoją, eidami į Įrankiai> Lenta, tada pirmasis įrašas bus Lentų valdytojas
- Lentos meniu įveskite „ESP8266“ir įdiekite „esp8266“, pasirenku 2.5.0 versiją, nes turėjau problemų su naujesnėmis versijomis
- Dabar grįžkite ir pasirinkite savo plokštę iš Įrankiai> Lenta> Bendrasis ESP8266 modulis
- Tada uždarykite ir vėl atidarykite arduino ide, kad įsitikintumėte, jog pokyčiai įvyko
Atidarykite eskizą „Arduino IDE“
Turime pakeisti keturias kodo eilutes, kad jutiklis veiktų jums
- Pakeiskite SSID į „WiFi“SSID arba „wifi“pavadinimą
- Pakeiskite slaptažodį, kad jis atitiktų jūsų „Wi -Fi“slaptažodį
- Pakeiskite URL, kad jis atitiktų URL iš „Webhook“paslaugos „Dokumentacijos“puslapio
- Pakeiskite jutiklio vietą į vietą, kurioje planuojate jį įdėti, tai gali būti priekinės durys, galinės durys, pašto dėžutė ir kt.
Dabar, kai pakeitėte kodą pagal savo poreikius, turime jį įkelti į lentą. Mano atveju aš naudoju USB programuotoją ir vadovaujuosi jo instrukcijomis. Tam gali prireikti daug trikčių šalinimo, todėl siūlau ieškoti išsamesnės pamokos internete. Mano atveju ESP-01 prijungiu prie programuotojo, tada įkišu į kompiuterį, tada perjungiu jungiklį iš uart į prog, galiausiai atjungiu ir vėl įjungiu programuotoją. Dabar ESP lieka programavimo režimu. Dabar tiesiog spusteliu įkėlimo mygtuką ir leidžiu įkelti. Jei norite pamatyti, ar jis jungiasi, galite atidaryti nuoseklųjį monitorių ir peržiūrėti būsenos pranešimus. Kai įkelsite eskizą, mes viską lituosime, įdėsime į korpusą ir pritvirtinsime prie norimos vietos.
7 žingsnis: gaubtas (3D spausdintas)
Aš suprojektavau šį korpusą, kad tilptų visi komponentai, būtų galima įdėti magnetą ir suderinti nendrių jungiklį. Antroji dalis naudojama tik antram magnetui laikyti, kuris leis atidaryti ir uždaryti jungiklį.
Kai visi komponentai bus sulituoti, galime juos nuspausti į dėklą, jei norite, galite įpilti šiek tiek karštų klijų į apačią, kad viskas liktų. Tada turime į elektroninį korpusą įspausti vieną magnetą ir suderinti nendrių jungiklį, jei reikia. Kitas magnetas turi būti įspaustas į kitą korpusą. Kai abu gaubtai bus baigti, galėsime juos išbandyti, sudėję abu gaubtus, tada atskirti ir vėl sujungti. Dabar turėtume gauti du pranešimus: vieną, kai jutiklis atidarytas, o kitą - uždarytą. Laikykite abu kartu, kad akumuliatorius neišsikrautų.
Pritvirtinkite tvirtinimo juostą prie jutiklių galo ir uždėkite juos norimoje vietoje. Aš pritvirtinau savo pašto dėžutę. Dabar patikrinkite, ar lygiavimas yra teisingas ir ar jutiklis gali siųsti atvirą ir uždarytą pranešimą.
Voila, dabar jūs turite savo jutiklį, kuris įspės jus, kai jis atidaromas ir uždaromas. Leiskite man žinoti, ar jums tai patinka ir ar yra kažkas, ką, jūsų manymu, galima patobulinti.
Aš taip pat pateikiu šią pamoką IOT konkursui, todėl būtinai patikite ir balsuokite už šį ir visus kitus jums patinkančius IOT projektus
8 žingsnis: būsimi patobulinimai
Dėl šio projekto susidūriau su keliomis problemomis. Pirmoji problema, su kuria susidūriau, buvo „mosfet“, kurio Vgs buvo per didelis, naudojimas, todėl turėjau pereiti prie kito. Antra, mano naudojamas nendrinis jungiklis paprastai yra atidarytas, o mano atveju paprastai uždarytas jungiklis būtų buvęs lengviau įgyvendinamas ir būtų sutaupęs daug vietos. Galiausiai, su esp 01s buvo labai sunku dirbti, ir aš turėjau susipainioti su „gpio“kaiščiais, kad jis tinkamai veiktų, tačiau vis tiek turėjau problemų. Manau, kad šis projektas sugebėjo mane išmokyti daug sąvokų ir padėjo man sugalvoti daugiau idėjų ir įgyvendinimų naudojant esp8266 plokštes ir IFTTT.
II vieta „IoT Challenge“
Rekomenduojamas:
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)
Baterijomis varomų durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: Šioje instrukcijoje aš jums parodysiu, kaip sukūriau jutiklį, maitinamą baterijomis, kad galėčiau stebėti nuotolinio dviračio pastogės duris ir užrakto būseną. Turiu maitinimą iš tinklo, todėl maitinu iš akumuliatoriaus. Bateriją įkrauna nedidelis saulės kolektorius. Modulis yra
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): šis „pasidaryk pats“jutiklis bus laidus megztas tempimo jutiklis. Jis apsisuks jūsų krūtinę/skrandį, o kai krūtinė/skrandis išsiplės ir susitrauks, taip pat padidės jutiklis, taigi ir įvesties duomenys, kurie bus tiekiami „Arduino“. Taigi
IOT durų jutiklis - pagrįstas „Wi -Fi“, maitinamas 2xAAA baterijomis: 6 žingsniai
IOT durų jutiklis-pagrįstas „Wi-Fi“, maitinamas 2xAAA baterijomis: šioje instrukcijoje pristatome, kaip galite lengvai sukurti akumuliatoriumi maitinamą „Wi-Fi“durų jutiklį su „IOT Cricket Wi-Fi“moduliu. Mes taip pat parodome, kaip integruoti „Cricket“pranešimus į IFTTT (ar kitas paslaugas, įskaitant „Home Assistant“, „MQTT“ar „Webhooks“
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: 6 žingsniai
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: tai saulės energija varomo temperatūros ir drėgmės jutiklio konstrukcija. Jutiklis imituoja 433 MHz „Oregon“jutiklį ir matomas „Telldus Net“šliuzuose. Ko jums reikia: 1x „10-LED“Saulės energijos judesio jutiklis " iš Ebay. Įsitikinkite, kad parašyta 3,7 V tešla
Baterija maitinamas durų jutiklis su namų automatikos integracija, „WiFi“ir ESP-DABAR: 5 žingsniai (su nuotraukomis)
Baterija varomas durų jutiklis su namų automatikos integracija, „WiFi“ir ESP-DABAR: Šioje pamokoje aš jums parodysiu, kaip aš sukūriau akumuliatoriumi varomą durų jutiklį su namų automatikos integracija. Aš mačiau keletą kitų gražių jutiklių ir signalizacijos sistemų, bet norėjau tai padaryti pats. Mano tikslai: jutiklis, kuris aptinka ir praneša apie atliktą darbą