Tartalomjegyzék:

RabbitPi - az Alexa Enabled, IFTTT Connected, Fül -Wiggling IoT Assistant: 12 lépés
RabbitPi - az Alexa Enabled, IFTTT Connected, Fül -Wiggling IoT Assistant: 12 lépés

Videó: RabbitPi - az Alexa Enabled, IFTTT Connected, Fül -Wiggling IoT Assistant: 12 lépés

Videó: RabbitPi - az Alexa Enabled, IFTTT Connected, Fül -Wiggling IoT Assistant: 12 lépés
Videó: Raspberry Pi Halloween Automation - IFTTT, Alexa, REST API, Network Automation 2024, November
Anonim
Image
Image
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant
RabbitPi - az Alexa Enabled, IFTTT Connected, Fall -Wiggling IoT Assistant

Ez egy elavult, 2005 -ös Nabaztag "okos nyúl", amelyet Raspberry Pi 3 és Adafruit Motor HAT segítségével modern IoT -asszisztenssé építettem át, webkamerás mikrofonnal és egy Philips Soundshooter hangszóróval, amely az aranyos eredeti tokban található. gomb az Amazon Alexa hangszolgáltatása segítségével hangutasításokat kezdeményezett, és a válaszokat a beépített hangszórón keresztül olvasta fel. A hangutasításokat IFTTT (If This Then That) receptek kiváltására is használják, és más internethez csatlakoztatott eszközökkel, például intelligens aljzatokkal és mobiltelefonokkal való interakcióhoz. Nem elég? Az IFTTT események kiváltása mellett a Gmailben is megkapja őket, az Ivona szövegfelolvasó motor segítségével olvassa fel az e-maileket, szöveges üzeneteket és egyéb értesítéseket, például a pollenjelzéseket vagy az otthoni biztonsági kamera értesítéseit. vizuális visszajelzést kap LED -ekkel és motoros fülekkel? Ja, és a hasában van egy V2 Raspberry Pi kamera a hanggal aktivált szelfik feltöltéséhez a Twitterre. Nehéz szavakkal leírni a RabbitPi ravaszságát, nézze meg a videót, hogy lássa működés közben!

1. lépés: Az intelligens nyulak rövid története

Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története
Az intelligens nyulak rövid története

Az eredeti Nabaztag "első intelligens nyúl" -t 2005 -ben adták ki, környezeti otthoni asszisztensként számlázva (ismerős az Amazon és a Google?) - vitathatatlanul ez volt az első "dolgok internete", és sok tekintetben megelőzte korát, Rögtön vettem egyet. A kandallónkon ült, és felolvasta a napi időjárás-előrejelzéseket és az alkalmi értesítéseket, de soha nem volt sok lehetősége, támaszkodva a WEP wi-fi kapcsolatra és a saját szoftverekre és szerverekre a szöveg-beszéd (TTS) szolgáltatások nyújtásához. Nehéz most elképzelni, de akkoriban még nem volt olyan sok, amihez kapcsolódni lehetett, a közösségi média alig volt valami, a Nokia uralta az okostelefonok világát, a LED -es izzók pedig drága újdonság.

Az elkövetkező években két további verzió következett, a Nabaztag: a Tag és a Karotz, mindkettő javított funkcionalitást kínált, de egyik sem találta meg a piaci rést, amit végül a hardver és a szoftver korlátai hagytak cserben. A szégyen az volt, hogy amint a támogató szervereket lekapcsolták, a korábban okos nyulak alig lettek díszek. Számos közösségi projekt megpróbálta helyettesíteni a "hivatalos" szerverek szolgáltatásait, és egy ideig valóban használtuk az "OpenKarotz" -t, de ez is úgy tűnt, hogy egy -két éve elhal, és a nyulaim csendben és mozdulatlanul maradnak a hangszóróim tetején.

Egyébként vége a történelemórának! A végeredmény az, hogy szeretettel emlékezünk a Nabaztag jelenlétére nappalinkban, és én vissza akartam kapni, de megfelelő modern IoT eszközként.

2. lépés: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

Az ihletett, hogy végre elkezdhettem a RabbitPi -t, amikor márciusban olvastam, hogy az Amazon Alexa hangszolgáltatást a Raspberry Pi rendelkezésére bocsátották - a kulcs az, hogy egy gomb szükséges a "hallgatás" aktiválásához - ez tökéletesen illeszkedik a Nabaztaghoz, mivel nyomógombos síkban van fényes kis feje tetejével. Szétszedtem a nyulamat, és hamarosan Sam Machin kiváló AlexaPi kódja futott a Pi 3 -on, amelyet a nyúl gombjának megnyomásával aktiválhattam. Ezen a ponton teljesen elterelődött a figyelmem az AlexaPhone építésénél, de rögtön visszaugrottam az okos rabbitolba, amint elkészült. Szükségem volt arra, hogy az új, továbbfejlesztett Nabaztag legalább olyan okos legyen, mint az eredeti, ezért azt akartam, hogy:

Végezzen hangalapú keresést és olvassa el az eredményeket

Olvassa el az értesítéseket

Mozgassa a fülét és villogjon a LED -ekkel

Készítsen fényképeket és engedélyezze a távfelügyeletet

Interakció intelligens foglalatokkal, izzókkal és így tovább

3. lépés: Bunny Chop

Bunny Chop
Bunny Chop
Bunny Chop
Bunny Chop
Bunny Chop
Bunny Chop
Bunny Chop
Bunny Chop

Az első feladat a Nabaztag szétszerelése volt, és megnézte, milyen alkatrészeket lehet újra felhasználni. A füleket úgy tervezték, hogy felcserélhetők legyenek, és csak mágnesekkel tartsák őket, így ez könnyű volt, és a fő burkolatot csak két (bizarr háromszög) csavar tartotta. Ez feltárta az összes áramkört és alkatrészt, amelyek egy központi műanyag oszlop köré épültek. Az egyik oldalon a főáramkör és a LED -ek voltak, a másik oldalon hangszóró, a motorok/gombok pedig az oszlopba vannak ágyazva.

Mivel csak a motorok megtartását terveztem, átvágtam a kábelek nagy részén, és elkezdtem kivenni a csavarokat. Ezen a ponton igazi meglepetést kaptam! A nyúl "agyi" áramköre mögött az oszlop teljes magasságában futó nyílás volt, amely egy teljes méretű PCMCIA wi-fi kártyát tartalmazott, olyan, mint a régi laptopokban. Azt hiszem, ez akkoriban egy tervezési vagy kompatibilitási kompromisszum volt, de méretben való összehasonlítása egy modern USB -kulcshoz valóban azt hozta haza, hogy a technológia mennyit zsugorodott 10 év alatt.

A többi alkatrészt könnyen eltávolították, így csak a csupasz műanyag tartóoszlop maradt elegendő hely körülötte?

4. lépés: Beszéd és hallgatás

Beszéd és hallgatás
Beszéd és hallgatás
Beszéd és hallgatás
Beszéd és hallgatás
Beszéd és hallgatás
Beszéd és hallgatás

Hangszóró és mikrofon nélkül nem lehet hangvezérelt beszélő nyúl, így ezek voltak az első dolgok, amiket elintéztem. Valójában nem kellett nagyon próbálkoznom, úgy tűnik, hogy a Pi nagyon rugalmas az USB -mikrofonokkal kapcsolatban, és csak egy régi MSI StarCam Clip webkamerát használtam a bemenethez, a hangszintet Max értékre állítva a Pi hangbeállításokban. Helytakarékosság végett szétszereltem a webkamerát, eldobva a kamera lencséjét és a tokját. Fúrtam egy lyukat az aljába, ahol a mikrofon áthatolhat, és csatlakoztattam a Pi USB -jéhez, a lehető legtisztábban futtatva a kábeleket.

A KitSound MiniBuddy hangszórót használtam az AlexaPhone-ban, mivel valóban hatékonynak bizonyult, de amikor elmentem vásárolni egyet ehhez a projekthez, azt tapasztaltam, hogy a kialakítás megváltozott, és már nem töltődnek mikro-usb csatlakozó segítségével! Körülnéztem valami hasonló után, és előkerült a Philips SoundShooter, egy kis kézigránát-szerű egység. Reméltem, hogy szétszerelés nélkül belefér a tokba, de túl nagy volt, ezért előkerült a csavarhúzó a szétszereléshez. Sikerült elpattintanom a hangszóró vezetékeket, így egyes jumper kábelekbe forrasztva, hogy megkönnyítsem az újracsatlakozást. Ezt a hangsugárzó részt az eredeti hangszóróval megegyező helyen forró ragasztóval rögzítették a tokhoz, az áramkört és az akkumulátort az alatta lévő kis polchoz rögzítve.

Utólag azt szeretném, ha csak egy hálózati tápellátású dokkoló dokkolóját használnám, vagy valami ilyesmit, mivel nem ideális a hangszóró feltöltése - mégis nagyon sokáig tart, és remekül hangzik, és fő borítóként könnyen felemelkedik, ez nem igazán show-stop probléma.

5. lépés: Olvasás, mint a nyulak

Olvasás, mint a nyulak
Olvasás, mint a nyulak
Olvasás, mint a nyulak
Olvasás, mint a nyulak

Most, hogy az Alexa rész működött, áttértem a következő probléma megoldására, hogyan tudnám rávenni a nyulat, hogy olvassa el az értesítéseket? Az eredeti Nabaztag szövegfelolvasása meglepően jó volt, bár emlékszem, hogy az én szöveges üzenetem aláírásait (MM) mindig "Milliméter" -ként, a feleségemét (CM) "Centimeters" -ként olvastam ki-modern és természetes hangzású motor, amely megfelelően értelmezné a "&" szimbólumot, és megértené az olyan egyszerű hangulatjeleket, mint a:).

A Raspberry Pi -hez hasonlóan rengeteg különböző lehetőség létezik, és néhányat megvizsgáltam, mielőtt az Ivona mellett döntöttem, amely úgy tűnik, hogy ugyanaz a motor, amelyet az Alexa szolgáltatás használ. Számomra ez volt a legjobb megoldás, mivel számos hang és konfigurációs lehetőség áll rendelkezésre - nagy plusz az is, hogy Zachary Bears egy kényelmes Python -csomagolót bocsátott rendelkezésre a szolgáltatáshoz, a Pyvona -hoz.

Az Ivona használatához először be kell állítania egy fejlesztői fiókot, majd az Alexa beállításhoz hasonlóan ezután is megadja az alkalmazásában használt hitelesítő adatokat, ebben az esetben egy parancsfájlt az értesítések kiolvasásához. Havonta 50 000 keresést végezhet az egyik ilyen fiókkal, ami számomra minden bizonnyal sok.

A Pyvona beállítása nagyon egyszerű volt, perceken belül létrehoztam egy Python -szkriptet a megadott példából, amely kiolvasta az általam beírt kifejezéseket. De ez persze csak részben volt a megoldás - nem akartam, hogy Ivona keményen kódoltat olvasson fel szöveges, de dinamikus bejövő értesítések.

6. lépés: Mit mond?

Mondd mi?
Mondd mi?
Mondd mi?
Mondd mi?

Tehát most volt egy nyúlom (darabokban az egész padon), aki tudott beszélni, de szüksége volt egy mechanizmusra az értesítések fogadásához és az Ivona szolgáltatáshoz való továbbításához. Megnéztem a szöveges üzenetek lehetőségét egy online szolgáltatáson vagy SIM-kártya-adapteren keresztül, valamint a Twittert és a Dropboxot szöveges karakterláncok/fájlok kézbesítésére, de végül úgy döntöttem, hogy az IMAP e-mail fiókokkal való interakció Python-alapú imaplib-jét használom. Elsősorban azért döntöttem ezen lehetőség mellett, mert jól integrálódott az IFTTT szolgáltatásba, igazán kreatív lehet az értesítő e -mailek formázása. Ez azt is jelentette, hogy e -maileket küldhetek közvetlenül a RabbitPi -nek, hogy felolvassák őket.

Rengeteg imaplib python -példát néztem át az interneten, és a darabok összevonása és az imaplib dokumentáció átdolgozása után sikerült egy olyan szkriptet végeznem, amely rendszeres időközönként ellenőrizte a Gmailt az olvasatlan üzenetek tekintetében, és különböző szöveget nyomtatott a képernyőre a tartalomtól függően. az üzenet tárgyát. Ez nagyon praktikus volt, mivel a kódban szereplő "IF" utasítást csak akkor tudtam adaptálni, ha az e -mail magamtól érkezett, majd kicserélem a "Nyomtatás" műveletet az Ivona szolgáltatást hívó kódra.

Elég sokáig próbáltam adaptálni az imaplib & Pyvona kódot az e -mailek törzsének kiolvasásához, de ez rendkívül bonyolultnak bizonyult - hamar megtanultam, hogy az alapvető e -mail mezők (From, To, Subject stb.) Nagyon egyszerűen vannak formázva, de az e -mail törzsszövege sokféleképpen felépíthető. Végül nem igazán számított, el tudtam érni azt, amire szükségem volt azáltal, hogy az E -mail tárgya mezőt használtam, amelyből az értesítési szöveg olvasható lesz.

Ezután úgy alakítottam az imaplib kód példáját, hogy ahelyett, hogy minden e -mail ellenőrzés után megállna, végtelenül körbejárna, percenként néhányszor ellenőrizze az e -maileket, és nagyjából kiolvasta az újakat, amint megérkeztek. Ez hasznos volt a teszteléshez, de a gyakorlatban valószínűleg ritkábban ellenőrizném. Érdemes megjegyezni azt is, hogy a szkript egyszerű szövegben tárolja a jelszót, így valamikor szükség lesz némi titkosításra.

100% -ig biztos vagyok benne, hogy ez sokkal elegánsabban és hatékonyabban érhető el a Pythonban, de szórakoztató és kihívásokkal teli volt, hogy működőképes legyen - a héten kölcsönvettem a "Python for Kids" -t a könyvtárból, így a kód remélhetőleg javulni fog ahogy többet tanulok.

Az alapvető get-an-email-and-read-it script működésével hozzáadtam az extra kódrészleteket, amelyek miatt a nyúl füle megmozdul, és a LED-ek világítanak az értesítések olvasása közben. Az általam használt kód a GitHubon található, de kérjük, vegye figyelembe, hogy jelenleg nem vagyok pythonos!

7. lépés: Kalap a RabbitPi számára

Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára
Kalap a RabbitPi számára

Az egyik legikonikusabb dolog a Nabaztagban az volt, ahogyan mozgatni fogja a fülét, amikor értesítés érkezik. Ezeket egy adott tájolásra lehet állítani, manuálisan mozgatva vagy a vezérlőszoftver segítségével beállítva - a célom az volt, hogy csak hogy mozogjanak.

Korábban nem használtam motorokat a Raspberry Pi -vel, így ez egy újabb új kutatási téma volt számomra - először azt kellett megtudnom, hogy milyen motorokkal van dolgom, annyit tudtam, hogy 2 motor van, mindegyik 2 vezetékkel. Az interneten olvasva arra a következtetésre jutottam, hogy ezeknek egyenáramú egyenáramú motoroknak kell lenniük, nem pedig léptetőmotoroknak, ezt a tényt megerősíti ez a fantasztikusan hasznos, tanulságos Liana_B "Hack the Nabaztag" című műve, amelyet bárcsak egy hónappal korábban olvastam volna.

Mégis, a Pi rugalmasságának köszönhetően sokféle módon lehet a motorokat szabályozni, de úgy döntöttem, hogy egy Adafruit DC & Stepper Motor HAT kártyát használok. Korábban már használtam Adafruit képernyőket és csecsebecséket, és szeretem a részletes utasításokat és példákat, amelyek alapfelszereltségként jelennek meg.

A HAT (Hardware Attached on Top) szabványú tábla használata azt jelentette, hogy a motorvezérlő szépen illeszkedik a Pi tetejére, minimális helyet foglalva, és mivel az I2C interfészt használja, szabadon hagyta az Alexa/Claphoz szükséges GPIO csapokat gomb és LED -ek.

Ahogyan az várható volt, a HAT együtt forrasztása nagyon egyszerű volt, és hamarosan felhelyeztem a PI -re, és csatlakoztattam a két fülmotorhoz. Úgy terveztem, hogy a motorokat egy usb power bankról futtatom, így csak egyetlen tápcsatlakozóra lesz szükségem, de kiderült, hogy nincs elég morgás, még a kalapon lévő "Working" jelzőfény sem világít. Ehelyett úgy döntöttem, hogy egyenáramú tápegységet használok a HAT és a fülek futtatásához, kényelmesen kéznél volt az egyik ilyen univerzális, cserélhető hegyekkel. Nem volt DC -aljzatom, amellyel az adaptert a HAT -hoz csatlakoztathatnám. Éppen azon a ponton voltam, hogy elhagyom a Norwich Maplin -t (újra), amikor eszembe jutott, hogy a Nabaztag eredeti tápkábele egy szabványos egyenáramú dugasz - ezért csak az eredeti hálózati csatlakozót csatlakoztathatom a kalaphoz - ügyes! Végül újra felhasználtam az eredeti Nabaztag tápegységet, mivel az éppen megfelelő áramot biztosított.

Miután minden be volt kapcsolva, és ésszerű feszültséget választottam, előzetesen lefuttattam a DC motorkalaphoz tartozó python -példát, a mintakódot, amely folyamatosan megváltoztatta a motor sebességét és irányát, hogy illusztrálja a különböző vezérlési lehetőségeket. Nagyon izgatott voltam, amikor működött, az első Pi-vezérelt motorom! De aztán észrevettem valamit - egy igazán hangos, magas hangú nyafogást, mintha valaki nedves ujjal futna a borospohár körül. Ez egyáltalán nem volt jó, azt akartam, hogy a fülek mozogjanak, miközben az értesítéseket olvassák, és bár nem süketítő a nyafogás valóban észrevehető volt. Próbáltam különböző feszültségeket, de semmi változás. A Google -hoz fordulva rájöttem, hogy ez megtörténhet a PWM (impulzusszélesség -moduláció) miatt, és hogy az egyik megoldás a kis kondenzátorok forrasztása a motorkapcsokon keresztül. A motorokat nézve ezek már a helyükön voltak. Kísérleteztem a PWM frekvencia megváltoztatásával is, de még mindig nem változott. Némi kísérletezés után rájöttem, hogy a nyafogás csak akkor következett be, amikor a motor fordulatszámát a kód alacsonyról magasra változtatta - így az állandó nagy sebességre állítás teljesen megszüntette a nyafogást - huh!

Létrehoztam néhány teszt python szkriptet az Adafruit példái alapján, az egyiket az értesítések közbeni mozgásra, a másikat pedig arra, hogy a fülek teljes "áramkört" hajtsanak végre az indításkor, azzal a céllal, hogy bemásolja a munkakódot ezekből a fő szkriptekbe, amelyek kezelik a Alexa és Gmail/Ivona interakciók.

8. lépés: Kamera és csípés

Kamera és csípések
Kamera és csípések
Kamera és csípések
Kamera és csípések
Kamera és csípések
Kamera és csípések

Az összeszerelés előtt mindent kipróbáltam. Ahol csak lehetséges volt ezen a konstrukción, jumper kábeleket használtam az egyes alkatrészek összekapcsolására, ha a múltbeli építkezések bármit megtanítottak a jövőbeli szétszerelés megtervezésére! Szerettem volna rajzolni egy kapcsolási rajzot is, amely bemutatja, hogy milyen színű kábelek mentek, az áthidaló kábelek kiválóak, de néha könnyen elmozdulnak, amikor az alkatrészeket szűk helyekre zsúfolják!

Eléggé elhatároztam, hogy beépítem a Pi Camera modult is, a 8MP -es 2 -es verzió nemrég jelent meg, és valami újdonságként azt gondoltam, hogy ez jó kiegészítés lesz. A Karotz nyúl legújabb verziójának webkamerája volt a gyomrában, de ez soha nem működött olyan jól, azt gondoltam, hogy a Pi kamera szórakoztató lesz a hanggal aktivált szelfikhez, és talán még a távfelügyelethez is, ha a Pi képes kezelni a kódot ugyanabban az időben, mint minden más.

A fényképezőgéphez konzolot építettem műanyag borítású mekanóból, és először a tokba szereltem, majd nagyon óvatosan megmértem, hol kell fúrni a tokba süllyesztett lyukat. Ez határozottan az "egyszer kétszer levágott intézkedés" esete volt, mivel a rossz helyen lévő lyuk katasztrófa lett volna. Szerencsére holtpontról jött ki, és csak egy kicsit túl magasra, így kompenzálni tudtam azzal, hogy alátéteket tettem hozzá a kamera tartó és az alap közé.

Ezen a ponton egy Pimoroni Dual Micro USB tápkábelt is hozzáadtam - ez egy szép mikro -usb aljzatot adott a tok hátulján, és egy második hálózati csatlakozót is biztosított. Az extra dugót akartam használni a hangszóró akkumulátorának feltöltéséhez, és beletörtem, hogy csatlakoztassam a Nabaztag eredeti "némító" kapcsolóját a töltés vezérléséhez.

9. lépés: Mi Cookin 'Doc? IFTTT receptek

Mi a Cook doki? IFTTT receptek!
Mi a Cook doki? IFTTT receptek!
Mi a Cook doki? IFTTT receptek!
Mi a Cook doki? IFTTT receptek!

Az IoT -eszköz építésének fenomenális tulajdonsága jelenleg a rengeteg elérhető webszolgáltatás, és az IFTTT (If This Then That) szolgáltatás elképesztő munkát végez, összekötve ezeket egy egyszerű és funkcionális csomagban. Ha még nem használta, ez egy online szolgáltatás, és miután regisztrált, összekapcsolhatja az összes többi webalapú tartalmat, például a Gmailt, a Facebookot, a Twittert és (ahogy sejtette) az Amazon Alexát. Számos szolgáltatás közül lehet választani, beleértve az intelligens készülékek, például izzók, termosztátok és aljzatok vezérlési lehetőségeit is.

Az IFTTT -szabályok "receptek" -ben vannak beállítva - például egy Outlook -szabály vagy egy IF -utasítás az SQL -ben vagy a Visual Basicben, például van egy receptem, amely azt mondja: "HA valaki megcímkéz egy fényképen a Facebookon, akkor küldjön e -mailt a "Szent guacamole, [a személy nevét megcímkéző]" témával éppen megcímkézett egy Facebook -fotón.

Az IFTTT másik nagyszerű felhasználási területe az Alexa hangszolgáltatás - a recept IF részéhez beállíthat egy kifejezést, például "a lézert", és ha azt mondja Alexának: "Indítsa el a lézert", akkor továbbítja a kérést IFTTT, amely elindítja a recept AKKOR részét, ebben az esetben egy diszkólézerhez csatlakoztatott távoli aljzat aktiválása.

Ez még az "okos dolgokon" is túlmutat - ha az IFTTT telepítve van a telefonjára (az enyém az Android verzió), akkor mindkét irányban kölcsönhatásba léphet vele, a videóban használt recept: "IF I say" Trigger Chas & Dave "Alexának, AKKOR játssza le a" Rabbit "dalt az androidos telefonomon. Ez fordítva is működik - a telefonomon található AnyMote univerzális távirányító alkalmazás testreszabható úgy, hogy egy adott gomb megnyomja az" IF "részt receptből - tehát van egy gomb a képernyőn, amely arra készteti a RabbitPi -t, hogy készítsen egy szelfit, és töltse fel a Twitterre.

Egy másik funkció lehetővé teszi a RabbitPi számára, hogy felolvassa szöveges üzeneteimet, a telefonomon van egy receptem "HA új SMS -t kapok, akkor küldjek magamnak egy e -mailt a következő témával:" Hé! [szövegküldő] ezt mondja: [szöveges üzenet törzse]"

Könnyen használható, szórakoztató és jól működik, az értesítéseket nagyon gyorsan továbbítják oda -vissza, különösen a WeMo Insight kapcsolóhoz, ami nagyjából azonnali. Az IFTTT és a RabbitPi lehetővé teszi a dolgok és szolgáltatások összekapcsolását.

10. lépés: Összeszerelés és tesztelés

Összeszerelés és tesztelés
Összeszerelés és tesztelés
Összeszerelés és tesztelés
Összeszerelés és tesztelés
Összeszerelés és tesztelés
Összeszerelés és tesztelés

Most jött a trükkös rész - az összes alkatrészt a tokba zsúfolva! Egészen biztos voltam benne, hogy minden belefér, de a tényleges összeszerelés nagyon fárasztó volt, jól használtam néhány sebészeti műszert és csipeszt, hogy apró réseken keresztül dugjam a kábeleket.

Miután mindent biztonságosan rögzítettem, hozzáadtam néhány öntapadó kábelkötegelő alátétet, hogy a sok vezetéket rendben össze lehessen húzni - ez nagyon fontos volt, mivel nem akartam véletlenül kihúzni egyiket sem a tok visszahelyezésekor.

11. lépés: Kész nyúl?

Kész nyúl?
Kész nyúl?
Kész nyúl?
Kész nyúl?
Kész nyúl?
Kész nyúl?
Kész nyúl?
Kész nyúl?

Most, hogy az épület minden fizikai oldala elkészült, ideje volt "elvágni a zsinórt", eltávolítva a RabbitPi -t az ethernet -kábel, monitor és billentyűzet kényelméből a műhelyben, hogy a kódot máshol fejezhessem be SSH -n keresztül (A vezeték nélküli jel nagyon gyenge odabent!)

Az irodám íróasztalán elhelyezkedve elindítottam a nyulat, és - nincs wi -fi kapcsolat egyáltalán, semmi. Tudtam, hogy jelnek kell lennie, mivel a telefonom jól működik - volt -e probléma a Pi 3 hálózati adapterével, amiről nem hallottam? Egy gyors googleolás tájékoztatott, hogy a Pi 3 csak akkor talál wi-fi jelet, ha a router az 1-11 csatornán sugároz-az enyém a 13-as csatornára volt állítva! Néhány csípés később, és összeköttetésben voltunk, nagy megkönnyebbülés.

Ezután következett a különféle forgatókönyvek rendezése. Először módosítottam az AlexaPi kód main.py szkriptjét, és további sorokat adtam hozzá, hogy az indításkor a LED -ek villogása mellett a RabbitPi is kellemes fülmozgást végezzen. A szokásos "Hello" üzenetet lecseréltem egy játékos "boing" hanghatásra szórakozásból.

A második szkript neve rabbit.py (SWIDT?), És tartalmazza az összes kódot a gmail üzenetek lekéréséhez és a Pyvonával való felolvasásához. Hozzáadtam néhány Twython -kódot is, amelyet egy Raspberry Pi "Tweeting Babbage" bemutatójából adaptáltam, lehetővé téve a RabbitPi számára, hogy képet készítsen, és feltölthesse azt Twitter -fiókjába (@NabazPi). Hozzáadtam némi fülmozgást és LED-villanásokat, hogy tisztán figyelmeztessem Önt a fénykép készítésének időpontjára, valamint zársebet és Pyvona-olvasott tweet-megerősítést.

Végül hozzáadtam egy IF nyilatkozatot az imaplib gmail kódhoz, hogy ha az e -mail tárgya "szelfi" legyen, akkor a RabbitPi megteszi a szelfi dolgát, de egyébként normálisan olvassa fel az e -mail tárgyát.

Az általam használt kód elérhető a GitHubon - olvassa el a ReadMe fájlt!

Befejezésként kinyomtattam egy Raspberry Pi logót az átlátszó papírra, és beragasztottam a RabbitPi tokba, hogy a fehér pocak LED világítsa meg a képet áttetsző bőrén keresztül.

12. lépés: A Nabaztag visszatért

Nabaztag visszatért!
Nabaztag visszatért!
Nabaztag visszatért!
Nabaztag visszatért!
Nabaztag visszatért!
Nabaztag visszatért!

Miután minden elkészült, már csak a videó maradt hátra. Nagyon jó móka volt, hogy a RabbitPi -t kamerába léptette, az egyetlen hátránya az volt, hogy később a HD felvételeket szerkesztettem idős laptopomon. Néhány értesítésnél (főként szöveges üzenetekben, a szörnyű Vodafone jelzésem miatt) csökkentettem a szüneteket a cselekvés és az értesítés között, különben hosszú és unalmas videó lett volna, de a legtöbb a valódi válaszsebességet mutatja.

Kísérletet végeztem egy tapsoló érzékelővel az Alexa szolgáltatás aktiválásához (amint az a Snap to it Alexa videóban látható), de kihagytam a végleges felépítésből, mivel nem volt elég megbízható, ha háttérzaj volt. Tudom, hogy más bütykölők dolgoznak az infravörös távirányítók, a wii -vezérlők használatán és az aktív hallgatáson is az AlexaPi kóddal, így rengeteg lehetőség van a jövőre nézve.

Remélem, hogy adhatok egy adafruit neopixel gyűrűt a hasi LED helyett, mivel ez sokkal jobb vizuális értesítéseket eredményez, és szeretném figyelembe venni az éjszakai hangjelzések "elnémítását". Az én gyerekeim is nagyszerű javaslatokat tettek, és most, hogy kicsit jobban elsajátítom a Python használatát, együtt fogunk dolgozni az értesítések körének bővítésén, például úgy, hogy a szelfi megerősítő szövege véletlenszerűen kerüljön az értékek listájából, és így a nyúl utasítható, hogy próbálja meg táncolni a macarena fülét és LED -jeit.

Véletlenül van itt egy másik Nabaztag, valamint egy későbbi Karotz -nyúl, így lehet, hogy építek velük valami mást - csábító kísérletezni a távfelügyelet és mindenféle érzékelő segítségével! Ideális hardverplatform a Pi számára, tökéletes méretű tokjával, motorjaival és gombjával. Kíváncsi vagyok, hogy az eredeti gyártóknak van -e valahol eladatlan Nabaztag -készlete, például az Atari -hulladéklerakónak? Bizonyos 3D nyomtatott jósággal a kamera és a PI felszerelésére, valamint a motorok, LED-ek és hangok működtetéséhez szükséges egyedi sapkával ideális Raspberry Pi készítő készletet készítenének, minden kódoló klubnak rendelkeznie kell ilyennel!

Ha tetszik ez a projekt, és többet szeretne látni, nézze meg webhelyemet a folyamatban lévő projektfrissítésekről a bit.ly/OldTechNewSpec címen, csatlakozzon a Twitterhez @OldTechNewSpec, vagy iratkozzon fel a növekvő YouTube -csatornára a bit.ly/oldtechtube címen - give néhány régi technikádból új specifikáció!

A dolgok internete verseny 2016
A dolgok internete verseny 2016
A dolgok internete verseny 2016
A dolgok internete verseny 2016

Második helyezett a dolgok internete versenyen 2016

Ajánlott: