Tartalomjegyzék:
- 1. lépés: Kültéri vevő
- 2. lépés: Kültéri vevő hardver csatlakoztatása
- 3. lépés: Beltéri adó
- 4. lépés: Beltéri távadó hardver csatlakoztatása
- 5. lépés: Csatlakozás az Adafruit.IO -hoz és az IFTTT -hez
- 6. lépés: A kód feltöltése és a WiFi SSID és jelszó szerkesztése
Videó: IoT Outdoor Pet Door: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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ő
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
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ó
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
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
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:
SmartPET - Smart Pet Feeder: 7 lépés (képekkel)
SmartPET - Smart Pet Feeder: Hé! Maxime Vermeeren vagyok, 18 éves MCT (multimédiás és kommunikációs technológia) hallgató a Howest-nél. Úgy döntöttem, hogy intelligens háziállat-etetőt hozok létre projektemnek. Miért tettem ezt? A macskámnak vannak súlyproblémái, ezért úgy döntöttem, hogy csinálok egy gépet
Pet Bot: 6 lépés (képekkel)
Pet Bot: Hitel: Ezt a projektet a robomaniac Beetlebot ihlette. Frissítés: Azóta átneveztem Pet Bot -ra. (A videó továbbra is Catfish Bot néven mutatja) Robotikát tanítok fiatal gyártóknak ESP8266, Arduino és Raspberry PI platformokon, és az egyik kihívás
Arduino és Raspberry Pi Powered Pet Monitoring System: 19 lépés (képekkel)
Arduino és Raspberry Pi Powered Pet Monitoring System: Nemrég nyaralás közben rájöttünk, hogy nincs kapcsolat a kedvencünk Beagle -lel. Némi kutatás után olyan termékeket találtunk, amelyek statikus kamerát tartalmaztak, amely lehetővé tette az állat megfigyelését és a vele való kommunikációt. Ezeknek a rendszereknek bizonyos előnyei voltak
D4E1 PET -vágó (Artmaker02): 9 lépés (képekkel)
D4E1 PET -vágó (Artmaker02): Mit tesz ez a palackvágó? Ez a gép újrahasznosított műanyag (PET) palackokat fűtött késsel gyűrűkbe vagy spirálokba vág egy biztonságos házban, amelyet mindenki biztonságosan használhat. Miért és miért készítettük ezt Az ipari D csoport vagyunk
IoT Pet Monitor!: 6 lépés (képekkel)
IoT Pet Monitor !: Tartsa szemmel szeretett babáját, és zenéljen, vagy szóljon nekik, hogy legyenek csendben, amíg távol vannak! Ez az oktatóanyag megmutatja, hogyan használhat egy Raspberry Pi számítógépet az otthoni hang hangerejének felügyeletével történő felügyeletéhez, hogy lássa, ha és amikor a kedvence ideges