Tartalomjegyzék:

IoT Outdoor Pet Door: 6 lépés (képekkel)
IoT Outdoor Pet Door: 6 lépés (képekkel)

Videó: IoT Outdoor Pet Door: 6 lépés (képekkel)

Videó: IoT Outdoor Pet Door: 6 lépés (képekkel)
Videó: Tips on helping prevent Door-Dashing cats! 2024, Július
Anonim
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat
IoT kültéri háziállat

Engem ez az utasítás inspirált egy automatikus csirkehíd ajtó létrehozására. Nemcsak azt akartam, hogy a csirkeszekrény ajtaja időzítőn legyen, hanem az ajtót is az internethez akartam csatlakoztatni, hogy a telefonnal vagy a számítógéppel irányíthassam. Ezt az ajtót a tyúkólom számára építették, azonban könnyen alkalmazható más típusú háziállatok számára. Különféle 12 V -os motorokat is használhat a régi autó antenna motoron kívül, amelyet használtam.

Miután beállította és csatlakoztatta az Adafruit IO -t és az IFTTT -t az ESP8266 készülékemhez, a csirkeháló ajtaja online vezérelhető. Az ajtó nyitható vagy zárható:

1) Az adafruit.io webhelyen megadott időpontokban

2) Egy gomb megnyomásával a telefonomon

3) Szöveges üzenet küldésével egy adott számra

4) Az adafruit.io webhelyen található gombra kattintva

5) Egy fizikai gomb megnyomásával

Ezen felül a csirkehíd ajtaja push értesítéseket küldhet a telefonomra az IFTTT alkalmazáson keresztül az ajtóval kapcsolatos problémákról, például arról, hogy az ajtó nem nyílik vagy záródik.

Mivel a tyúkólom körülbelül 500 láb távolságra van a WiFi routeremtől, 433 MHz -es RFM69HCW adót és vevőt használtam egy ESP8266 -mal párosítva a projekt megvalósításához. Van egy fekete beltéri távadó doboz hardverrel, amely csatlakozik az internethez, és egy szürke kültéri vevőegység, amely a motort vezérli.

Ez az oktatóanyag végigvezeti Önt a 12 V -os motor vezérléséhez szükséges hardver létrehozásának folyamatán, amely kinyitja vagy bezárja a csirkeház ajtaját.

A következő részeket használtam:

Adafruit 32u4 433 MHz -es RFM69HCW -vel - 25 USD

Adafruit MCP23017 I2C 16 bemeneti/kimeneti portbővítő IC - 2,95 USD

Adafruit Feather HUZZAH ESP8266 WiFi -vel - 16,95 USD

Adafruit Radio FeatherWing 433MHz RFM69HCW - 10 dollár

Adafruit SMA csatlakozó 1,6 mm vastag NYÁK -hoz - 2,50 USD

Adafruit uFL SMA antennacsatlakozó - 0,75 dollár

Adafruit RGB nyomógomb - 10,95 dollár

12 V -os tápegység - 7 dollár

5V USB tápegység - $ 7

Micro USB kábel - 5 dollár

4 csatornás relé tábla (2 csatornát használhat)- 7 USD

DC -DC Buck Converter (csak egyet használt, de 5 -ös csomagban) - 20 USD

Reed kapcsoló (mágneses ajtókapcsoló -érzékelő) - 9 USD

2x 433 MHz -es körirányú antenna - 6 dollár

uFL -SMA kábel adapter (csak egyet használt, de 2 db -os csomagban) - 5 USD

Vízálló kültéri ABS projektdoboz - 11 dollár

Fekete ABS projektdoboz - 10 dollár

20x4 kék karakterű LCD - 10 dollár

12V autóantenna motor - ~ 25 dollár az ebay -en

Vezeték és ellenállások

1. lépés: Kültéri vevő

Kültéri vevő
Kültéri vevő
Kültéri vevő
Kültéri vevő

A kültéri vevőegység egy Adafruit 32u4 -ből áll, 433 MHz -es RFM69HCW -vel, néhány reléhez csatlakoztatva, amelyek be- vagy kikapcsolják a 12 V -os motort. Ezek a modulok, valamint a 12V-5V DC-DC átalakító egy vízálló szürke projektdobozban találhatók. Végül egy ajtókapcsoló -érzékelő van csatlakoztatva a 32u4 Arduino mikrokontroller egyik érintkezőjéhez, amely érzékeli, hogy az ajtó megfelelően kinyílik -e vagy bezáródik -e, amikor kellett volna.

A beltéri távadó 15 másodpercenként "Nyitott" vagy "Bezárás" üzenetet küld. A kapott parancs alapján az Arduino 32u4 be- vagy kikapcsol egy relét. A kiválasztott motorhoz, amely egy régi autó antenna motorja, két relét kellett be- vagy kikapcsolnom a motor bekötése miatt. Alapvetően volt egy relé az áram bekapcsolásához, majd egy másik relé, amely szabályozta, hogy a motor meghosszabbodott -e vagy vissza.

A nyitott vagy záró adás vétele után a kültéri vevőegység válaszol a „sensorOpen” vagy „sensorClosed” jelzéssel, jelezve az ajtókapcsoló -érzékelő állapotát. Ideális esetben az "open" parancs "sensorOpen" választ ad vissza, azonban ha az ajtó elakad vagy a motor elakad, ezek nem egyeznek. Ha nem egyeznek, a beltéri adó megjeleníti ezeket az információkat, és push értesítést küld a telefonra.

2. lépés: Kültéri vevő hardver csatlakoztatása

Kültéri vevő hardver csatlakoztatása
Kültéri vevő hardver csatlakoztatása
Kültéri vevő hardver csatlakoztatása
Kültéri vevő hardver csatlakoztatása
Kültéri vevő hardver csatlakoztatása
Kültéri vevő hardver csatlakoztatása

A kültéri vevőegység hardvereit nem túl nehéz bekötni. Az alábbiakban csatoltam egy fritázó vázlatot, hogy az általam használt csapok könnyen megtekinthetők legyenek.

Amint fentebb említettem, az általam használt motorhoz két relé szükséges. Mellékelek egy képet a pinoutról. Amikor a 12V -ot a piros vezetékhez csatlakoztatja, a motor visszahúzódik, ha meghosszabbítják. Ha egyszerre 12V -ot csatlakoztat a piros és a zöld vezetékhez, a motor meghosszabbodik.

A fentebb linkelt nádkapcsolót normál zárt kapcsolóként kell bekötni. A különbséget a normál nyitott és a normál zárt között a fenti csatolt kép magyarázza. Szoftver segítségével a 32u4 bemeneti csapjához belső felhúzó ellenállás van csatlakoztatva, így mindössze annyit kell tennie, hogy az ajtókapcsolót a bemeneti csaphoz és a földeléshez is csatlakoztatja.

Antennát kell csatlakoztatnia az Adafruit 32u4 -hez. Kérjük, nézze meg az Adafruit igazán jól elmagyarázott oktatóanyagát erről a lépésről. Úgy döntöttem, hogy egy külső antenna használata helyett egy darab huzal a jobb hatótávolság érdekében.

3. lépés: Beltéri adó

Beltéri adó
Beltéri adó
Beltéri adó
Beltéri adó
Beltéri adó
Beltéri adó

A beltéri adó egy Adafruit Radio FeatherWing 433MHz RFM69HCW rádióadót tartalmaz, amely egy ESP8266 WiFi -vel ellátott Adafruit Feather HUZZAH tetejére van rakva. Ezek a modulok egy 20x4 karakteres kijelzőhöz és egy RGB ezüst gombhoz vannak csatlakoztatva egy fekete projektdobozban.

A kijelző NTC szinkronizált órával rendelkezik, az RSSI erőssége dB -ben (a rádiójelek erősségét méri), az idő, amikor a tyúkól ajtaja kinyílik, a csirkehíd ajtajának becsukódásának ideje és az ajtó aktuális állapota. A gomb piros, amikor az ajtó zárva van, és zöld, amikor az ajtó nyitva van.

Ha a kültéri vevőegység megszakítja az áramellátást, vagy ha a 433 MHz -es jelet bármilyen okból nem lehet elküldeni, a kijelző és az RGB gomb a két lehetséges hibamód közül az elsőbe lép. Az első hiba üzemmódban a kijelzőn megjelenik a "HIBA! Próbálja újraindítani a kültéri vevőt" üzenet. és a gombnak nem lesz színe. Ha az ajtókapcsoló érzékelője azt észleli, hogy az ajtó nem megfelelően záródott vagy nyitott, akkor a kijelző és az RGB gomb a két hibaüzenet közül a másodikba lép. A második hiba üzemmódban a kijelzőn az "ERROR! Door or switch sensor problem" felirat olvasható. és a gombnak nem lesz színe. Amikor a probléma magától megoldódik, a kijelző és az RGB gomb normál állapotba kerül. Akkor kaphat push értesítéseket a telefonjára, ha a fenti hibamódok bármelyike bekövetkezik (ezt a beállítást egy későbbi lépésben átnézem).

4. lépés: Beltéri távadó hardver csatlakoztatása

Beltéri távadó hardver csatlakoztatása
Beltéri távadó hardver csatlakoztatása
Beltéri távadó hardver csatlakoztatása
Beltéri távadó hardver csatlakoztatása

Miután az Adafruit Radio FeatherWing 433 MHz -es RFM69HCW -t egymásra rakta egy Adafruit Feather HUZZAH tetején, ESP8266 WiFi -vel, már csak 2 tű maradt hátra, az I2C csapok SDA és SCL. Ezért választottam az MCP23017 integrált áramkört (IC). Ez egy igazán klassz IC, amely akár 16 további bemeneti/kimeneti csatlakozót is csatlakoztathat bármely mikrovezérlőhöz I2C -n keresztül. Ezen kívül van egy előre megírt könyvtár, az Adafruit-RGB-LCD-Shield nevű könyvtár, amely ezt az IC-t egy karakterkijelzővel használja, amely technikailag ehhez az Adafruit termékhez van írva, de tökéletesen működik ebben a projektben.

Az ötlet, hogy az MCP23017 -et karakteres kijelzővel használja, ebből a nagyon jól megírt utasításból származik. Kérlek nézd meg!

Elfogadtam ezt az utasítást, és ahelyett, hogy több gombot és egy RGB -kijelzőt csatlakoztatnék az IC -hez, csak egy gombot csatlakoztattam az RGB LED -hez és egy monokróm kijelzőt az IC -hez. Ez lehetővé tette számomra, hogy az IC 1 -es PIN -kódját (általában az RGB -kijelző kék háttérvilágítására használják) monokróm kijelzőm háttérvilágításaként, a 28 -as PIN -kódot (általában az RGB -kijelző zöld háttérvilágítására használják) piros LED -ként határozzák meg gombot, és a PIN -kódot 27 (általában az RGB -kijelző piros háttérvilágítására használják), mint zöld LED -et a gomb belsejében. A PIN -kód 24 a gomb egyik oldalához, a másik oldala pedig a földhöz volt csatlakoztatva. Láthatja a gomb kiütését a fenti képen (a kék katódot lekapcsolva hagytam).

Amellett, hogy az általam linkelt utasításokat használtam a kijelző bekötéséhez, mellékeltem egy fritázó vázlatot, amely segít összekötni mindent.

A FeatherWing 433MHz RFM69HCW tetején három tűt kell rövidítenie, amint ezt az Adafruit bemutató ismerteti. Antennát is csatlakoztatnia kell a FeatherWing 433MHz RFM69HCW készülékhez. Kérjük, nézze meg az Adafruit igazán jól elmagyarázott oktatóanyagát erről a lépésről. A jobb hatótávolság elérése érdekében úgy döntöttem, hogy egy külső antennát használok, oldalra szerelt SMA csatlakozóval a huzal helyett.

5. lépés: Csatlakozás az Adafruit. IO -hoz és az IFTTT -hez

Csatlakozás az Adafruit. IO -hoz és az IFTTT -hez
Csatlakozás az Adafruit. IO -hoz és az IFTTT -hez
Csatlakozás az Adafruit. IO -hoz és az IFTTT -hez
Csatlakozás az Adafruit. IO -hoz és az IFTTT -hez

Adafruit IO:

Kérjük, kövesse az Adafruit bemutató utasításait, hogy regisztráljon az Adafruit. IO szolgáltatásra, ha nincs fiókja. Azt is el kell olvasnia, hogy mi a hírcsatorna és a műszerfal.

Egyszerűen fogalmazva, az irányítópult olyan, mint a grafikus felhasználói felület, míg a hírcsatornák azok, amelyekre adatokat küld, hogy tárolhassa azokat az interneten. Létre kell hoznia 1 irányítópultot és 4 hírcsatornát. Elneveztem az enyémet, mielőtt tudtam, hogyan kell helyesen írni a tyúkhártyát, ezért kérlek, bocsáss meg a helytelen helyesírásért. Ha nem szeretné átnevezni a hírcsatorna nevét az arduino kódban, használja ugyanazt az elnevezést, amit én.

Először hozza létre a négy hírcsatornát:

1) "Chicken Coup" Ez a nyitott/zárt kapcsolóra vonatkozik

2) "Chicken Coup Timer" Ez a nyitott időzítőre vonatkozik

3) "Chicken Coup Timer 2" Ez a zárás időzítőre vonatkozik

4) "Chicken Coup hibaüzenet" Ez a hibaüzenetekre vonatkozik

Hozzon létre egy műszerfalat, amelyet Chicken Coup néven ismertet, és adjon hozzá 4 blokkot a kék + gombbal. Kérjük, nézze meg a fenti képet a blokkok típusairól, valamint a blokkok nevét. Ügyeljen arra, hogy a kapcsolók állapotát pontosan "nyitott" és "zárt" névvel adja meg

IFTTT:

A projekt IFTTT része lehetővé teszi, hogy megnyomja a gombot a telefonján, és szöveget küldjön a csirkehíd ajtajának kinyitásához vagy bezárásához. Azt is lehetővé teszi, hogy az IFTTT alkalmazás push értesítéseket küldjön Önnek, ha bármit közzétesznek a Chicken Coup hibaüzenet -hírcsatornában. Ha nem szeretné ezeket a képességeket, kihagyhatja ezt a részt.

Először állítson be IFTTT -fiókot, ha még nem rendelkezik ilyennel. Ha használni szeretné az általam készített előre elkészített kisalkalmazásokat, akkor navigáljon a fiókomba, és kapcsolja be a kívánt kisalkalmazásokat. Ellenkező esetben létre kell hoznia sajátját, és fel kell iratkoznia vagy közzé kell tennie a fent létrehozott adafruit feedet.

6. lépés: A kód feltöltése és a WiFi SSID és jelszó szerkesztése

Át kell néznie az Adafruit oktatóanyag ezen oldalát, hogy kódot tudjon feltölteni a beltéri távadóra.

Át kell néznie az Adafruit oktatóanyag ezen oldalát, hogy kódot tudjon feltölteni a kültéri vevőkészülékre.

Telepítenie kell az RFM69 könyvtárat, az Adafruit_RGBLCDShield könyvtárat, a simpleDSTadjust nevű NTC órakönyvtárat és a ticker könyvtárat. Itt talál egy oktatóanyagot, hogyan kell ezt megtenni.

Nyissa meg az Arduino IDE -t, és töltse fel az "Outdoor_Receiver.ino" kódot a kültéri Arduino 32u4 -be USB -kábelen keresztül.

Ezután nyissa meg az "Indoor_Transmitter.ino" oldalt, nyissa meg a config.h lapot, és írja be a WiFi nevét (SSID) és jelszavát az idézőjelek közé. Ezután szerezze be az Adafruit. IO felhasználónevét és az IO -kulcsot az oktatóoldal követésével, és írja be a config.h fülre.

Ha megváltoztatta az Adafruit IO hírcsatornák nevét, módosítania kell a kódot az Indoor_Transmitter fő lapon. Szerkessze a következőt:

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 hibaüzenet");

Ennyit kell tennie! Ha szeretné jobban megérteni a két vázlat működését, megjegyzést fűztem a kódhoz. Kérjük, tudassa velem, ha kérdése van. Sok szerencsét!

Ajánlott: