Sisällysluettelo:

IoT Outdoor Pet Door: 6 vaihetta (kuvilla)
IoT Outdoor Pet Door: 6 vaihetta (kuvilla)

Video: IoT Outdoor Pet Door: 6 vaihetta (kuvilla)

Video: IoT Outdoor Pet Door: 6 vaihetta (kuvilla)
Video: Where To Buy The Cheapest Original Items In BANGKOK #livelovethailand 2024, Marraskuu
Anonim
IoT -ulko -lemmikkieläinten ovi
IoT -ulko -lemmikkieläinten ovi
IoT -lemmikkieläinten ulko -ovi
IoT -lemmikkieläinten ulko -ovi
IoT -lemmikkieläinten ulko -ovi
IoT -lemmikkieläinten ulko -ovi
IoT -ulko -lemmikkieläinten ovi
IoT -ulko -lemmikkieläinten ovi

Inspiroin tästä ohjeesta luoda automaattinen kananpoikan ovi. Halusin paitsi, että kana -oven oven ajastin, mutta halusin myös yhdistää oven Internetiin, jotta voisin hallita sitä puhelimellani tai tietokoneellani. Tämä ovi rakennettiin kanakopilleni, mutta sitä voidaan helposti soveltaa muun tyyppisiin asuntoihin erilaisille lemmikeille. Voit myös käyttää erilaisia 12 V moottoreita käyttämäni vanhan auton antennimoottorin lisäksi.

Adafruit IO: n ja IFTTT: n asentamisen ja liittämisen jälkeen ESP8266 -laitteeseeni, kana -ovikoneeni ovea voidaan ohjata verkossa. Ovi voidaan avata tai sulkea:

1) Tarkina aikoina, kun kirjoitan osoitteeseen adafruit.io

2) Painamalla puhelimessa olevaa painiketta

3) Lähettämällä tekstiviestin tiettyyn numeroon

4) Napsauttamalla adafruit.io -sivuston painiketta

5) Painamalla fyysistä painiketta

Näiden ominaisuuksien lisäksi kana -ovi voi lähettää push -ilmoituksia puhelimeeni IFTTT -sovelluksen kautta kaikista oven ongelmista, kuten oven avautumisesta tai sulkemisesta.

Koska kananlihani on noin 500 metrin päässä WiFi -reitittimestäni, käytin 433 MHz: n RFM69HCW -lähetintä ja -vastaanotinta, joka oli yhdistetty ESP8266: een tämän projektin suorittamiseksi. Siellä on musta sisälähetinrasia, jossa on laitteisto, joka on yhdistetty internetiin, ja harmaa ulkovastaanotin, joka ohjaa moottoria.

Tämä ohje opastaa sinua luomaan laitteiston, jota tarvitaan 12 V: n moottorin ohjaamiseen, joka avaa tai sulkee mun kanan oven.

Käytin seuraavia osia:

Adafruit 32u4 ja 433 MHz RFM69HCW - 25 dollaria

Adafruit MCP23017 I2C 16 tulo-/lähtöportin laajennin IC - 2,95 dollaria

Adafruit Feather HUZZAH ja ESP8266 WiFi - 16,95 dollaria

Adafruit Radio FeatherWing 433MHz RFM69HCW - 10 dollaria

Adafruit SMA -liitin 1,6 mm paksuille piirilevyille - 2,50 dollaria

Adafruit uFL SMA -antenniliitin - 0,75 dollaria

Adafruit RGB -painike - 10,95 dollaria

12V virtalähde - 7 dollaria

5V USB -virtalähde - 7 dollaria

Micro -USB -kaapeli - 5 dollaria

4-kanavainen relelevy (voi käyttää 2-kanavaa)- 7 dollaria

DC -DC Buck -muunnin (vain yksi, mutta 5 kpl: n pakkaus) - 20 dollaria

Reed -kytkin (magneettinen ovikytkinanturi) - 9 dollaria

2x 433 MHz: n suuntaamaton antenni - 6 dollaria

uFL -SMA -kaapelisovitin (vain yksi käytetty, mutta 2 kpl: n pakkauksessa) - 5 dollaria

Vedenpitävä ulkona oleva ABS -projektilaatikko - 11 dollaria

Musta ABS -projektilaatikko - 10 dollaria

20x4 sininen merkki LCD - 10 dollaria

12V auton antennimoottori - ~ 25 dollaria ebayssä

Johdot ja vastukset

Vaihe 1: Ulkoinen vastaanotin

Ulkoinen vastaanotin
Ulkoinen vastaanotin
Ulkoinen vastaanotin
Ulkoinen vastaanotin

Ulkovastaanotin koostuu Adafruit 32u4 -laitteesta, jossa on 433 MHz: n RFM69HCW -yhteys, ja se on kytketty muutamaan releeseen, jotka kytkevät päälle tai pois päältä 12 V: n moottorille. Nämä moduulit sekä 12 V-5 V DC-DC-muunnin ovat vedenpitävän harmaan projektirasian sisällä. Lopuksi ovikytkimen anturi on liitetty yhteen 32u4 Arduino -mikro -ohjaimen nastoista, joka tunnistaa, onko ovi avattu tai suljettu oikein, kun sen pitäisi olla.

Sisälähetin lähettää 15 sekunnin välein "Avaa" tai "Sulje". Vastaanotetun komennon perusteella Arduino 32u4 kytkee releen päälle tai pois päältä. Valitsemaani moottoriin, joka on vanha auton antennimoottori, minun piti kytkeä päälle tai pois kaksi relettä, koska moottori on kytketty. Pohjimmiltaan oli rele virran kytkemiseksi ja sitten toinen rele, joka sääti, laajentuiko moottori vai ei.

Kun lähetys on auki tai kiinni, ulkovastaanotin vastaa "sensorOpen" tai "sensorClosed" ilmoittaakseen ovikytkimen anturin tilan. Ihannetapauksessa "auki" -komento palauttaisi "sensorOpen" -vastauksen, mutta jos ovi jumittuu tai moottori jumittuu, nämä eivät täsmää. Jos ne eivät täsmää, sisälähetin näyttää nämä tiedot ja push -ilmoitus lähetetään puhelimeesi.

Vaihe 2: Ulkoisen vastaanottimen laitteiston liittäminen

Ulkoisen vastaanottimen laitteiston liittäminen
Ulkoisen vastaanottimen laitteiston liittäminen
Ulkoisen vastaanottimen laitteiston liittäminen
Ulkoisen vastaanottimen laitteiston liittäminen
Ulkoisen vastaanottimen laitteiston liittäminen
Ulkoisen vastaanottimen laitteiston liittäminen

Ulkoisen vastaanottimen laitteiston johdotus ei ole liian vaikeaa. Lisäsin alla olevan kaavion, jotta käyttämäni nastat ovat helposti nähtävissä.

Kuten edellä totesin, käyttämäni moottori vaati kahta relettä. Laitoin kuvan pinoutista. Kun kytket 12 V punaiseen johtoon, moottori vetäytyy sisään, jos sitä pidennetään. Jos kytket 12V punaiseen ja vihreään johtoon samanaikaisesti, moottori pidentyy.

Edellä linkitetty ruoko -kytkin on kytkettävä normaalisti suljetuksi kytkimeksi. Ero normaalisti avoimen ja normaalisti suljetun välillä selitetään yllä olevassa kuvassa. Ohjelmiston avulla 32u4: n sisääntulonappiin on liitetty sisäinen vetovoima, joten sinun tarvitsee vain kytkeä ovikytkin tulotappiin ja myös maahan.

Sinun on liitettävä antenni Adafruit 32u4 -laitteeseen. Tarkista Adafruitin todella hyvin selitetty opetusohjelma tästä vaiheesta. Päätin käyttää ulkoista antennia lankakappaleen sijasta paremman kantaman saamiseksi.

Vaihe 3: Sisälähetin

Sisälähetin
Sisälähetin
Sisälähetin
Sisälähetin
Sisälähetin
Sisälähetin

Sisälähetin koostuu Adafruit Radio FeatherWing 433MHz RFM69HCW -laitteesta, joka on pinottu Adafruit Feather HUZZAH: n päälle ja jossa on ESP8266 WiFi. Nämä moduulit on liitetty 20 x 4 -merkkiseen näyttöön ja RGB -hopeanappiin mustan projektilaatikon sisällä.

Näytössä on NTC -synkronoitu kello, RSSI -voimakkuus dB (mittaa radiosignaalien voimakkuuden), aika, jolloin kananluukun ovi aukeaa, aika, jolloin kananluukun ovi sulkeutuu, ja oven nykyinen tila. Painike on punainen, kun ovi on kiinni, ja vihreä, kun ovi on auki.

Jos ulkovastaanotin menettää virran tai jos 433 MHz: n signaalia ei voida lähettää jostain syystä, näyttö ja RGB -painike siirtyvät ensimmäiseen kahdesta mahdollisesta virhetilasta. Ensimmäisessä virhetilassa näytössä lukee "VIRHE! Yritä käynnistää ulkovastaanotin uudelleen." ja painikkeessa ei ole väriä. Jos ovikytkimen tunnistin havaitsee, ettei ovi sulkeutunut tai avautunut kunnolla, näyttö ja RGB -painike siirtyvät toiseen kahdesta virhetilasta. Toisessa virhetilassa näytössä lukee "ERROR! Door or switch sensor problem." ja painikkeessa ei ole väriä. Kun ongelma ratkeaa itsestään, näyttö ja RGB -painike palaavat normaaliksi. Voit vastaanottaa push -ilmoituksia puhelimeesi, jos jompikumpi näistä virhetilanteista ilmenee (käyn tämän asennuksen läpi myöhemmin).

Vaihe 4: Sisälähettimen laitteiston liittäminen

Sisälähettimen laitteiston liittäminen
Sisälähettimen laitteiston liittäminen
Sisälähettimen laitteiston liittäminen
Sisälähettimen laitteiston liittäminen

Kun olet pinonnut Adafruit Radio FeatherWing 433MHz RFM69HCW -laitteen Adafruit Feather HUZZAH -laitteen päälle, jossa on ESP8266 WiFi, jäljellä on vain 2 nastaa, joita ei ole otettu, I2C -nastat SDA ja SCL. Siksi menin MCP23017 -integroidun piirin (IC) kanssa. Se on todella siisti IC, joka yhdistää jopa 16 ylimääräistä tulo-/lähtönastausta mihin tahansa mikro -ohjaimeen I2C: n kautta. Lisäksi on olemassa valmiiksi kirjoitettu kirjasto nimeltä Adafruit-RGB-LCD-Shield, joka käyttää tätä IC: tä ja merkkinäyttöä, joka on teknisesti kirjoitettu tälle Adafruit-tuotteelle, mutta se toimii täydellisesti tähän projektiin.

Ajatus MCP23017: n käyttämisestä merkkinäytöllä tulee tästä hyvin kirjoitetusta ohjeesta. Tarkista se!

Otin tämän ohjeen ja sen sijaan, että olisin liittänyt useita painikkeita ja RGB -näytön IC: hen, liitin vain yhden painikkeen, jonka sisällä oli RGB -LED ja yksivärinen näyttö. Tämän ansiosta voin määrittää IC: n PIN -koodin 1 (käytetään yleensä RGB -näytön siniseen taustavaloon) yksivärisen näytön taustavaloksi, PIN 28 (käytetään yleensä RGB -näytön vihreässä taustavalossa) punaisena merkkivalona -painiketta ja PIN -koodia 27 (käytetään yleensä RGB -näytön punaisessa taustavalossa) vihreänä merkkivalona painikkeen sisällä. PIN 24 oli kytketty painikkeen toiseen puoleen ja toinen puoli maahan. Näet napin kiinnityksen yllä olevassa kuvassa (jätin sinisen katodin irti).

Sen linkitetyn ohjeen käyttämisen lisäksi, joka auttaa näytön johtamisessa, olen sisällyttänyt fritzing -kaavion, joka auttaa sinua yhdistämään kaiken.

Sinun on lyhennettävä kolme nastaa FeatherWing 433MHz RFM69HCW: n päällä tämän Adafruit -opetusohjelman mukaisesti. Sinun on myös liitettävä antenni FeatherWing 433MHz RFM69HCW -laitteeseen. Tarkista Adafruitin todella hyvin selitetty opetusohjelma tästä vaiheesta. Päätin käyttää ulkoista antennia, jossa on sivulle asennettu SMA -liitin lankakappaleen sijasta paremman kantaman saavuttamiseksi.

Vaihe 5: Yhdistäminen Adafruit. IO: hon ja IFTTT: hen

Yhdistäminen Adafruit. IO: hon ja IFTTT: hen
Yhdistäminen Adafruit. IO: hon ja IFTTT: hen
Yhdistäminen Adafruit. IO: hon ja IFTTT: hen
Yhdistäminen Adafruit. IO: hon ja IFTTT: hen

Adafruit IO:

Noudata tämän Adafruit -opetusohjelman ohjeita rekisteröityäksesi Adafruit. IO -palveluun, jos sinulla ei ole tiliä. Sinun pitäisi myös lukea, mitä syöte ja kojelauta ovat.

Yksinkertaisesti sanottuna koontinäyttö on eräänlainen kuin graafinen käyttöliittymä, kun taas syötteet lähettävät tietoja, jotta voit tallentaa ne Internetiin. Sinun on luotava 1 koontinäyttö ja 4 syötettä. Nimesin omani ennen kuin tiesin kirjoittaa kananlihan oikein, joten anteeksi väärät oikeinkirjoitukset. Jos et halua nimetä uudelleen syötteiden nimiä arduino -koodissa, käytä samaa nimeä kuin minä.

Luo ensin neljä syötettä:

1) "Chicken Coup" Tämä on auki/kiinni -kytkimelle

2) "Chicken Coup Timer" Tämä on auki -ajastimelle

3) "Chicken Coup Timer 2" Tämä on sulkeutumisajastimelle

4) "Chicken Coup -virheilmoitus" Tämä koskee virheilmoituksia

Luo seuraavaksi kojelauta nimeltä Chicken Coup ja lisää 4 lohkoa sinisellä + -painikkeella. Katso yllä olevasta kuvasta sijoitettavien lohkojen tyypit sekä lohkojen nimet. Muista nimetä kytkimen tilat täsmälleen "auki" ja "suljettu"

IFTTT:

Tämän projektin IFTTT -osa lisää kyvyn painaa puhelimesi painiketta ja lähettää tekstiviestin avataksesi tai sulkeaksesi kana -oven. Sen avulla IFTTT -sovellus voi myös lähettää sinulle push -ilmoituksia, jos Chicken Coup -virhesanomat syötetään. Jos et halua näitä ominaisuuksia, voit ohittaa tämän osan.

Luo ensin IFTTT -tili, jos sinulla ei vielä ole sitä. Jos haluat käyttää luomiani valmiita sovelmia, siirry tililleni ja ota käyttöön haluamasi appletit. Muussa tapauksessa sinun on luotava oma ja tilattava tai julkaistava yllä luomasi adafruit -syöte.

Vaihe 6: Koodin lataaminen ja WiFi SSID: n ja salasanan muokkaaminen

Sinun on käytävä tämä Adafruit -opetusohjelman sivu läpi, jotta voit lähettää koodin sisälähettimeen.

Sinun on käytävä tämä Adafruit -opetusohjelman sivu läpi, jotta voit lähettää koodin ulkoiseen vastaanottimeen.

Sinun on asennettava RFM69 -kirjasto, Adafruit_RGBLCDShield -kirjasto, NTC -kellokirjasto simpleDSTadjust ja tikkikirjasto. Löydät opetusohjelman siitä, miten se tehdään täällä.

Avaa Arduino IDE ja lataa "Outdoor_Receiver.ino" -koodi ulkoiseen Arduino 32u4 -laitteeseen USB -kaapelin kautta.

Avaa sitten "Indoor_Transmitter.ino", avaa config.h -välilehti ja kirjoita WiFi -nimi (SSID) ja salasana lainausmerkkien sisään. Hanki sitten Adafruit. IO -käyttäjätunnuksesi ja IO -avaimesi noudattamalla tätä opetusohjelmasivua ja kirjoittamalla se config.h -välilehdelle.

Jos muutit Adafruit IO -syötteiden nimiä, sinun on muokattava koodi Indoor_Transmitter -päävälilehdellä. Muokkaa seuraavaa:

AdafruitIO_Feed *toggleSwitch = io.feed ("Chicken Coup");

AdafruitIO_Feed *timer = io.feed ("Chicken Coup Timer");

AdafruitIO_Feed *timer2 = io.feed ("Chicken Coup Timer 2");

AdafruitIO_Feed *error = io.feed ("Chicken Coup -virheviesti");

Sen pitäisi olla kaikki mitä sinun on tehtävä! Jos haluat ymmärtää paremmin, miten nämä kaksi luonnosta toimivat, kommentoin koodia. Kerro minulle, jos sinulla on kysyttävää. Onnea!

Suositeltava: