INHOUDSOPGAWE:

RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwisselende IoT -assistent: 12 stappe
RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwisselende IoT -assistent: 12 stappe

Video: RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwisselende IoT -assistent: 12 stappe

Video: RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwisselende IoT -assistent: 12 stappe
Video: RabbitPi - The Raspberry Pi Digital Assistant 2024, Desember
Anonim
Image
Image
RabbitPi - die Alexa -geaktiveerde, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - die Alexa -geaktiveerde, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwinterende IoT -assistent
RabbitPi - die Alexa -geaktiveerde, IFTTT -gekoppelde, oorwinterende IoT -assistent
RabbitPi - die Alexa -geaktiveerde, IFTTT Connected, Ear -Wiggling IoT Assistant
RabbitPi - die Alexa -geaktiveerde, IFTTT Connected, Ear -Wiggling IoT Assistant

Dit is 'n verouderde 2005 "Nabaztag" slim konyn "wat ek herbou het tot 'n moderne IoT Assistant met behulp van 'n Raspberry Pi 3 en 'n Adafruit Motor HAT, met 'n webcam mikrofoon en 'n Philips Soundshooter luidspreker in die oulike oorspronklike koffer. Dit reageer op knoppie het stemopdragte begin met behulp van die Alexa -stemdiens van Amazon, en die antwoorde gelees via die geïntegreerde luidspreker. Stemopdragte word ook gebruik om IFTTT (If This Then That) resepte te aktiveer, om interaksie te hê met ander internet-gekoppelde toestelle, soos slimaansluitings en selfone. Nie genoeg? Behalwe dat dit IFTTT-gebeurtenisse veroorsaak, ontvang dit dit ook via Gmail, met behulp van die Ivona-teks-na-spraak-enjin om e-pos, sms'e en ander kennisgewings voor te lees, byvoorbeeld stuifmeelwaarskuwings of kennisgewings van 'n tuisbeveiligingskamera. visuele terugvoer met LED's en gemotoriseerde ore? O, en dit het 'n V2 Raspberry Pi-kamera in sy buik om stemaktiewe selfies op Twitter te laai. Dit is moeilik om die oulikheid van die RabbitPi in woorde te beskryf, kyk na die video om dit in aksie te sien!

Stap 1: 'n Kort geskiedenis van slim konyne

'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne
'N Kort geskiedenis van slim konyne

Die oorspronklike Nabaztag "eerste slim konyn" is in 2005 vrygestel, aangewys as 'n omringende huisassistent (klink die bekende Amazon en Google?) - dit was waarskynlik die eerste ding van 'Internet of Things' en was op baie maniere sy tyd vooruit, Ek het dadelik een gekoop. Dit het op ons kaggelrak gelees en daaglikse weervoorspellings en af en toe kennisgewings gelees, maar het nooit baie vermoë gehad nie, en vertrou op 'n WEP wi-fi-verbinding en eie sagteware en bedieners om sy teks-na-spraak (TTS) dienste te lewer. Dit is nou moeilik om jou voor te stel, maar destyds was daar nie veel waarmee dit kon skakel nie, sosiale media was skaars iets, Nokia regeer die slimfoonwêreld en LED -gloeilampe was 'n duur nuwigheid.

In die komende jare het nog twee weergawes gevolg, die Nabaztag: Tag en die Karotz, wat beide verbeterde funksionaliteit gebied het, maar nie een van die nis in die mark gevind het nie, wat uiteindelik in die steek gelaat is deur hardeware- en sagtewarebeperkings. Die skande was dat sodra die ondersteunende bedieners afgeskakel is, die voorheen slim konyne weinig meer as ornamente geword het. Verskeie gemeenskapsprojekte het probeer om die dienste van die 'amptelike' bedieners te vervang, en ons het wel 'n rukkie 'OpenKarotz' gebruik, maar dit lyk asof dit ook 'n jaar of twee gelede verdwyn het, sodat my konyne stil en onbeweeglik op my sprekers was.

In elk geval, geskiedenisles is verby! Die gevolg is dat ons die teenwoordigheid van die Nabaztag in ons woonkamer met liefde onthou, en ek wou dit terug hê, maar as 'n behoorlike moderne IoT -toestel.

Stap 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

Ek was geïnspireer om uiteindelik die RabbitPi te begin toe ek in Maart lees dat die Amazon Alexa -stemdiens aan die Raspberry Pi beskikbaar gestel is - die belangrikste is dat 'n knoppie nodig is om die 'luister' te aktiveer - dit pas perfek by die Nabaztag, want dit het 'n drukknoppie met die bokant van sy blink kop. Ek het my konyn uitmekaar gehaal en gou het die uitstekende AlexaPi -kode van Sam Machin op my Pi 3 laat loop, geaktiveer deur op die haas se knoppie te druk. Op hierdie stadium het ek heeltemal afgelei deur die bou van die AlexaPhone, maar het reguit teruggespring in die slim rabbithole sodra dit klaar was. Ek het my nuwe verbeterde Nabaztag nodig gehad om ten minste so slim soos die oorspronklike te wees, so ek wou dit hê:

Doen stemsoektogte en lees die resultate voor

Lees kennisgewings

Beweeg sy ore en flits LED's

Neem foto's en laat afstandmonitering toe

Interaksie met slim voetstukke, gloeilampe, ens

Stap 3: Bunny Chop

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

Die eerste taak was om die Nabaztag af te breek en te kyk watter onderdele hergebruik kan word. Die ore is ontwerp om uitruilbaar te wees en slegs met magnete gehou te word, so dit was maklik, en die hoofbedekking is slegs deur twee (bisarre driehoekige) skroewe vasgehou. Dit het alle stroombane en komponente blootgestel rondom 'n sentrale plastiekpilaar. Die een kant het die hoofkring en LED's, met 'n luidspreker aan die ander kant en motors/knoppie in die pilaar bo -aan.

Aangesien ek net die motors wou behou, het ek deur die meeste kabels gesny en skroewe begin uittrek. Ek het op hierdie stadium 'n ware verrassing gekry! Agter die konyn se 'brein'-kring was 'n gleuf oor die hele hoogte van die pilaar, met 'n volledige PCMCIA wi-fi-kaart, die soort wat jy in ou skootrekenaars sou gebruik. Ek dink dit was destyds 'n kompromie van ontwerp of verenigbaarheid, maar om dit in vergelyking met 'n moderne USB -dongle te vergelyk, het werklik die tegnologie in die afgelope tien jaar laat krimp.

Die res van die dele is maklik verwyder, en net die kaal plastiese steunpilaar het sekerlik genoeg ruimte daar rondom?

Stap 4: Praat en luister

Praat en luister
Praat en luister
Praat en luister
Praat en luister
Praat en luister
Praat en luister

U kan nie 'n spraakhaas sonder 'n luidspreker en mikrofoon hê nie, so dit was een van die eerste dinge wat ek opgelos het. Ek hoef nie regtig hard te probeer nie; dit lyk asof die Pi baie buigsaam is oor USB -mikrofone, en ek het net 'n ou MSI StarCam Clip -webkamera vir die invoer gebruik om die klankvlak aan te pas by Max in die Pi -klankinstellings. Om ruimte te bespaar, het ek die webkamera uitmekaar gehaal en die kameralens en -kis weggegooi. Ek het 'n gat in die basis geboor om die mikrofoon deur te steek en dit aan die USB van die Pi gekoppel, en die kabels so netjies moontlik geloop.

Ek het die KitSound MiniBuddy-luidspreker in die AlexaPhone gebruik, want dit was regtig effektief, maar toe ek een vir hierdie projek gaan koop, het ek gevind dat die ontwerp verander is en dat hulle nie meer laai met 'n mikro-usb-aansluiting nie! Ek kyk rond na iets soortgelyks en kom met die Philips SoundShooter, 'n klein handgranaatagtige eenheid. Ek het gehoop dat dit in die omhulsel sou pas sonder om dit uitmekaar te haal, maar dit was te groot, so die skroewedraaier het gekom om dit af te haal. Ek het daarin geslaag om die luidsprekerdrade vas te maak, so ek het 'n paar jumperkabels vasgesoldeer om dit makliker te maak om weer aan te sluit. Hierdie luidsprekergedeelte is op dieselfde plek as die oorspronklike luidspreker vasgeplak met die kring en battery op die klein rak daaronder vasgemaak.

Terugskouend wens ek dat ek eerder die ingewande van 'n luidsprekerdok of iets anders sou gebruik, aangesien dit nie ideaal is om die luidspreker op te laai nie - dit hou nog steeds baie lank en klink wonderlik, en as die hoofomslag lig maklik op, dit is nie regtig 'n skouspelagtige probleem nie.

Stap 5: Lees soos konyne

Lees soos konyne
Lees soos konyne
Lees soos konyne
Lees soos konyne

Noudat die Alexa -gedeelte werk, het ek oorgegaan tot die oplossing van die volgende probleem, hoe sou ek die konyn kry om kennisgewings voor te lees? Die teks-na-spraak van die oorspronklike Nabaztag was verbasend goed, alhoewel ek onthou dat dit altyd my afskriftekens (MM) gelees het as 'Millimeters' en my vrou (CM) as 'Centimeters'-ek wou 'n moderne en natuurlike klinkende enjin wat dinge soos die "&" -simbool behoorlik sou interpreteer en eenvoudige emoticons soos:) sou verstaan.

Soos met alles op die Raspberry Pi, is daar baie verskillende opsies, en ek het na verskeie gekyk voordat ek besluit het oor Ivona, wat blykbaar dieselfde onderliggende enjin is wat deur die Alexa -diens gebruik word. Dit was vir my die beste opsie, aangesien daar 'n verskeidenheid beskikbare stemme en konfigurasie -opsies is - ook 'n groot voordeel was dat Zachary Bears 'n gerieflike Python -omhulsel vir die diens, Pyvona, beskikbaar gestel het.

Om met Ivona aan die gang te kom, moet u eers 'n ontwikkelaarrekening opstel, en dan, net soos met die Alexa -opstelling, word u in staat gestel om in u toepassing te gebruik, in hierdie geval 'n script om kennisgewings voor te lees. U word 50 000 soektogte per maand toegelaat met een van hierdie rekeninge, wat beslis vir my genoeg is.

Die Pyvona -opstelling was regtig eenvoudig; binne enkele minute het ek 'n Python -script gemaak uit die voorbeeld wat enige frase wat ek ingevoer het, sou lees. Maar dit was natuurlik net gedeeltelik die oplossing - ek wou nie hê dat Ivona hardgekodeerde voorlees nie teks, maar dinamiese inkomende kennisgewings.

Stap 6: Sê wat?

Wat se jy?
Wat se jy?
Wat se jy?
Wat se jy?

Dus het ek nou 'n konyn (in stukke regoor die bank) wat kon praat, maar dit het 'n meganisme nodig om kennisgewings te ontvang en dit aan die Ivona -diens deur te gee om voorgelees te word. Ek het gekyk na die moontlikheid van sms-boodskappe via 'n aanlyndiens of SIM-kaartadapter, en ook Twitter en Dropbox vir die aflewering van teksstringe/lêers, maar het uiteindelik besluit om imaplib, 'n Python-gebaseerde manier van interaksie met IMAP-e-posrekeninge, te gebruik. Ek het op hierdie opsie besluit, veral omdat dit goed geïntegreer is met die IFTTT -diens, u kan baie kreatief wees met die opmaak van kennisgewing -e -posse. Dit het ook beteken dat ek e -posse direk na die RabbitPi kon stuur om voorgelees te word.

Ek het baie imaplib python -voorbeelde aanlyn bekyk, en nadat ek stukke gekombineer het en deur die imaplib -dokumentasie gewerk het, het ek daarin geslaag om 'n script te kry wat Gmail gereeld nagelees het vir ongeleesde boodskappe en verskillende teks op die skerm gedruk het, afhangende van die inhoud van die die onderwerp van die boodskap. Dit was baie handig, aangesien ek 'n "IF" -verklaring in die kode kon aanpas om slegs te werk as die e -pos van myself afkomstig was, en dan die "Print" -aksie vir die kode wat die Ivona -diens bel, te ruil.

Ek het 'n geruime tyd probeer om die imaplib & Pyvona -kode aan te pas om die e -posse voor te lees, maar dit was uiters ingewikkeld - ek het gou geleer dat die belangrikste e -posvelde (van, tot, onderwerp, ens) baie eenvoudig geformateer is, maar die liggaamstekst van die e -pos kan op baie verskillende maniere gestruktureer word. Uiteindelik het dit nie regtig saak gemaak nie; ek kon bereik wat ek nodig gehad het deur die e -posonderwerp te gebruik as die veld waaruit die kennisgewingteks gelees sou word.

Ek het toe die voorbeeld van die imaplib -kode aangepas, sodat dit in plaas daarvan om na elke e -poskontrole te stop, oneindig sou rondloop, 'n paar keer per minuut na e -posse kon kyk en nuwe nuwes gelees het, net soos hulle aankom. Dit was handig om te toets, maar in die praktyk sou ek dit waarskynlik 'n bietjie minder gereeld laat ondersoek. Dit is ook die moeite werd om op te let dat die script die wagwoord in gewone teks stoor, dus op 'n stadium 'n bietjie kodering nodig het.

Ek is 100% seker dat dit baie meer elegant en doeltreffend in Python bereik kan word, maar dit was lekker en uitdagend om dit heeltemal te laat werk - ek het hierdie week 'Python for Kids' by die biblioteek geleen, so my kode sal hopelik verbeter soos ek meer leer.

Met die basiese werk-vir-kry-'n-e-pos-en-lees-dit-uit-skrif, het ek die ekstra stukkies kode bygevoeg wat die konyn se ore laat beweeg en LED's brand terwyl die kennisgewings gelees word. Die kode wat ek gebruik het, is op GitHub, maar onthou my huidige gebrek aan python -vaardigheid!

Stap 7: 'n HOED vir die RabbitPi

'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi
'N HOED vir die RabbitPi

Een van die mees ikoniese dinge van die Nabaztag was die manier waarop dit sy ore sou beweeg wanneer 'n kennisgewing binnekom. Hulle kan op 'n spesifieke oriëntasie ingestel word, óf deur dit met die hand te skuif, óf deur 'n posisie in te stel met behulp van die beheersagteware - my doel was net om hulle te laat beweeg.

Ek het nog nooit motors met die Raspberry Pi gebruik nie, so dit was nog 'n nuwe navorsingsonderwerp vir my - eers moes ek uitvind watter soort motors ek te doen gehad het; ek het net geweet dat daar twee motors was, elk met 2 drade. Toe ek aanlyn lees, het ek tot die gevolgtrekking gekom dat dit eenvoudig DC -motors moet wees eerder as stepper -motors, 'n feit wat bevestig word deur hierdie ongelooflike nuttige instruksie "Hack the Nabaztag" deur Liana_B, wat ek wens ek sou ongeveer 'n maand vroeër gelees het.

Weens die buigsaamheid van die Pi is daar baie verskillende maniere waarop die motors beheer kan word, maar ek het besluit om 'n Adafruit DC & Stepper Motor HAT -bord te gebruik. Ek het al voorheen skerms en snuisterye van Adafruit gebruik, en ek hou baie van die gedetailleerde instruksies en voorbeelde wat standaard is.

Deur 'n bord met die HAT -standaard (Hardware Attached on Top) te gebruik, beteken dit dat die motorbeheerder netjies bo -op die Pi sou pas, en omdat dit die I2C -koppelvlak gebruik, het die GPIO -penne wat ek nodig gehad het vir die Alexa/Clap vrygelaat. knoppie en LED's.

Soos verwag was die soldering van die HAT baie eenvoudig, en ek het dit gou op die PI laat monteer en aan die twee oormotors gekoppel. Ek was van plan om die motors van 'n usb -kragbank af te laat loop, sodat ek net 'n enkele kragprop nodig het, maar dit het nie genoeg gegrom nie, dit sou nie eens die "Working" -liggie op die HAT verlig nie. Ek het in plaas daarvan besluit om 'n gelykstroomadapter te gebruik om die hoed en ore te bestuur, maar ek het gerieflik een van die universele met verwisselbare wenke byderhand gehad. Wat ek nie gehad het nie, was 'n DC -aansluiting om die adapter aan die HAT aan te sluit. Ek was op die punt om na Norwich Maplin (weer) te vertrek toe ek van die afskeidings onthou dat die oorspronklike Nabaztag -kragkabel 'n standaard DC -prop was - daarom kon ek die oorspronklike stopcontact weer na die HAT aansluit - netjies! Uiteindelik het ek ook die oorspronklike Nabaztag-kragtoevoer hergebruik, aangesien dit net die regte hoeveelheid krag verskaf het.

Met alles aangeskakel en 'n sinvolle spanning gekies, het ek die luislang -voorbeeld wat by die DC -motorhoed ingesluit is, voorlopig uitgevoer, 'n voorbeeldkode wat die snelheid en rigting van die motor voortdurend verander het om die verskillende beheeropsies te illustreer. Ek was so opgewonde toe dit werk, my eerste Pi-beheerde motor! Maar toe merk ek iets op - 'n baie harde tjank soos iemand wat 'n nat vinger om 'n wynglas hardloop. Dit was glad nie goed nie, ek wou die ore laat beweeg terwyl die kennisgewings gelees word, maar al was die tjank nie merkbaar nie. Ek het verskillende spannings probeer, maar geen verandering nie. Toe ek na Google gaan, het ek agtergekom dat dit kan gebeur as gevolg van PWM (polswydte modulasie) en dat 'n oplossing kan wees om klein kondensators oor die motorterminale te soldeer. As ons na die motors kyk, was dit reeds in plek. Ek het ook geëksperimenteer met die verandering van die PWM -frekwensie, maar nog steeds geen verandering nie. Na 'n bietjie eksperimenteer het ek besef dat die tjank slegs gebeur het toe die snelheid van die motor deur die kode van laag na hoog verander is - so om dit op 'n konstante hoë spoed te stel, het die tjank heeltemal uitgeskakel.

Ek het 'n paar toetspython -skrifte geskep op grond van die Adafruit -voorbeelde, een vir beweging tydens kennisgewings en 'n ander om die ore 'n volledige 'kring' te laat doen tydens die aanvang, met die doel om die werkkode hiervan na die hoofskrifte te kopieer wat gebruik word om die Interaksies tussen Alexa en Gmail/Ivona.

Stap 8: Kamera en tweaks

Kamera en tweaks
Kamera en tweaks
Kamera en tweaks
Kamera en tweaks
Kamera en tweaks
Kamera en tweaks

Voordat ek begin monteer het, het ek alles getoets. Waar moontlik op hierdie konstruksie het ek springkabels gebruik om die individuele komponente aan mekaar te koppel, as vorige geboue my iets geleer het om te beplan vir toekomstige demontage! Ek het ook 'n punt daarvan gemaak om 'n verbindingsdiagram op te stel wat wys watter kleurkabels waarheen gegaan het; springkabels is uitstekend, maar soms kan hulle maklik loskom wanneer komponente in 'n stywe ruimte ingeprop word!

Ek het redelik ver in die gebou besluit om ook 'n Pi Camera -module in te sluit, die 8MP weergawe 2 is pas vrygestel en as iets nuuts vir my het ek gedink dat dit 'n goeie toevoeging sou wees. Die nuutste weergawe van die Karotz-konyn het 'n webkamera in sy maag ingesluit, maar dit het nooit so goed gewerk nie, ek het gedink dat die Pi-kamera pret sou wees vir selfies wat deur stem geaktiveer word, en miskien selfs op afstand monitor as die Pi die kode kan bestuur dieselfde tyd as al die ander.

Ek het 'n hakie vir die kamera uit 'n plastiekbedekte mekkaan gebou en dit eers in die omhulsel aangebring, en dan baie noukeurig gemeet waar ek die gat in die koker moes boor. Dit was beslis 'n geval van 'maat twee keer gesny', aangesien 'n gat op die verkeerde plek 'n ramp sou wees. Gelukkig kom dit dooie punt en net 'n bietjie te hoog, sodat ek kon vergoed deur tussenringe tussen die kamerahakie en die voetstuk in te voeg.

Ek het op hierdie stadium ook 'n Pimoroni Dual Micro USB -kragkabel bygevoeg - dit het my 'n lekker mikro -usb -aansluiting aan die agterkant van die kas gegee en 'n tweede kragprop verskaf. Ek was van plan om die ekstra prop te gebruik om die battery van die luidspreker op te laai, en ek het ingebreek sodat ek die oorspronklike "mute" skakelaar van die Nabaztag kon aansluit om die laai te beheer.

Stap 9: Wat is die kook van 'n dokument? IFTTT Resepte

Wat kook Cook? IFTTT Resepte!
Wat kook Cook? IFTTT Resepte!
Wat kook Doc? IFTTT Resepte!
Wat kook Doc? IFTTT Resepte!

Die fenomenale ding van die bou van 'n IoT -toestel op die oomblik is die groot aantal webdienste wat beskikbaar is, en die IFTTT (If This Then That) -diens lewer 'n wonderlike taak om dit alles saam te bind in 'n eenvoudige en funksionele pakket. As u dit nog nie gebruik het nie, is dit 'n aanlyndiens, en sodra u aangemeld het, kan u al u ander webgebaseerde goed daaraan koppel, soos Gmail, Facebook, Twitter en (u het dit raai) Amazon Alexa. Daar is 'n totale reeks dienste om van te kies, insluitend beheeropsies vir slim toestelle soos gloeilampe, termostate en voetstukke.

Die IFTTT -reëls word opgestel in "resepte" - soos 'n Outlook -reël of 'n IF -verklaring in SQL of Visual Basic, byvoorbeeld, ek het 'n resep wat sê: "AS iemand my op 'n foto op Facebook merk, stuur dan 'n e -pos aan my met die onderwerp "Holy guacamole, [tagging person's name] tag you just in a facebook photo" - omdat dit na my gestuur word vanaf my eie adres, lees die RabbitPi dan die onderwerpteks voor.

'N Ander goeie gebruik van IFTTT is met die Alexa -stemdiens - vir die IF -deel van 'n resep kan u 'n frase opstel, byvoorbeeld' die laser ', en as u dan vir Alexa' Trigger the laser 'sê, sal sy die versoek deurgaan IFTTT, wat die TOE -deel van die resep sal afvuur, aktiveer in hierdie geval 'n eksterne aansluiting wat aan 'n diskotlaser gekoppel is.

Dit gaan selfs verder as "slim dinge" - as u IFTTT op u telefoon geïnstalleer het (myne is die Android -weergawe), kan u dit in beide rigtings gebruik; 'n resep wat in die video gebruik word, is: "AS ek sê" Trigger Chas & Dave "na Alexa, speel dan die spesifieke liedjie" Rabbit "op my Android -selfoon. Dit werk ook andersom - die AnyMote universele afstandsbedieningsprogram op my telefoon kan aangepas word sodat 'n spesifieke knoppie met die" IF "-gedeelte aktiveer van 'n resep - so ek het 'n knoppie op my skerm wat veroorsaak dat die RabbitPi 'n selfie neem en dit na Twitter oplaai.

'N Ander funksie stel die RabbitPi in staat om my teksboodskappe voor te lees, op my selfoon het ek 'n resep "AS ek 'n nuwe SMS ontvang, stuur dan vir my 'n e -pos met die volgende onderwerp" Hey! [teks sender] sê [teks boodskap liggaam]"

Dit is maklik om te gebruik, baie pret en werk goed; kennisgewings word baie vinnig heen en weer gestuur, veral na die WeMo Insight -skakelaar wat ek het, wat redelik vinnig is. Deur IFTTT en die RabbitPi te hê, is dit baie eenvoudig om dinge en dienste te verbind.

Stap 10: Vergadering en toetsing

Vergadering en toetsing
Vergadering en toetsing
Vergadering en toetsing
Vergadering en toetsing
Vergadering en toetsing
Vergadering en toetsing

Nou kom die moeilike deel: om al die komponente in die tas te druk! Ek was redelik seker dat dit alles sou pas, maar die werklike samestelling was baie moeilik, ek het 'n paar chirurgiese instrumente en 'n pincet goed gebruik om kabels deur klein gapings te steek.

Sodra alles veilig aangebring is, het ek 'n paar selfklevende kabelbinders bygevoeg sodat die baie drade netjies bymekaar getrek kon word - dit was baie belangrik, want ek wou nie per ongeluk die stekker uit die stekker trek nie.

Stap 11: Klaar Konyn?

Klaar Konyn?
Klaar Konyn?
Klaar Konyn?
Klaar Konyn?
Klaar Konyn?
Klaar Konyn?
Klaar Konyn?
Klaar Konyn?

Noudat al die fisiese geboue klaar was, was dit tyd om die koord te sny en die RabbitPi uit die gemak van sy ethernetkabel, monitor en sleutelbord in die werkswinkel te verwyder, sodat ek die kode elders via SSH kon voltooi (die draadlose sein is regtig swak daarbinne!)

Ek sit op die lessenaar in my kantoor en laai die konyn op en - geen Wi -Fi -verbinding nie, niks. Ek het geweet dat daar 'n sein moes wees, aangesien my telefoon goed werk - was daar 'n probleem met die netwerkadapter op die Pi 3 waarvan ek nog nie gehoor het nie? 'N Vinnige bietjie google het my ingelig dat die Pi 3 slegs 'n wi-fi-sein sal vind as die router op kanale 1-11 uitsaai-myne is ingestel op kanaal 13! 'N Paar tweaks later en ons is verbind, groot sug van verligting.

Daarna is die verskillende skrifte uitgesorteer. Eerstens het ek die main.py -skrip van die AlexaPi -kode gewysig en ekstra reëls bygevoeg, sodat die RabbitPi, sowel as die LED's tydens die aanvang, ook 'n goeie oorwankeling sou maak. Ek het ook die standaard "Hello" -boodskap vervang met 'n speelse "boing" klankeffek vir die plesier.

Die tweede skrif word rabbit.py (SWIDT?) Genoem en bevat al die kode om gmail -boodskappe op te haal en saam met Pyvona voor te lees. Ek het ook 'n paar Twython -kode bygevoeg wat ek aangepas het uit 'n Raspberry Pi "Tweeting Babbage" -opleiding, sodat die RabbitPi 'n foto kon neem en dit na sy Twitter -rekening (@NabazPi) kan oplaai. Ek het 'n bietjie oorbeweging en LED-flitse bygevoeg om u 'n goeie waarskuwing te gee wanneer die foto geneem word, sowel as 'n sluitergeluid en 'n Pyvona-leesbare tweet-bevestiging.

Laastens het ek in 'n IF -verklaring by die imaplib gmail -kode gevoeg, sodat as die e -posonderwerp 'selfie' was, die RabbitPi sy selfie -ding sou doen, maar andersins die onderwerp van die e -pos as normaal sou voorlees.

Die kode wat ek gebruik het, is beskikbaar op GitHub - lees die ReadMe -lêer!

As afwerking het ek 'n Raspberry Pi -logo op transparantpapier afgedruk en in die RabbitPi -omhulsel geplak, sodat die wit maag -LED die beeld deur sy deurskynende vel sou verlig.

Stap 12: Nabaztag is terug

Nabaztag is terug!
Nabaztag is terug!
Nabaztag is terug!
Nabaztag is terug!
Nabaztag is terug!
Nabaztag is terug!

Met alles gedoen was daar net die video oor om te maak. Dit was baie lekker om die RabbitPi deur die pas op kamera te plaas; die enigste nadeel was om later die HD -beeldmateriaal op my bejaarde skootrekenaar te wysig. Vir sommige kennisgewings (hoofsaaklik sms -boodskappe as gevolg van my vreeslike Vodafone -sein) het ek die pouses tussen aksie en kennisgewing verminder, anders sou dit 'n lang en vervelige video gewees het, maar die meeste daarvan toon die ware reaksiesnelheid.

Ek het wel eksperimenteer met 'n klapsensor om die Alexa -diens te aktiveer (soos gesien in die Snap to it Alexa -video), maar het dit uit die finale bou gelaat, aangesien dit nie regtig betroubaar genoeg was as daar agtergrondgeraas was nie. Ek weet dat ander tinkerers werk aan die gebruik van IR -afstandsbedienings, wii -beheerders en selfs aktiewe luister met die AlexaPi -kode, sodat daar baie opsies vir die toekoms is.

Ek hoop om 'n neopixelring van adafruit by te voeg om die buik -LED te vervang, want dit sal baie beter visuele kennisgewings moontlik maak, en ek wil ook die stemkennisgewings snags 'demp'. My kinders het ook goeie voorstelle gelewer, en noudat ek 'n bietjie meer gemaklik voel met Python, werk ons saam om die reeks kennisgewings uit te brei, byvoorbeeld sodat die selfie -bevestigingsteks willekeurig uit 'n lys waardes geneem word, en so kan die haas die opdrag kry om die macarena met sy ore en LED's te probeer dans.

Ek het toevallig nog 'n Nabaztag hier, sowel as 'n latere Karotz -konyn, so ek kan iets anders saam met hulle bou - dit is aanloklik om te eksperimenteer met afstandmonitering en allerhande sensors! Dit is 'n ideale hardeware-platform vir die Pi met sy perfekte grootte omhulsel, motors en knoppie. Ek wonder of die oorspronklike vervaardigers êrens 'n voorraad onverkoopte Nabaztags het, soos die Atari -stortingsterrein? Met 'n mate van 3d-gedrukte goedheid vir die montering van die kamera en PI en 'n pasgemaakte hoed om motors, LED's en klank te bestuur, sou dit 'n ideale Raspberry Pi-vervaardigerstel wees, elke koderingsklub behoort een te hê!

As u van hierdie projek hou en meer wil sien, kan u op my webwerf gaan kyk vir projekopdaterings by bit.ly/OldTechNewSpec, sluit aan op Twitter @OldTechNewSpec of teken in op die groeiende YouTube -kanaal by bit.ly/oldtechtube - gee sommige van u Old Tech 'n nuwe spesifikasie!

Internet of Things Wedstryd 2016
Internet of Things Wedstryd 2016
Internet of Things Wedstryd 2016
Internet of Things Wedstryd 2016

Naaswenner in die Internet of Things -wedstryd 2016

Aanbeveel: