LEIDS - Low Energy IOT -ovianturi: 8 vaihetta (kuvilla)
LEIDS - Low Energy IOT -ovianturi: 8 vaihetta (kuvilla)
Anonim
LEIDS - Vähäenerginen IOT -ovianturi
LEIDS - Vähäenerginen IOT -ovianturi

Mikä on LEIDS?

LEIDS on IOT -anturi, joka perustuu ESP8266: een. Tämä anturi käyttää tätä levyä, pehmeää lukituspiiriä, ruoko -kytkintä ja joitain magneetteja luodakseen ovianturin, joka lähettää sinulle varoituksen, kun ovi avautuu ja sulkeutuu. Tämä anturi voidaan liittää MQTT -palvelimeen, IFTTT: hen tai moniin muihin kehyksiin, jotka tukevat ESP8266: ta. Tämä ohje antaa IFTTT: n avulla helposti luoda anturin, joka lähettää hälytyksen mobiililaitteeseesi missä tahansa. Anturi voidaan myös asettaa siten, että se antaa useita hälytyksiä erillisistä ovista, postilaatikoista, uuneista ja kaikesta muusta, jolla on auki/kiinni tai päällä/pois fyysinen asento. LEIDSin etuna on, että se käyttää vain vähän virtaa ja käyttää virtaa vain, kun ovi on auki, ja kun ovi suljetaan, se lähettää viestin varoittaakseen oven sulkeutumisesta ja sammumisesta. Tämä on parempi kuin syvä nukkuminen, koska se ei kuluta energiaa, jos ovea ei avata.

Vaihe 1: Tarvikkeet

Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet

Alla olevat luettelot osoittavat työkalut ja osat, joita käytin tässä projektissa. Anturi voidaan suunnitella uudelleen käyttämään eri osia ja näyttämään/toimimaan eri tavalla ja käyttämään vain samankaltaisia käsitteitä.

Työkalut:

  • Juotin
  • ESP01-UART tai Arduino Uno (ohjelmoija ESP8266: lle)
  • 3D -tulostin (valinnainen)
  • Hyppyjohdot (valinnainen)
  • Leipälauta (valinnainen)

Osat:

  • ESP8266 ESP-01S x 1
  • Reed -kytkin x 1 (mieluiten NC, löysin vain normaalisti auki, joten minun on käytettävä kahta magneettia, jotta se toimisi normaalisti suljettuna)
  • AMS1117 3.3v -säädin
  • 2n3904 NPN -transistori x 1
  • P-kanava Mosfet x 1 (haluamme jotain, jolla on alhainen VGS, mieluiten NDP6020P)
  • 3,7 V 100 mAh: n Lipo -akku x 1
  • Erilaisia vastuksia (100k ohmia, 10k ohmia, 220 ohmia, 3k3 ohmia)
  • 6x3mm magneetit x 2
  • Kaksipuolinen kiinnitysteippi
  • Johto
  • Juottaa
  • Perfboard

3D -tulostetut osat:

Kotelo anturille

Vaihe 2: Pehmeä lukituspiiri - laitteisto

Pehmeä lukituspiiri - laitteisto
Pehmeä lukituspiiri - laitteisto

Pehmeä salpapiiri, jota käytän, on muutos kaaviosta, jonka löysin verkossa. En ole asiantuntija ja uskon, että on olemassa parempia tapoja rakentaa tämä piiri, mutta minun tarkoitukselleni tämä piiri tekee työnsä!

Se toimii siten, että kun magneetti sulkee ruuvikytkimen, se sallii virran NPN -transistorille. NPN -transistori maastaa sitten PNP -mosfetin, joka sallii virran virrata ESP8266: een. ESP8266 käynnistyy, käyttää yhtä nastastaan pitääkseen PNP -mosfetin maadoitettuna, joka jatkaa ESP8266: n virtaa. Sitten kun ESP8266 on suorittanut tehtävänsä, se asettaa tämän lähtönastan LOW -asentoon, joka keskeyttää NPN -transistorin ja sulkee PNP -mosfet -portin.

Tällaisen piirin avulla ESP8266 voidaan kytkeä päälle kytkimellä ja sitten se voi sammua kokonaan signaalin kautta. Tämän ansiosta piiri ei saa virtaa, kun anturi on kiinni/pois päältä.

Vaihe 3: ESP8266 - Laitteisto

ESP8266 - Laitteisto
ESP8266 - Laitteisto

ESP8266, jota käytän, lähettää viestin, joka varoittaa, kun ovi (tai muu asia) on auki, ja odottaa sitten oven sulkeutumista lähettääkseen läheisen viestin ja sulkeakseen itsensä. ESP8266 saa virtansa pehmeästä salpapiiristä ja lukee yhdellä nastalla reed -kytkimen ja toisella tapilla pitääkseen virran ja sammuttaakseen itsensä. Päätin käyttää ESP-01: tä, koska se on pienikokoinen. ESP lähettää verkkopyynnön ilmoittaakseen meille, kun anturi on vaihdettu "auki" ja "suljettu". Helpoin tapa, jonka löysin, oli IFTTT: n ja Google Sheetsin käyttö. Tämä selitetään seuraavissa vaiheissa.

Vaihe 4: IFTTT etäilmoituksia varten - Osa 1

IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1
IFTTT etäilmoituksia varten - Osa 1

Tässä ohjeessa käytetään IFTTT: tä ja webhookien ja Google -arkkien käyttöönottoa etäilmoitusten saamiseksi mobiililaitteellemme. Näiden palveluiden käyttämiseen tarvitset seuraavat:

  • Google -tili
  • IFTTT -tili (voi/pitäisi kirjautua Google -tilillä)
  • IFTTT -sovellus mobiililaitteellesi

Kun olet luonut/kirjautunut tilillesi, luomme kaksi sovelmaa. Tämän osion yläosassa olevat valokuvat osoittavat, kuinka verkkosivua ohjataan. Seuraavat vaiheet koskevat ensimmäistä sovelmaa, tapahtuman käynnistämää pyyntöä. Tämä appletti saa viestin anturilta ja tallentaa tapahtuman Google -arkkien asiakirjaan. Sitten voit tarkastella anturin historiaa ja nähdä, milloin se avattiin ja suljettiin.

  1. Siirry yläreunassa olevaan "Omat appletit" -linkkiin
  2. Napsauta "Uusi sovelma" -painiketta
  3. Napsauta sinistä "+tämä" -painiketta
  4. Etsi "webhooks" ja napsauta sitä
  5. Valitse seuraavalla sivulla Vastaanota verkkopyyntö -kortti
  6. Aseta sitten tapahtuman nimeksi haluamasi, valitsin sen "sensor_activated"
  7. Napsauta seuraavalla sivulla sinistä "+että" -painiketta
  8. Hae "Google -taulukot" -palvelu ja valitse se
  9. Valitse seuraavalla sivulla "Lisää rivi laskentataulukkoon" -toiminto
  10. Täytä toiminto seuraavasti:

    • Laskentataulukon nimi, nimesin omani "anturihistoriaksi"
    • Muotoillun rivin on näytettävä tältä

      {{TapahtunutAt}} ||| {{Arvo1}} ||| {{Arvo2}}

    • Jätä viimeinen kenttä sellaisenaan, ellet halua muuttaa sitä, mihin sovelma tallentaa anturin tilan
  11. Napsauta sitten "Luo toiminto"
  12. Napsauta lopuksi "Valmis" viimeisessä näytössä

Testaa nyt, toimiiko se

  1. Siirry tästä linkistä
  2. Napsauta sitten "Dokumentaatio" -painiketta (käytämme tätä "Dokumentaatio" -sivua myöhemmin uudelleen)
  3. Nyt olet IFTTT Webhooks -sovelman omassa osiossa
  4. Täytä kenttä, jossa lukee "{event}", tapahtumasi nimi, tässä tapauksessa tapahtuman nimi on "sensor_activated"
  5. Täytä nyt "arvo1" -kenttä, tämä on kenttä, joka pitää anturin sijainnin, aion täyttää sen "etuovella"
  6. Täytä nyt "arvo2" -kenttä, tämä on kenttä, jolla on anturin tila, aion täyttää sen "avatulla" vain testausta varten
  7. Napsauta sitten sinistä "Testaa" -painiketta
  8. Jos kaikki meni hyvin, sinun pitäisi saada vihreä "Tapahtuma on käynnistetty". viesti ylhäällä
  9. Jos haluat nyt nähdä, miten se tallensi viestisi, voit avata Google -taulukot ja löytää sen lisäämän laskentataulukon. Olen liittänyt kuvan osoittamaan, miltä laskentataulukko näyttää

Siirry seuraavaan vaiheeseen lisäämällä sovelma, joka ilmoittaa meille tilan muutoksesta.

Vaihe 5: IFTTT etäilmoituksia varten - Osa 2

IFTTT etäilmoituksia varten - Osa 2
IFTTT etäilmoituksia varten - Osa 2
IFTTT etäilmoituksia varten - Osa 2
IFTTT etäilmoituksia varten - Osa 2
IFTTT etäilmoituksia varten - Osa 2
IFTTT etäilmoituksia varten - Osa 2

Nyt lisäämme appletin, joka ilmoittaa meille, kun tilataulukkoon lisätään rivi; toisin sanoen, kun anturi laukaisee tapahtuman. Kuten aiemmin, luomme uuden appletin. Seuraavat vaiheet opastavat sinua luomaan toisen sovelman. Koska olemme tehneet jotain vastaavaa edellisessä vaiheessa, lisään vain tähän vaiheeseen erilaiset diat.

  1. Siirry yläreunassa olevaan "Omat appletit" -linkkiin
  2. Napsauta "Uusi sovelma" -painiketta
  3. Napsauta sinistä "+tämä" -painiketta
  4. Hae "google sheet" ja napsauta sitä
  5. Valitse seuraavalla sivulla "Uusi rivi laskentataulukkoon lisätty" -kortti
  6. Täytä sitten kentät osoittamaan laskentataulukkoa, johon toinen sovelma kirjoittaa
    • Tässä esimerkissä polku on "IFTTT/MakerWebooks/sensor_activated"
    • Tiedostonimi on "Sensor History"
  7. Napsauta seuraavalla sivulla sinistä "+että" -painiketta
  8. Etsi ilmoituspalvelu ja valitse se
  9. Nyt meidän on täytettävä ilmoituspalvelukentät

    • Otsikko on vaihdettu muotoon

      {{ColumnB}} oli {{ColumnC}}

    • Viesti on asetettu tilaan

      {{ColumnB}} oli {{ColumnC}} {{ColumnA}}

    • Linkki jätetään rauhaan
  10. Napsauta sitten "Luo toiminto"
  11. Napsauta lopuksi "Valmis" viimeisessä näytössä

Jos haluat testata IFTTT -ilmoitusjärjestelmän toista osaa, varmista, että olet ladannut IFTTT -sovelluksen mobiililaitteellesi ja kirjaudu sisään tunnuksillasi. Minun tapauksessani kirjaudun sisään Google -tililläni. Nyt voimme testata tämän palaamalla "Dokumentaatio" -sivulle ja käynnistämällä testin tapahtuman nimeksi "sensor_activated", "value1" -kenttään, joka on asetettu sijaintiin, ja "value2" -kenttään, joka on asetettu tilaan.

Tämän pitäisi lähettää sinulle ilmoitus. Jos et saa tiliä, varmista, että olet kirjautunut sisään samalla tilillä ja että olet sallinut sovelluksen lähettää sinulle ilmoituksia.

Vaihe 6: Arduino IDE ja luonnos

Arduino IDE ja Sketch
Arduino IDE ja Sketch
Arduino IDE ja Sketch
Arduino IDE ja Sketch

Taululle käytettävä ohjelmisto on koottu Arduino IDE: n avulla.

Logiikka on seuraava:

  • Reed -kytkin suljetaan avaamalla ovi
  • ESP käynnistyy ja muodostaa yhteyden WiFi -verkkoon
  • Kun WiFi -yhteys on muodostettu, se lähettää http -pyynnön (lähettää komennon Internetiin), joka kertoo meille, että ovi tai jotain muuta on avattu
  • Sitten se lukee reed -kytkimen signaalin määrittääkseen, onko ovi suljettu
  • Kun ESP -levy havaitsee, että ruoko -kytkin on auki (eli ovi oli kiinni), se lähettää toisen http -pyynnön, joka kertoo meille, että ovi on suljettu
  • Sitten se antaa signaalin pehmeälle salpapiirille levyn virran katkaisemiseksi

Lataa Arduino IDE

Olen liittänyt arduino -koodin tähän osaan ladattavaksi. Jos sinulla ei ole Arduino IDE: tä, voit ladata sen verkossa osoitteesta

Asenna oikea kortinhallinta

Jos haluat ladata koodin ESP -kortillesi, sinun on asennettava kortinhallinta Arduino IDE -laitteeseen seuraavasti.

  • Avaa Asetukset -ikkuna valitsemalla Tiedosto> Asetukset
  • Etsi asetusikkunasta kenttä, jossa lukee”Hallituksen ylimääräiset URL -osoitteet”
  • Liitä seuraava linkki tähän kenttään https://arduino.esp8266.com/stable/package_esp8266com_index.json ja paina "OK" -painiketta
  • Avaa nyt hallitusten hallinta siirtymällä kohtaan Työkalut> Hallitus, jolloin ensimmäinen merkintä on Boards Manager
  • Kirjoita levyn valikkoon "ESP8266" ja asenna "esp8266" Valitsen version 2.5.0, koska minulla on ollut ongelmia uudempien versioiden kanssa
  • Palaa nyt ja valitse korttisi kohdasta Työkalut> Taulu> Yleinen ESP8266 -moduuli
  • Sulje sitten ja avaa arduino ide uudelleen varmistaaksesi, että muutokset tapahtuivat

Avaa luonnos Arduino IDE: ssä

Meidän on muutettava neljää koodiriviä, jotta anturi toimii sinulle

  1. Muuta SSID -tunnukseksi WiFi -SSID -tunnuksesi, eli wifi -verkon nimi
  2. Vaihda salasana vastaamaan wifi -salasanaasi
  3. Muuta URL -osoite vastaamaan "webhook" -palvelun "Dokumentaatio" -sivun URL -osoitetta
  4. Vaihda anturin sijainti paikkaan, johon aiot sijoittaa sen, tämä voi olla etuovi, takaovi, postilaatikko jne.

Nyt kun olet muokannut koodia tarpeidesi mukaan, meidän on ladattava se taululle. Minun tapauksessani käytän USB -ohjelmoijaa ja noudatan sen ohjeita. Tämä voi vaatia paljon vianmääritystä, joten suosittelen, että etsit perusteellisempaa opetusohjelmaa verkosta. Minun tapauksessani kytken ESP-01: t ohjelmoijaan, sitten sen tietokoneeseen, sitten käännän kytkimen uartista prog: iin, lopuksi irrotan ja kytken ohjelmoijan takaisin. Tämä jättää ESP: n ohjelmointitilaan. Nyt napsautan vain latauspainiketta ja annan latauksen päättyä. Jos haluat nähdä, muodostaako se yhteyden, voit avata sarjamonitorin ja tarkastella tilaviestejä. Kun olet ladannut luonnoksen, juotamme kaikki yhteen, laitamme sen koteloon ja kiinnitämme haluamaamme paikkaan.

Vaihe 7: Kotelo (3D -tulostettu)

Kotelo (3D -tulostettu)
Kotelo (3D -tulostettu)
Kotelo (3D -tulostettu)
Kotelo (3D -tulostettu)
Kotelo (3D -tulostettu)
Kotelo (3D -tulostettu)

Olen suunnitellut seuraavan kotelon, joka mahtuu kaikkiin komponentteihin, sallii magneetin sijoittamisen ja kohdistaa reed -kytkimen. Toista osaa käytetään vain toisen magneetin pitämiseen, jonka avulla kytkin voidaan avata ja sulkea.

Kun kaikki komponentit on juotettu yhteen, voimme painaa ne koteloon, jos haluat, voit lisätä hieman kuumaa liimaa pohjaan pitämään kaiken sisään. Sitten meidän on painettava yksi magneetti koteloon elektroniikan kanssa ja kohdistettava reed -kytkin tarvittaessa. Toinen magneetti tulee painaa toiseen koteloon. Kun molemmat kotelot on saatu valmiiksi, voimme testata niitä asettamalla kaksi koteloa yhteen, erottamalla ne ja saattamalla ne takaisin yhteen. Meidän pitäisi nyt saada kaksi ilmoitusta, yksi anturin avaamisesta ja toinen anturin sulkeutumisesta. Pidä molemmat yhdessä, jotta akku ei tyhjene.

Kiinnitä kiinnitysteippi antureiden takaosaan ja kiinnitä ne haluttuun kohtaan. Asensin omani postilaatikkooni. Testaa nyt, että kohdistus on oikea ja että anturi pystyy lähettämään avoimen ja suljetun viestin.

Voila, sinulla on nyt oma anturi, joka varoittaa sinua, kun se avataan ja suljetaan. Kerro minulle, pidätkö siitä ja onko mielestäsi jotain parannettavaa.

Lähetän myös tämän ohjeen IOT -kilpailuun, joten muista tykätä ja äänestää tästä ja kaikista muista IOT -projekteista, joista olet nauttinut

Vaihe 8: Tulevia parannuksia

Tässä projektissa törmäsin pariin ongelmaan. Ensimmäinen ongelma, jonka kohtasin, oli sellaisen mosfetin käyttö, jossa oli liian korkea Vgs, joten minun piti vaihtaa toiseen. Toiseksi käyttämäni ruoko -kytkin on normaalisti auki ja minun tapauksessani normaalisti suljettu kytkin olisi ollut helpompi toteuttaa ja säästää paljon tilaa. Lopuksi esp 01: n kanssa oli erittäin vaikea työskennellä, ja minun piti sotkea gpio -nastat saadakseni sen toimimaan kunnolla, mutta minulla oli silti joitain ongelmia. Uskon, että tämä projekti pystyi opettamaan minulle monia käsitteitä ja on auttanut minua keksimään lisää ideoita ja toteutuksia esp8266 -levyjen ja IFTTT: n avulla.

IoT -haaste
IoT -haaste
IoT -haaste
IoT -haaste

Toinen sija IoT Challengessa

Suositeltava: