Indholdsfortegnelse:

RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 trin
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 trin

Video: RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 trin

Video: RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 trin
Video: Divi Chat Episode 144 - Leveraging Automation for Better Efficiency in Your Business 2024, November
Anonim
Image
Image
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant

Dette er en forældet 2005 Nabaztag "smart kanin", som jeg har ombygget til en moderne IoT Assistant ved hjælp af en Raspberry Pi 3 og en Adafruit Motor HAT, med en webcam mikrofon og en Philips Soundshooter højttaler, der er indeholdt i det søde originale etui. Det reagerer på knappen startede stemmekommandoer ved hjælp af Amazons Alexa -stemmetjeneste, der læste svarene op via den integrerede højttaler. Stemmekommandoer bruges også til at udløse IFTTT (If This Then That) opskrifter, til at interagere med andre internetforbundne enheder som smarte stikkontakter og mobiltelefoner. Ikke nok? Udover at udløse IFTTT-begivenheder modtager den dem også via Gmail ved hjælp af Ivona tekst-til-tale-motoren til at læse e-mail, tekstbeskeder og andre meddelelser, f.eks. Pollenadvarsler eller meddelelser fra et hjemmekamera. Sagde jeg, at det giver du visuel feedback med lysdioder og motoriserede ører? Åh, og det har et V2 Raspberry Pi-kamera i maven til at uploade stemmeaktiverede selfies til Twitter. Det er svært at beskrive Sødheden i RabbitPi i ord, tjek videoen for at se den i aktion!

Trin 1: En kort historie om smarte kaniner

En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner
En kort historie om smarte kaniner

Den originale Nabaztag "første smarte kanin" blev udgivet i 2005, faktureret som en hjemmehjælper (lyder velkendt Amazon og Google?) - det var uden tvivl den første "tingenes internet" ting og var på mange måder forud for sin tid, Jeg købte en med det samme. Den sad på vores kaminhylde og læste daglige vejrudsigter og lejlighedsvise notifikationer, men havde aldrig meget kapacitet og stolede på en WEP wi-fi-forbindelse og proprietær software og servere til at levere sine tekst-til-tale-tjenester (TTS). Det er svært at forestille sig nu, men dengang var der ikke så meget det kunne forbinde til, sociale medier var knap en ting, Nokia styrede smartphoneverdenen og LED -pærer var en dyr nyhed.

I de kommende år fulgte to yderligere versioner, Nabaztag: Tag og Karotz, der begge tilbød forbedret funktionalitet, men hverken fandt sin niche på markedet, i sidste ende svigtet af hardware- og softwarebegrænsninger. Skammen var, at så snart de understøttende servere blev slukket, blev de tidligere smarte kaniner lidt mere end ornamenter. Flere fællesskabsprojekter forsøgte at erstatte tjenesterne fra de "officielle" servere, og vi brugte "OpenKarotz" i et stykke tid, men også det så ud til at dø for et år eller to siden, hvilket efterlod mine kaniner tavse og ubevægelige oven på mine højttalere.

I hvert fald historielektion forbi! Resultatet er, at vi med glæde husker tilstedeværelsen af Nabaztag i vores stue, og jeg ville have det tilbage, men som en ordentlig moderne IoT -enhed.

Trin 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

Jeg blev inspireret til endelig at starte RabbitPi, da jeg i marts læste, at Amazon Alexa -taletjenesten var blevet stillet til rådighed for Raspberry Pi - nøglen var, at en knap var nødvendig for at aktivere "lytningen" - dette passede perfekt med Nabaztag, da den har en trykknap i flush med toppen af det skinnende lille hoved. Jeg demonterede min kanin og fik snart Sam Machins fremragende AlexaPi -kode kørt på min Pi 3, aktiveret ved at trykke på kaninens knap. På dette tidspunkt blev jeg totalt distraheret ved at bygge AlexaPhone, men sprang lige tilbage ned i det smarte rabbithole, så snart det var færdigt. Jeg havde brug for, at mit nye forbedrede Nabaztag var mindst lige så smart som originalen, så jeg ville have det til:

Udfør stemmesøgninger og læs resultater

Læs meddelelser op

Bevæg ørerne og blink lysdioder

Tag billeder, og tillad fjernovervågning

Interagere med smarte sokler, lyspærer og så videre

Trin 3: Bunny Chop

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

Det første job var at afmontere Nabaztag og se, hvilke dele der kunne genbruges. Ørene er designet til at kunne udskiftes og kun holdes med magneter, så det var let, og hoveddækslet blev kun holdt af to (bizarre trekantede) skruer. Dette afslørede alle kredsløb og komponenter, bygget omkring en central plastsøjle. Den ene side indeholdt hovedkredsløbet og lysdioder, med en højttaler på den anden side og motorer/knap indlejret i søjlen øverst.

Da jeg kun planlagde at beholde motorerne, sneg jeg gennem de fleste kabler og begyndte at tage skruer ud. Jeg fik en virkelig overraskelse på dette tidspunkt! Bag kaninens "hjerne" kredsløb var en slot, der kørte i hele søjlens højde, der indeholdt et PCMCIA wi-fi-kort i fuld størrelse, den slags du ville bruge i gamle bærbare computere. Jeg formoder, at det var et design- eller kompatibilitetskompromis på det tidspunkt, men at sammenligne det i størrelse med en moderne USB -dongle bragte virkelig hjem, hvor meget teknologi der er skrumpet ind i løbet af 10 år.

Resten af delene blev let fjernet og efterlod bare den nøgne plaststøtte med sikkert masser af plads omkring det?

Trin 4: Tale og lytte

Taler og lytter
Taler og lytter
Taler og lytter
Taler og lytter
Taler og lytter
Taler og lytter

Du kan ikke have en stemmestyret talende kanin uden en højttaler og mikrofon, så det var blandt de første ting, jeg fik ordnet. Jeg behøvede ikke rigtig at prøve særlig meget, Pi ser ud til at være meget fleksibel med hensyn til USB -mikrofoner, og jeg brugte lige et gammelt MSI StarCam Clip -webcam til indgangen og justerede lydniveauet til Max i Pi -lydindstillingerne. For at spare plads demonterede jeg webkameraet, kasserede kameralinsen og etuiet. Jeg borede et hul i basen, så mikrofonen kunne stikke igennem og sluttede den til Pi's USB, og kørte kablerne så pænt som muligt.

Jeg brugte KitSound MiniBuddy-højttaleren i AlexaPhone, da det viste sig virkelig effektivt, men da jeg gik til at købe en til dette projekt, fandt jeg ud af, at designet var blevet ændret, og de blev ikke længere opladet ved hjælp af et mikro-usb-stik! Jeg kiggede rundt efter noget lignende og fandt på Philips SoundShooter, en lille håndgranatlignende enhed. Jeg havde håbet, at den ville passe i kassen uden at demontere, men den var alt for stor, så skruetrækkeren kom ud for at demontere den. Det lykkedes mig at snappe højttalerkablerne i processen, så loddet i nogle jumperkabler for at gøre det lettere at tilslutte igen. Denne højttalerdel blev limet fast til sagen på samme sted som den originale højttaler, med kredsløbet og batteriet fastgjort til den lille hylde under den.

Set i bakspejlet ville jeg ønske, at jeg bare havde brugt tarmene på en netdrevet højttalerdock eller noget i stedet, da det ikke er ideelt at skulle oplade højttaleren - stadig holder den virkelig længe og lyder godt, og som hoveddæksel løfter let af, det er egentlig ikke et show-stop problem.

Trin 5: Læsning som kaniner

Læser som kaniner
Læser som kaniner
Læser som kaniner
Læser som kaniner

Nu da Alexa -delen fungerede, gik jeg videre til at løse det næste problem, hvordan ville jeg få kaninen til at læse meddelelser op? Tekst-til-talen i det originale Nabaztag var overraskende godt, selvom jeg husker, at det altid læste mine tekstbeskeder (MM) op som "Millimeter" og min kones (CM) som "Centimeter"-jeg ville bruge en moderne og naturligt lydende motor, der ville fortolke ting som "&" symbolet ordentligt og forstå simple humørikoner som:).

Som med alt på Raspberry Pi er der masser af forskellige muligheder derude, og jeg kiggede på flere, før jeg besluttede mig for Ivona, som ser ud til at være den samme underliggende motor, der bruges af Alexa -tjenesten. Det var den bedste mulighed for mig, da der er en række tilgængelige stemmer og konfigurationsmuligheder - også et stort plus var, at Zachary Bears havde stillet en praktisk Python -indpakning til rådighed for tjenesten, Pyvona.

For at komme i gang med Ivona skal du først oprette en udviklerkonto, derefter ligesom med Alexa -opsætningen, får du derefter legitimationsoplysninger til at bruge i din applikation, i dette tilfælde et script til at læse meddelelser op. Du har lov til 50.000 søgninger om måneden med en af disse konti, hvilket helt sikkert er rigeligt for mig.

Pyvona -opsætningen var virkelig ligetil, inden for få minutter havde jeg et Python -script oprettet ud fra det medfølgende eksempel, der ville læse enhver sætning, jeg skrev ind. Men det var naturligvis kun delvist løsningen - jeg ville ikke have, at Ivona læste hårdt kodet op tekst, men dynamiske indgående meddelelser.

Trin 6: Sig hvad?

Hvad siger du?
Hvad siger du?
Hvad siger du?
Hvad siger du?

Så jeg havde nu en kanin (i stykker over hele bænken), der kunne tale, men den havde brug for en mekanisme til at modtage meddelelser og sende dem til Ivona -tjenesten for at blive læst op. Jeg kiggede på muligheden for tekstbeskeder via en onlinetjeneste eller SIM-kortadapter, og også Twitter og Dropbox til levering af tekststrenge/filer, men besluttede mig endelig for at bruge imaplib, et Python-baseret middel til at interagere med IMAP-e-mail-konti. Jeg besluttede mig for denne mulighed hovedsageligt fordi den integrerede godt med IFTTT -tjenesten, du kan være virkelig kreativ med formateringen af meddelelses -e -mails. Det betød også, at jeg kunne sende e -mails direkte til RabbitPi for at blive læst højt.

Jeg kiggede igennem masser af imaplib python -eksempler online, og efter at have kombineret bit og stykker og gennemarbejdet imaplib -dokumentationen lykkedes det mig at ende med et script, der kontrollerede Gmail for ulæste meddelelser med jævne mellemrum og udskrive forskellig tekst på skærmen afhængigt af indholdet i beskedens emne. Dette var virkelig praktisk, da jeg kunne tilpasse en "HVIS" erklæring i koden til kun at fungere, hvis e -mailen kom fra mig selv og derefter skifte handling "Udskriv" for koden, der ringer til Ivona -tjenesten.

Jeg brugte et stykke tid på at tilpasse imaplib & Pyvona -koden til at læse brødteksten af e -mails, men dette viste sig at være ekstremt kompliceret - jeg lærte hurtigt, at de centrale e -mailfelter (Fra, Til, Emne osv.) Er formateret meget enkelt, men den brødtekst til e -mail kan struktureres på mange forskellige måder. I sidste ende gjorde det ikke rigtig noget, jeg var i stand til at opnå det, jeg havde brug for, ved at bruge e -mail -emnet som feltet, som meddelelsesteksten ville blive læst fra.

Jeg tilpassede derefter imaplib -kodeeksemplet, så det i stedet for at stoppe efter hver kontrol af e -mail ville gå rundt i det uendelige, tjekke e -mails et par gange i minuttet og aflæse nye stort set, da de ankom. Dette var nyttigt til test, men i praksis ville jeg nok få det til at tjekke lidt sjældnere. Det er også værd at bemærke, at scriptet gemmer adgangskoden i ren tekst, så der skal tilføjes kryptering på et tidspunkt.

Jeg er 100% sikker på, at dette kan opnås meget mere elegant og effektivt i Python, men det var sjovt og udfordrende at få det til at fungere - jeg lånte "Python for Kids" fra biblioteket i denne uge, så min kode forhåbentlig forbedres efterhånden som jeg lærer mere.

Med det grundlæggende få-en-e-mail-og-læs-det-ud-script, der fungerede, tilføjede jeg de ekstra bits kode, der ville få kaninens ører til at bevæge sig og lysdioder lyser, mens de læste meddelelserne. Koden, jeg brugte, er på GitHub, men husk min nuværende mangel på python -dygtighed!

Trin 7: HAT til RabbitPi

HAT til RabbitPi
HAT til RabbitPi
En hat til RabbitPi
En hat til RabbitPi
En hat til RabbitPi
En hat til RabbitPi
En hat til RabbitPi
En hat til RabbitPi

En af de mest ikoniske ting ved Nabaztag var den måde, den ville bevæge ørerne på, når der kom en meddelelse. De kunne indstilles til en bestemt retning enten ved at manuelt flytte dem eller ved at indstille en position ved hjælp af kontrolsoftwaren - mit mål var bare for at få dem til at bevæge sig.

Jeg havde ikke brugt motorer med Raspberry Pi før, så dette var et andet nyt forskningsemne for mig - først skulle jeg finde ud af, hvilken slags motorer jeg havde at gøre med, alt hvad jeg vidste var, at der var 2 motorer, hver med 2 ledninger. Jeg læste online, og jeg konkluderede, at disse må være ligetil DC -motorer frem for stepper -motorer, en kendsgerning bekræftet af denne fantastisk nyttige instruerbare "Hack the Nabaztag" af Liana_B, som jeg ville ønske, jeg havde læst cirka en måned tidligere.

Endnu en gang takket være Pi's fleksibilitet er der mange forskellige måder motorerne kan styres på, men jeg besluttede at bruge et Adafruit DC & Stepper Motor HAT -kort. Jeg har brugt Adafruit skærme og nips før, og jeg elsker de detaljerede instruktioner og eksempler, der kommer som standard.

Ved hjælp af et bræt med HAT (Hardware Attached on Top) -standarden betød, at motorkontrolleren ville passe ryddeligt oven på Pi'en og optage minimal plads, og fordi den bruger I2C -grænsefladen, efterlod den GPIO -benene, jeg havde brug for til Alexa/Clap, fri knap og lysdioder.

Som forventet lodning HAT sammen var virkelig ligetil, og jeg fik snart det monteret på PI og tilsluttet til de to øret motorer. Jeg havde planlagt at køre motorerne fra en usb powerbank, så jeg kun skulle bruge et enkelt strømstik, men det viste sig ikke at have nok grynt, det ville ikke engang tænde "Working" -lyset på HAT. Jeg besluttede mig i stedet for at bruge en jævnstrømsadapter til at køre HAT og ører, jeg havde bekvemt en af de universelle med udskiftelige tips til rådighed. Hvad jeg ikke havde, var en DC -stikkontakt til at slutte adapteren til HAT. Jeg var ved at rejse til Norwich Maplin (igen), da jeg fra nedrivningen huskede, at Nabaztag's originale netledning var et standard DC -stik - derfor kunne jeg bare omstille den originale stikkontakt til HAT - pænt! Til sidst genbrugte jeg også den originale Nabaztag-strømforsyning, da den gav den helt rigtige mængde strøm.

Da alt var forbundet og en fornuftig spænding valgt, kørte jeg foreløbigt python -eksemplet, der fulgte med DC Motor Hat, prøvekode, der konstant ændrede motorens hastighed og retning for at illustrere de forskellige kontrolmuligheder. Jeg var så begejstret da det virkede, min første Pi-kontrollerede motor! Men så lagde jeg mærke til noget - et virkelig højt højlydt klynk som en, der kørte en våd finger rundt om et vinglas. Dette var slet ikke godt, jeg ønskede at få ørerne til at bevæge sig, mens notifikationer blev læst, og selvom det ikke var øredøvende, var klynken virkelig mærkbar. Jeg prøvede forskellige spændinger, men ingen ændring. Ved at vende mig til Google fandt jeg ud af, at dette kan ske på grund af PWM (pulsbreddemodulation), og at et middel kan være at lodde små kondensatorer på tværs af motorterminalerne. Ser man på motorerne var disse allerede på plads. Jeg eksperimenterede også med at ændre PWM -frekvensen, men stadig ingen ændring. Efter nogle eksperimenteringer indså jeg, at sutren kun skete, da motorens hastighed blev ændret af koden fra lav til høj - så indstilling af den til en konstant høj hastighed eliminerede klynken helt - puh!

Jeg lavede et par testpython -scripts baseret på Adafruit -eksemplerne, et til bevægelse under meddelelser og et andet for at få ørerne til at udføre et fuldt "kredsløb" ved opstart med det formål at kopiere arbejdskoden fra disse til de vigtigste scripts, der bruges til at håndtere Alexa og Gmail/Ivona interaktioner.

Trin 8: Kamera og tweaks

Kamera og tweaks
Kamera og tweaks
Kamera og tweaks
Kamera og tweaks
Kamera og tweaks
Kamera og tweaks

Inden montering begyndte testede jeg alt. Hvor det var muligt på denne build brugte jeg jumperkabler til at forbinde de enkelte komponenter sammen, hvis tidligere builds har lært mig noget, er det at planlægge for fremtidig demontering! Jeg lagde også vægt på at tegne et tilslutningsdiagram, der viste, hvilke farvekabler der gik, hvor jumperkabler er fremragende, men nogle gange let løsnes, når komponenter strammes ind i trange rum!

Jeg besluttede mig temmelig langt inde i bygningen for også at inkludere et Pi Camera -modul, 8MP version 2 var lige blevet frigivet, og som noget andet nyt for mig troede jeg, at det ville være en god tilføjelse. Den seneste version af Karotz kaninen havde inkluderet et webcam i maven, men det fungerede aldrig så godt, jeg troede, at Pi-kameraet ville være sjovt for stemmeaktiverede selfies og måske endda fjernovervågning, hvis Pi kunne klare at køre koden kl. samtidig med alt andet.

Jeg byggede et beslag til kameraet ud af plastdækket meccano og monterede det først i sagen, derefter målte jeg meget omhyggeligt, hvor jeg havde brug for at bore det forsænkede hul i sagen. Dette var helt sikkert et tilfælde af "foranstaltning, der blev skåret to gange en gang", da et hul på det forkerte sted ville have været en katastrofe. Heldigvis kom det dødt ud og bare lidt for højt, så jeg var i stand til at kompensere ved at tilføje skiver mellem kamerabeslaget og basen.

Jeg tilføjede også et Pimoroni Dual Micro USB -strømkabel på dette tidspunkt - dette gav mig en dejlig mikro -usb -stik på bagsiden af kabinettet og gav et andet strømstik. Jeg havde til hensigt at bruge det ekstra stik til at oplade højttalerens batteri og brød ind i det, så jeg kunne tilslutte Nabaztag's originale "mute" -kontakt for at styre opladningen.

Trin 9: Hvad er Cookin 'Doc? IFTTT opskrifter

Hvad er Cookin 'Doc? IFTTT opskrifter!
Hvad er Cookin 'Doc? IFTTT opskrifter!
Hvad er Cookin 'Doc? IFTTT opskrifter!
Hvad er Cookin 'Doc? IFTTT opskrifter!

Det fænomenale ved at bygge en IoT -enhed lige nu er det store antal webtjenester, der er tilgængelige, og IFTTT (If This Then That) -tjenesten gør et fantastisk stykke arbejde med at binde dem alle sammen i en ligetil og funktionel pakke. Hvis du ikke har brugt det endnu, er det en onlinetjeneste, og når du har tilmeldt dig, kan du forbinde alle dine andre webbaserede ting til det, som Gmail, Facebook, Twitter og (du gættede det) Amazon Alexa. Der er et totalt bord af tjenester at vælge imellem, inklusive kontrolmuligheder til smarte apparater som pærer, termostater og stikkontakter.

IFTTT -reglerne er sat op i "opskrifter" - lidt som en Outlook -regel eller en IF -sætning i SQL eller Visual Basic, for eksempel har jeg en opskrift, der siger "HVIS nogen mærker mig på et foto på Facebook SÅ send mig en e -mail med emnet "Holy guacamole, [tagging persons name] tagged you just in a facebook photo" - fordi dette sendes til mig fra min egen adresse, læser RabbitPi derefter emneteksten.

En anden stor brug af IFTTT er med Alexa -stemmetjenesten - for IF -delen af en opskrift kan du oprette en sætning, for eksempel "laseren", og hvis du derefter siger til Alexa "Udløs laseren", sender hun anmodningen til IFTTT, som vil affyre THEN -delen af opskriften, aktiverer i dette tilfælde en fjernbetjening, der er tilsluttet en diskolaser.

Det går endda ud over "smarte ting" - hvis du har IFTTT installeret på din telefon (min er Android -versionen), så kan du interagere med den i begge retninger, en opskrift, der bruges i videoen, er: "HVIS jeg siger" Trigger Chas & Dave "til Alexa, SPIL SÅ den specifikke sang" Rabbit "på min Android -telefon. Det fungerer også omvendt - AnyMote universal fjernbetjeningsappen på min telefon kan tilpasses, så en bestemt knap med trigger" HVIS "-delen af en opskrift - så jeg har en knap på min skærm, der udløser RabbitPi til at tage en selfie og uploade den til Twitter.

En anden funktion gør det muligt for RabbitPi at læse mine tekstbeskeder op, på min telefon har jeg en opskrift "HVIS jeg modtager en ny SMS -besked, så send mig selv en e -mail med følgende emne" Hej! [tekstafsender] siger [tekstbeskedtekst]"

Det er let at bruge, meget sjovt og fungerer godt, meddelelser sendes hurtigt frem og tilbage, især til WeMo Insight -kontakten, jeg har, hvilket er stort set øjeblikkeligt. At have IFTTT og RabbitPi gør forbindelsen mellem ting og tjenester virkelig ligetil.

Trin 10: Montering og test

Montering og test
Montering og test
Montering og test
Montering og test
Montering og test
Montering og test

Nu kom den vanskelige del - at proppe alle komponenterne ind i sagen! Jeg var ret sikker på, at det hele ville passe, men den faktiske samling var virkelig besværlig, jeg brugte godt nogle kirurgiske instrumenter og en pincet til at stikke kabler gennem små huller.

Når alt var sikkert monteret, tilføjede jeg nogle selvklæbende kabelbinderbaser, så de mange ledninger kunne trækkes ordentligt sammen - dette var virkelig vigtigt, da jeg ikke ved et uheld ville trække stikket ud af dem, når jeg satte sagen sammen igen.

Trin 11: Klar kanin?

Klar kanin?
Klar kanin?
Klar kanin?
Klar kanin?
Klar kanin?
Klar kanin?
Klar kanin?
Klar kanin?

Nu hvor hele den fysiske byggeside var færdig, var det tid til at "klippe ledningen", fjerne RabbitPi fra komforten med dets ethernetkabel, skærm og tastatur i værkstedet, så jeg kunne afslutte koden andre steder via SSH (Det trådløse signal er virkelig svag derinde!)

Slog mig ned på skrivebordet på mit kontor, jeg startede kaninen op og - ingen wi -fi forbindelse overhovedet, ingenting. Jeg vidste, at der skulle være et signal, da min telefon fungerede fint - var der et problem med netværksadapteren på Pi 3, som jeg ikke havde hørt om? En hurtig smule googling informerede mig om, at Pi 3 kun vil finde et wi-fi-signal, hvis routeren sender på kanal 1-11-min var sat til kanal 13! Et par tweaks senere, og vi var forbundet, stort lettet suk.

Dernæst kom sortering af de forskellige scripts. For det første ændrede jeg main.py -scriptet til AlexaPi -koden og tilføjede ekstra linjer, så udover at LED'erne blinker ved opstart, ville RabbitPi også udføre et godt øre -wiggle. Jeg erstattede også standard "Hej" -beskeden med en legende "boing" lydeffekt for sjov.

Det andet script kaldes rabbit.py (SWIDT?) Og indeholder al koden til at hente gmail -beskeder og læse dem ud med Pyvona. Jeg tilføjede også nogle Twython -kode, som jeg tilpassede fra en Raspberry Pi "Tweeting Babbage" -tutorial, så RabbitPi kunne tage et billede og uploade det til sin Twitter -konto (@NabazPi). Jeg tilføjede noget ørebevægelse og LED-blink for at give dig en rimelig advarsel, når billedet skal tages, samt en lukkerstøj og Pyvona-læst tweet-bekræftelse.

Endelig tilføjede jeg i en IF -erklæring til imaplib gmail -koden, så hvis e -mail -emnet var "selfie", ville RabbitPi gøre sin selfie -ting, men ellers ville læse e -mail -emnet som normalt.

Koden, jeg brugte, er tilgængelig på GitHub - læs ReadMe -filen!

Som en sidste hånd udskrev jeg et Raspberry Pi -logo på gennemsigtighedspapir og limede det inde i RabbitPi -kassen, så den hvide mave -LED ville belyse billedet gennem dets gennemsigtige hud.

Trin 12: Nabaztag er tilbage

Nabaztag er tilbage!
Nabaztag er tilbage!
Nabaztag er tilbage!
Nabaztag er tilbage!
Nabaztag er tilbage!
Nabaztag er tilbage!

Med alt gjort var der bare videoen tilbage at lave. Det var meget sjovt at sætte RabbitPi gennem sine skridt på kameraet, den eneste ulempe var at redigere HD -optagelserne på min ældre bærbare computer senere. For nogle af meddelelserne (hovedsageligt tekstbeskeder på grund af mit frygtelige Vodafone -signal) har jeg nedlagt pauserne mellem handling og meddelelse, eller det ville have været en lang og kedelig video, men det meste viser den sande reaktionshastighed.

Jeg eksperimenterede med at bruge en klapsensor til at udløse Alexa -tjenesten (som det ses i Snap to it Alexa -videoen), men forlod den ude af den endelige opbygning, da den ikke var virkelig pålidelig nok, når der var baggrundsstøj. Jeg ved, at andre tinkerere arbejder på at bruge IR -fjernbetjeninger, wii -controllere og endda aktiv lytning med AlexaPi -koden, så der er masser af muligheder for fremtiden.

Jeg håber at tilføje en adafruit neopixelring til at erstatte maven LED, da dette ville give meget bedre visuelle meddelelser, også vil jeg gerne medregne til at "dæmpe" stemmemeddelelserne om natten. Mine børn kom også med nogle gode forslag, og nu hvor jeg er lidt mere tryg ved Python, arbejder vi sammen for at udvide rækkevidden af meddelelser, f.eks. Så selfiebekræftelsesteksten er taget fra en liste med værdier tilfældigt, og så kaninen kan instrueres i at forsøge at danse macarenaen med sine ører og lysdioder.

Jeg har tilfældigvis endnu en Nabaztag her, såvel som en senere Karotz kanin, så jeg kan godt bygge noget andet med dem - det er fristende at eksperimentere med fjernovervågning og sensorer af enhver art! Det er en ideel hardwareplatform til Pi med sin kasse, motorer og knap i perfekt størrelse. Mon ikke de originale producenter har et lager af usolgte Nabaztags et sted, som f.eks. Atari -lossepladsen? Sikkert med noget 3d-printet godhed til montering af kameraet og PI og en brugerdefineret HAT til at køre motorer, lysdioder og lyd ville de være et ideelt Raspberry Pi maker kit, hver kodningsklub skulle have en!

Hvis du kan lide dette projekt og vil se mere, kan du tjekke mit websted for igangværende projektopdateringer på bit.ly/OldTechNewSpec, deltage på Twitter @OldTechNewSpec eller abonnere på den voksende YouTube -kanal på bit.ly/oldtechtube - giv nogle af dine Old Tech en ny specifikation!

Tingenes internetkonkurrence 2016
Tingenes internetkonkurrence 2016
Tingenes internetkonkurrence 2016
Tingenes internetkonkurrence 2016

Runner Up i Internet of Things Contest 2016

Anbefalede: