Innholdsfortegnelse:

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

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

Video: RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 trinn
Video: RabbitPi - The Raspberry Pi Digital Assistant 2024, Desember
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 utdatert Nabaztag "smart kanin" fra 2005 som jeg har bygget om til en moderne IoT -assistent ved hjelp av en Raspberry Pi 3 og en Adafruit Motor HAT, med en webkamera -mikrofon og en Philips Soundshooter -høyttaler i den søte originale saken. Den reagerer på knappen startet talekommandoer ved hjelp av Amazons Alexa -taletjeneste, og leser opp svarene via den integrerte høyttaleren. Talekommandoer brukes også til å utløse IFTTT (If This Then That) oppskrifter, for å samhandle med andre internett-tilkoblede enheter som smarte stikkontakter og mobiltelefoner. Ikke nok? I tillegg til å utløse IFTTT-hendelser mottar den dem også via Gmail, ved hjelp av Ivona tekst-til-tale-motor for å lese opp e-post, tekstmeldinger og andre varsler, for eksempel pollenvarsler eller varsler fra et hjemmekamera. Nevnte jeg det gir du visuell tilbakemelding med lysdioder og motoriserte ører? Oh, og det har et V2 Raspberry Pi-kamera i magen for å laste opp stemmeaktiverte selfies til Twitter. Det er vanskelig å beskrive søtheten til RabbitPi med ord, sjekk ut videoen for å se den i aksjon!

Trinn 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 kaninen" ble utgitt i 2005, regnet som en hjemmehjelper (høres kjent ut Amazon og Google?) - uten tvil var det den første "tingenes internett" og var på mange måter i forkant av sin tid, Jeg kjøpte en med en gang. Den satt på kaminhyllen vår og leste opp daglige værmeldinger og sporadiske varsler, men hadde aldri mye kapasitet, og stolte på en WEP wi-fi-tilkobling og proprietær programvare og servere for å tilby sine tekst-til-tale-tjenester (TTS). Det er vanskelig å forestille seg nå, men den gangen var det ikke så mye det kunne koble seg til, sosiale medier var knapt en ting, Nokia styrte smarttelefonverdenen og LED -lyspærer var en dyr nyhet.

I de kommende årene fulgte to ytterligere versjoner, Nabaztag: Tag og Karotz, som begge ga forbedret funksjonalitet, men ingen av dem fant sin nisje på markedet, til slutt sviktet av maskinvare- og programvarebegrensninger. Skammen var at så snart de støttende serverne ble slått av ble de tidligere smarte kaninene litt mer enn ornamenter. Flere samfunnsprosjekter prøvde å erstatte tjenestene til de "offisielle" serverne, og vi brukte "OpenKarotz" en stund, men også dette så ut til å dø av for et eller to år siden, og etterlot kaninene mine stille og urørlige på høyttalerne mine.

Uansett historieleksjon over! Resultatet er at vi med glede husker tilstedeværelsen av Nabaztag i stua vår, og jeg ville ha den tilbake, men som en skikkelig moderne IoT -enhet.

Trinn 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

Jeg ble inspirert til endelig å starte RabbitPi da jeg i mars leste at Amazon Alexa -taletjenesten hadde blitt gjort tilgjengelig for Raspberry Pi - nøkkelen var at det var nødvendig med en knapp for å aktivere "lyttingen" - dette passet perfekt med Nabaztag, ettersom den har en trykknapp flush med toppen av det skinnende lille hodet. Jeg demonterte kaninen min og fikk snart Sam Machins utmerkede AlexaPi -kode på Pi 3, aktivert ved å trykke på kaninknappen. På dette tidspunktet ble jeg totalt distrahert av å bygge AlexaPhone, men hoppet rett ned igjen det smarte rabbithole så snart det var ferdig. Jeg trengte min nye forbedrede Nabaztag for å være minst like smart som originalen, så jeg ville at den skulle:

Utfør stemmesøk og les opp resultatene

Les opp varsler

Beveg ørene og blink lysdioder

Ta bilder og tillat fjernovervåking

Samhandle med smarte stikkontakter, lyspærer og så videre

Trinn 3: Bunny Chop

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

Den første jobben var å demontere Nabaztag og se hvilke deler som kan gjenbrukes. Ørene er designet for å være utskiftbare og bare holdt med magneter, så det var enkelt, og hoveddekselet ble bare holdt av to (bisarre trekantede) skruer. Dette avslørte alle kretser og komponenter, bygget rundt en sentral plaststolpe. Den ene siden holdt hovedkretsen og lysdioder, med en høyttaler på den andre siden og motorer/knapp innebygd i søylen øverst.

Da jeg bare planla å beholde motorene, snek jeg meg gjennom de fleste kablene og begynte å ta ut skruer. Jeg fikk en skikkelig overraskelse på dette tidspunktet! Bak kaninens "hjerne" -krets var det et spor som kjørte i hele høyden på søylen, som inneholdt et PCMCIA wi-fi-kort i full størrelse, den typen du vil bruke i gamle bærbare datamaskiner. Jeg antar at det var et kompromiss om design eller kompatibilitet den gangen, men å sammenligne det i størrelse med en moderne USB -dongle brakte virkelig hjem hvor mye teknologi som har krympet i løpet av 10 år.

Resten av delene ble lett fjernet, og bare den plastiske støttestøtten etterlot seg med god plass rundt den?

Trinn 4: Snakk og lytt

Snakker og lytter
Snakker og lytter
Snakker og lytter
Snakker og lytter
Snakker og lytter
Snakker og lytter

Du kan ikke ha en talestyrt kontrollert kanin uten høyttaler og mikrofon, så dette var blant de første tingene jeg ordnet opp. Jeg trengte egentlig ikke å prøve veldig hardt, Pi ser ut til å være veldig fleksibel med hensyn til USB -mikrofoner, og jeg brukte nettopp et gammelt MSI StarCam Clip -webkamera for inngangen, og justerte lydnivået til Max i Pi -lydinnstillingene. For å spare plass demonterte jeg webkameraet og kastet kameralinsen og etuiet. Jeg boret et hull i basen for mikrofonen for å stikke gjennom og koblet den til Pi -USB -en, og førte kablene så pent som mulig.

Jeg brukte KitSound MiniBuddy-høyttaleren i AlexaPhone, da det viste seg virkelig effektivt, men da jeg gikk for å kjøpe en for dette prosjektet, fant jeg ut at designet hadde blitt endret og at de ikke lenger ble ladet ved hjelp av en mikro-usb-kontakt! Jeg så meg rundt etter noe lignende og fant på Philips SoundShooter, en liten håndgranatlignende enhet. Jeg hadde håpet at den ville passe inn i saken uten å demontere, men den var altfor stor, så skrutrekkeren kom ut for å demontere den. Jeg klarte å knipse høyttalertrådene i prosessen, så loddet i noen startkabler for å gjøre det lettere å koble til igjen. Denne høyttalerdelen ble varmlimt på saken på samme sted som den originale høyttaleren, med kretsen og batteriet festet til den lille hyllen under den.

I ettertid skulle jeg ønske jeg bare hadde brukt tarmene til en nettdrevet høyttaler dock eller noe i stedet, ettersom det ikke er ideelt å måtte lade opp høyttaleren - det varer fortsatt veldig lenge og høres bra ut, og som hoveddeksel løfter lett av, det er egentlig ikke et show-stopp-problem.

Trinn 5: Lese som kaniner

Lese som kaniner
Lese som kaniner
Lese som kaniner
Lese som kaniner

Nå som Alexa -delen fungerte, fortsatte jeg med å løse det neste problemet, hvordan skulle jeg få kaninen til å lese opp varsler? Tekst-til-talen til den originale Nabaztag var overraskende bra, selv om jeg husker at den alltid leste opp tekstmeldingen min (MM) som "Millimeter" og min kones (CM) som "centimeter"-jeg ønsket å bruke en moderne og naturlig lydende motor som ville tolke ting som "&" -symbolet riktig og forstå enkle uttrykksikoner som:).

Som med alt på Raspberry Pi er det mange forskjellige alternativer der ute, og jeg så på flere før jeg bestemte meg for Ivona, som ser ut til å være den samme underliggende motoren som ble brukt av Alexa -tjenesten. Det var det beste alternativet for meg ettersom det finnes en rekke tilgjengelige stemmer og konfigurasjonsalternativer - også et stort pluss var at Zachary Bears hadde tilgjengeliggjort en praktisk Python -innpakning for tjenesten, Pyvona.

For å komme i gang med Ivona må du først sette opp en utviklerkonto, så akkurat som med Alexa -oppsettet får du deretter legitimasjon for å bruke i applikasjonen din, i dette tilfellet et skript for å lese opp varsler. Du får 50 000 søk i måneden med en av disse kontoene, noe som absolutt er nok for meg.

Pyvona -oppsettet var veldig enkelt, i løpet av få minutter hadde jeg laget et Python -skript fra eksemplet som ville lese opp en setning jeg skrev inn. Men det var selvfølgelig bare delvis løsningen - jeg ville ikke at Ivona skulle lese hardkodet tekst, men dynamiske innkommende varsler.

Trinn 6: Si hva?

Hva sa du?
Hva sa du?
Hva sa du?
Hva sa du?

Så jeg hadde nå en kanin (i biter over hele benken) som kunne snakke, men den trengte en mekanisme for å motta varsler og sende dem til Ivona -tjenesten for å bli lest opp. Jeg så på muligheten for tekstmeldinger via en online-tjeneste eller SIM-kortadapter, og også Twitter og Dropbox for levering av tekststrenger/filer, men bestemte meg til slutt for å bruke imaplib, et Python-basert middel for interaksjon med IMAP-e-postkontoer. Jeg bestemte meg for dette alternativet hovedsakelig fordi det integrerte godt med IFTTT -tjenesten, du kan være veldig kreativ med formateringen av varsel -e -postmeldinger. Det betydde også at jeg kunne sende e -post direkte til RabbitPi for å bli lest høyt.

Jeg så gjennom mange imaplib python -eksempler på nettet, og etter å ha kombinert biter og biter og gjennomgått imaplib -dokumentasjonen klarte jeg å ende opp med et skript som sjekket Gmail for uleste meldinger med jevne mellomrom og skrev ut forskjellig tekst på skjermen avhengig av innholdet i meldingsemnet. Dette var veldig praktisk, ettersom jeg kunne tilpasse en "IF" -erklæring i koden til å fungere bare hvis e -posten kom fra meg selv, og deretter bytte ut "Skriv ut" -handling for koden som ringer Ivona -tjenesten.

Jeg brukte en god stund på å tilpasse imaplib & Pyvona -koden for å lese ut mengden e -poster, men dette viste seg å være ekstremt komplisert - jeg lærte snart at kjerne -e -postfeltene (Fra, Til, Emne osv.) Er formatert veldig enkelt, men den e -postteksten kan struktureres på mange forskjellige måter. Til slutt spilte det egentlig ingen rolle, jeg klarte å oppnå det jeg trengte ved å bruke e -postemnet som feltet som varselsteksten skulle leses fra.

Jeg tilpasset deretter imaplib -kodeeksemplet slik at det i stedet for å stoppe etter hver sjekk for e -post ville gå rundt uendelig, se etter e -post et par ganger i minuttet og lese opp nye stort sett når de kom. Dette var nyttig for testing, men i praksis ville jeg sannsynligvis få det til å sjekke litt sjeldnere. Det er også verdt å merke seg at skriptet lagrer passordet i ren tekst, så det vil trenge litt kryptering på et tidspunkt.

Jeg er 100% sikker på at dette kan oppnås mye mer elegant og effektivt i Python, men det var morsomt og utfordrende å få det til å fungere i det hele tatt - jeg lånte "Python for Kids" fra biblioteket denne uken, så koden min vil forhåpentligvis bli bedre etter hvert som jeg lærer mer.

Med det grunnleggende få-en-e-post-og-les-det-ut-skriptet som fungerte, la jeg til de ekstra kodene som ville få kaninens ører til å bevege seg og lysdioder lyser mens du leser varslene. Koden jeg brukte er på GitHub, men vær oppmerksom på min nåværende mangel på python -dyktighet!

Trinn 7: En lue for RabbitPi

En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi
En lue for RabbitPi

En av de mest ikoniske tingene med Nabaztag var måten den ville bevege ørene på når et varsel kom inn. De kan settes til en bestemt retning enten ved å flytte dem manuelt eller ved å angi en posisjon ved hjelp av kontrollprogramvaren - mitt mål var bare for å få dem til å bevege seg.

Jeg hadde ikke brukt motorer med Raspberry Pi før, så dette var et nytt forskningsemne for meg - først trengte jeg å finne ut hva slags motorer jeg hadde å gjøre med, alt jeg visste var at det var 2 motorer, hver med 2 ledninger. Etter å ha lest på nettet konkluderte jeg med at disse må være enkle DC -motorer i stedet for steppermotorer, et faktum bekreftet av denne utrolig hjelpsomme, instruerbare "Hack the Nabaztag" av Liana_B, som jeg skulle ønske jeg hadde lest omtrent en måned tidligere.

Nok en gang takket være Pi -fleksibiliteten er det mange forskjellige måter motorene kan styres på, men jeg bestemte meg for å bruke et Adafruit DC & Stepper Motor HAT -kort. Jeg har brukt Adafruit -skjermer og pyntegjenstander før, og jeg elsker de detaljerte instruksjonene og eksemplene som kommer som standard.

Ved å bruke et brett med HAT -standarden (maskinvare festet på toppen) betydde motorstyreenheten å passe godt på toppen av Pi og ta minimalt med plass, og fordi den bruker I2C -grensesnittet, forlot den GPIO -pinnene jeg trengte for Alexa/Clap knapp og lysdioder.

Som forventet lodding av HAT sammen var veldig grei, og jeg fikk den snart montert på PI og koblet til de to øremotorene. Jeg hadde planlagt å kjøre motorene fra en usb power bank slik at jeg bare trengte en enkelt strømplugg, men dette viste seg ikke å ha nok grynt, det ville ikke engang lyse opp "Working" -lyset på HATEN. Jeg bestemte meg i stedet for å bruke en likestrømadapter for å kjøre HAT og ører. Jeg hadde praktisk en av de universelle med utskiftbare tips. Det jeg ikke hadde var en DC -kontakt for å koble adapteren til HAT. Jeg var på vei til Norwich Maplin (igjen) da jeg husket fra nedrivningen at Nabaztag sin originale strømledning var en standard likestrømkontakt - derfor kunne jeg bare koble den originale stikkontakten til HATEN igjen - fint! Til slutt brukte jeg også den originale Nabaztag-strømforsyningen på nytt, siden den ga akkurat den riktige mengden strøm.

Med alt kablet opp og en fornuftig spenning valgt, kjørte jeg foreløpig python -eksemplet som fulgte med DC Motor Hat, prøvekode som stadig endret motorens hastighet og retning for å illustrere de forskjellige kontrollalternativene. Jeg var så spent da det virket, min første Pi-kontrollerte motor! Men så la jeg merke til noe - et virkelig høyt høylydt sutring som noen som kjører en våt finger rundt et vinglass. Dette var ikke bra i det hele tatt, jeg ønsket å få ørene til å bevege seg mens varsler ble lest, og selv om det ikke var øredøvende, var sutringen virkelig merkbar. Jeg prøvde forskjellige spenninger, men ingen endring. Når jeg snudde meg til Google fant jeg ut at dette kan skje på grunn av PWM (pulsbreddemodulering) og at et middel kan være å lodde små kondensatorer på tvers av motorterminalene. Ser vi på motorene var disse allerede på plass. Jeg eksperimenterte også med å endre PWM -frekvensen, men fortsatt ingen endring. Etter litt eksperimentering innså jeg at sutringen bare skjedde da motorens hastighet ble endret av koden fra lav til høy - så å sette den til en konstant høy hastighet eliminerte sutringen helt - fy!

Jeg opprettet et par test -python -skript basert på Adafruit -eksemplene, ett for bevegelse under varsler og et annet for å få ørene til å utføre en full "krets" ved oppstart, med sikte på å kopiere arbeidskoden fra disse til hovedskriptene som brukes til å håndtere Interaksjoner mellom Alexa og Gmail/Ivona.

Trinn 8: Kamera og justeringer

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

Før montering begynte jeg å teste alt. Hvor det var mulig på denne bygningen brukte jeg jumperkabler til å koble de enkelte komponentene sammen, hvis tidligere bygninger har lært meg noe det er å planlegge for fremtidig demontering! Jeg gjorde også et poeng med å tegne et tilkoblingsdiagram som viser hvilke fargekabler som gikk hvor. Kabler er gode, men noen ganger kan de lett løsne seg når komponenter presses til trange områder!

Jeg bestemte meg ganske langt inn i bygget for å også inkludere en Pi -kameramodul, 8MP versjon 2 hadde nettopp blitt utgitt, og som noe nytt for meg tenkte jeg at det ville være et godt tillegg. Den siste versjonen av Karotz-kaninen hadde inkludert et webkamera i magen, men dette fungerte egentlig aldri så bra, jeg trodde Pi-kameraet ville være morsomt for stemmeaktiverte selfies og kanskje til og med fjernovervåking hvis Pi kunne klare å kjøre koden kl. samtidig som alt annet.

Jeg bygde en brakett for kameraet av en plastdekket meccano og monterte den i saken først, deretter målte jeg nøye hvor jeg trengte å bore det forsenkede hullet i saken. Dette var definitivt et tilfelle av "måle to ganger kuttet en gang" ettersom et hull på feil sted ville ha vært en katastrofe. Heldigvis kom det dødt ut og bare litt for høyt, så jeg var i stand til å kompensere ved å legge i skiver mellom kamerabeslaget og basen.

Jeg har også lagt til en Pimoroni Dual Micro USB -strømkabel på dette tidspunktet - dette ga meg en fin mikro -usb -kontakt på baksiden av saken, og ga en annen strømkontakt. Jeg hadde tenkt å bruke den ekstra pluggen for å lade opp høyttalerbatteriet, og brøt meg inn i det slik at jeg kunne koble til Nabaztag sin originale "demp" -bryter for å kontrollere ladingen.

Trinn 9: Hva er Cookin 'Doc? IFTTT oppskrifter

Hva er Cookin 'Doc? IFTTT oppskrifter!
Hva er Cookin 'Doc? IFTTT oppskrifter!
Hva er Cookin 'Doc? IFTTT oppskrifter!
Hva er Cookin 'Doc? IFTTT oppskrifter!

Det fenomenale med å bygge en IoT -enhet akkurat nå er det store antallet nettjenester som er tilgjengelige, og IFTTT (If This Then That) -tjenesten gjør en fantastisk jobb med å knytte alle sammen i en grei og funksjonell pakke. Hvis du ikke har brukt det ennå, er det en online-tjeneste, og når du har registrert deg, kan du koble alle dine andre nettbaserte ting til det, som Gmail, Facebook, Twitter og (du gjettet det) Amazon Alexa. Det er et totalt bord av tjenester å velge mellom, inkludert kontrollalternativer for smarte apparater som lyspærer, termostater og stikkontakter.

IFTTT -reglene er satt opp i "oppskrifter" - omtrent som en Outlook -regel eller en IF -setning i SQL eller Visual Basic, for eksempel har jeg en oppskrift som sier "HVIS noen merker meg på et bilde på Facebook, så send meg en e -post med emnet "Holy guacamole, [tagging persons name] tagged you just in a facebook photo" - fordi dette blir sendt til meg fra min egen adresse, og deretter leser RabbitPi opp emneteksten.

En annen flott bruk av IFTTT er med Alexa -taletjenesten - for IF -delen av en oppskrift kan du sette opp et uttrykk, for eksempel "laseren", og hvis du deretter sier til Alexa "Trigger the laser", vil hun sende forespørselen til IFTTT, som vil fyre av DENNE delen av oppskriften, i dette tilfellet aktivere en fjernkontakt som er koblet til en diskolaser.

Det går til og med utover "smarte ting" - hvis du har IFTTT installert på telefonen din (min er Android -versjonen), kan du samhandle med den i begge retninger, en oppskrift som brukes i videoen er: "HVIS jeg sier" Trigger Chas & Dave "til Alexa, SPILL DENNE den spesifikke sangen" Rabbit "på min Android -telefon. Den fungerer også omvendt - AnyMote universelle fjernkontroll -appen på telefonen min kan tilpasses slik at en bestemt knapp med trigger" IF "-delen av en oppskrift - så jeg har en knapp på skjermen min som får RabbitPi til å ta en selfie og laste den opp til Twitter.

En annen funksjon gjør at RabbitPi kan lese tekstmeldingene mine, på telefonen har jeg en oppskrift "HVIS jeg mottar en ny SMS -melding, så send meg en e -post med følgende emne" Hei! [tekstavsender] sier [tekstmeldingstekst]"

Det er enkelt å bruke, mye moro og fungerer bra, varsler sendes frem og tilbake veldig raskt, spesielt til WeMo Insight -bryteren jeg har, som er ganske øyeblikkelig. Å ha IFTTT og RabbitPi gjør det veldig enkelt å koble ting og tjenester.

Trinn 10: Montering og testing

Montering og testing
Montering og testing
Montering og testing
Montering og testing
Montering og testing
Montering og testing

Nå kom den vanskelige delen - å stramme alle komponentene inn i saken! Jeg var ganske sikker på at alt ville passe, men selve monteringen var veldig vanskelig, jeg brukte godt noen kirurgiske instrumenter og pinsett for å stikke kabler gjennom små hull.

Når alt var godt montert, la jeg til noen selvklebende kabelbinderbaser slik at de mange ledningene kunne trekkes sammen ryddig - dette var veldig viktig ettersom jeg ikke ville koble fra noen av dem ved et uhell når jeg setter sammen saken igjen.

Trinn 11: Klar kanin?

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

Nå som hele den fysiske byggesiden var ferdig, var det på tide å "kutte ledningen", fjerne RabbitPi fra komforten med sin ethernetkabel, skjerm og tastatur i verkstedet, slik at jeg kunne fullføre koden andre steder via SSH (Det trådløse signalet er veldig svak der inne!)

Jeg satte meg på pulten på kontoret mitt og startet opp kaninen og - ingen wi -fi -tilkobling i det hele tatt, ingenting. Jeg visste at det måtte være et signal da telefonen min fungerte bra - var det et problem med nettverkskortet på Pi 3 som jeg ikke hadde hørt om? En rask googling informerte meg om at Pi 3 bare vil finne et wi-fi-signal hvis ruteren sender på kanal 1-11-min var satt til kanal 13! Noen få justeringer senere, og vi var sammenkoblet, et stort sukk av lettelse.

Deretter kom sortering av de forskjellige skriptene. For det første endret jeg main.py -skriptet til AlexaPi -koden, og la til flere linjer slik at RabbitPi, i tillegg til å blinke LED -lampene ved oppstart, også ville utføre en fin øret. Jeg byttet også ut standard "Hei" -melding med en leken "boing" lydeffekt for moro skyld.

Det andre skriptet heter rabbit.py (SWIDT?) Og inneholder all koden for å hente gmail -meldinger og lese dem ut med Pyvona. Jeg har også lagt til noen Twython -koder jeg har tilpasset fra en Raspberry Pi "Tweeting Babbage" -opplæring, slik at RabbitPi kan ta et bilde og laste det opp til sin Twitter -konto (@NabazPi). Jeg la til litt ørebevegelse og LED-blinker for å gi deg rettferdig advarsel når bildet skal tas, samt en lukkerstøy og Pyvona-lest tweetbekreftelse.

Til slutt la jeg til i en IF -uttalelse til imaplib gmail -koden, slik at hvis e -postemnet var "selfie", ville RabbitPi gjøre sin selfie -ting, men ellers lese opp e -postemnet som normalt.

Koden jeg brukte er tilgjengelig på GitHub - les ReadMe -filen!

Som avslutning skrev jeg ut en Raspberry Pi -logo på gjennomsiktig papir og limte det inne i RabbitPi -etuiet, slik at den hvite magen -LED -en skulle belyse bildet gjennom den gjennomsiktige huden.

Trinn 12: Nabaztag er tilbake

Nabaztag er tilbake!
Nabaztag er tilbake!
Nabaztag er tilbake!
Nabaztag er tilbake!
Nabaztag er tilbake!
Nabaztag er tilbake!

Med alt gjort var det bare videoen igjen å lage. Det var veldig moro å sette RabbitPi gjennom sine skritt på kameraet, den eneste ulempen var å redigere HD -opptakene på den eldre bærbare datamaskinen min senere. For noen av varslene (hovedsakelig tekstmeldinger på grunn av mitt forferdelige Vodafone -signal) kuttet jeg ned pausene mellom handling og varsling, eller det ville ha vært en lang og kjedelig video, men det meste viser den sanne responshastigheten.

Jeg eksperimenterte med å bruke en klappsensor for å utløse Alexa -tjenesten (som sett i Snap to it Alexa -videoen), men lot den være ute av den endelige konstruksjonen, da den egentlig ikke var pålitelig nok når det var bakgrunnsstøy. Jeg vet at andre tinkerere jobber med å bruke IR -fjernkontroller, wii -kontrollere og til og med aktiv lytting med AlexaPi -koden, så det er mange alternativer for fremtiden.

Jeg håper å legge til en adafruit neopikselring for å erstatte magen LED, da dette ville gi mye bedre visuelle varsler, og jeg vil også ta med i å "dempe" talemeldingene om natten. Barna mine ga også noen gode forslag, og nå som jeg er litt mer komfortabel med Python, jobber vi sammen for å utvide varslingsområdet, for eksempel slik at selfie -bekreftelsesteksten er hentet fra en liste med verdier tilfeldig, og så kaninen kan instrueres i å prøve å danse macarenaen med ørene og lysdiodene.

Jeg har tilfeldigvis en annen Nabaztag her, så vel som en senere Karotz -kanin, så jeg kan godt bygge noe annet med dem - det er fristende å eksperimentere med fjernovervåking og sensorer av alle slag! Det er en ideell maskinvareplattform for Pi med sin etui, motorer og knapp i perfekt størrelse. Jeg lurer på om de originale produsentene har et lager med usolgte Nabaztags et sted, som Atari -deponiet? Sikkert med noen 3d-trykte godheter for montering av kameraet og PI og en tilpasset HAT for å kjøre motorer, lysdioder og lyd, ville de være et ideelt Raspberry Pi maker-sett, hver kodingsklubb burde ha en!

Hvis du liker dette prosjektet og vil se mer, kan du sjekke nettstedet mitt for pågående prosjektoppdateringer på bit.ly/OldTechNewSpec, bli med på Twitter @OldTechNewSpec eller abonnere på den voksende YouTube -kanalen på bit.ly/oldtechtube - gi noen av Old Tech en ny spesifikasjon!

Tingenes internettkonkurranse 2016
Tingenes internettkonkurranse 2016
Tingenes internettkonkurranse 2016
Tingenes internettkonkurranse 2016

Runner Up in the Internet of Things Contest 2016

Anbefalt: