En smart spegel med inbyggd Amazon Echo-funktionalitet skapar en dynamisk användarupplevelse.
Om du har konstruerat en smart spegel, har du förmodligen redan tillgång till praktisk information som kalendrar, väderprognoser och nyhetsuppdateringar. Men potentialen sträcker sig långt bortom det! Programvaran Magic Mirror erbjuder en rad moduler som utökar funktionaliteten, inklusive möjligheten till röststyrning via Alexa.
Oberoende utvecklare skapar dessa moduler, och utbudet är stort. Du kan hitta allt från praktiska verktyg som Alexa-integration eller närvarodetektering med kamera eller infraröd sensor, till underhållande funktioner som animerade snöflingor eller information om Spotify-uppspelning.
Vi rekommenderar mmm-awesome-alexa-modulen. Den verkar vara välgjord och aktivt underhållen av utvecklaren, men det finns också andra Alexa-moduler för Magic Mirror att utforska.
Om du hellre vill använda Google Assistant, erbjuder Google en detaljerad guide för att installera assistenten på en Raspberry Pi. Guiden innehåller steg-för-steg instruktioner, bilder och nedladdningslänkar. Det finns några Magic Mirror-moduler för Google Assistant, men våra undersökningar har visat att dessa kan vara problematiska, ofta kraschar eller blockerar annan spegelinformation. Ett enklare alternativ är att använda ett Google AIY-kit med dess specifika installationsanvisningar.
Installationen av de flesta moduler följer grundläggande steg:
- Ladda ner modulkoden från GitHub.
- Konfigurera modulspecifika inställningar.
- Lägg till modulen i spegelns konfigurationsfil.
Steg två och tre kan variera i komplexitet beroende på modul. Att konfigurera Alexa kräver mer arbete än att lägga till snöflingor. Dessutom kräver just denna Alexa-modul att du installerar ytterligare beroenden (programvara) innan du laddar ner modulen.
Material du behöver
Denna guide förutsätter att du redan har byggt en smart spegel. Om du inte har gjort det, börja med det. Kom ihåg att ta med de extra material som anges här i din budget och utrymmesplanering.
Du behöver:
- En färdigbyggd smart spegel
- En mikrofon
- En högtalare
Vi rekommenderar det ursprungliga Google AIY Voice Kit för både mikrofon och högtalare. För det priset får du en prisvärd kombination av mikrofon och högtalare. Du behöver inte nödvändigtvis använda kartongen som följer med – det kan vara bättre att ta ut komponenterna och placera mikrofonen och högtalaren utanför spegeln.
En uppdaterad version, Google AIY Voice Kit 2.0, är också tillgänglig, men den är dyrare och inkluderar en Raspberry Pi Zero, som inte är kraftfull nog för att hantera vakna ord eller Magic Mirror-programvaran. Den versionen är därför inte rekommenderad för detta projekt.
När du har kopplat in mikrofonen och högtalaren är du redo att installera Alexa-modulen. Om du använder ett Google AIY-kit, följ monteringsanvisningarna för att ansluta mikrofonen och högtalaren.
Installera modulberoenden
Innan du kan installera mmm-awesome-alexa, måste du installera vissa program som modulen är beroende av. Det är alltid bra att uppdatera din Raspberry Pi innan du installerar ny programvara. Börja med att köra detta kommando i din Raspberry Pis terminal:
sudo apt update && sudo apt upgrade
När Raspberry Pi är uppdaterad, kör följande kommandon ett i taget:
sudo apt-get install sox libsox-fmt-all sudo apt-get install swig3.0 python-pyaudio python3-pyaudio sox pip install pyaudio sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools sudo apt-get install libatlas-base-dev
Varje kommando installerar en beroende fil, och samtliga behövs för att Alexa-modulen ska fungera. Kör ett kommando, vänta tills nedladdningen och installationen är klar och gå sedan vidare till nästa kommando.
Ladda ner modulkoden
Första steget för att lägga till en modul i Magic Mirror är att ladda ner modulkoden från Github. Det gör du genom att logga in på din Raspberry Pi, öppna terminalen och byta till katalogen där modulerna lagras. Använd sedan ett nedladdningskommando för att hämta koden från Github. Om du har fjärråtkomst kan du göra allt detta på distans.
När du har terminalen öppen, skriv följande:
cd ~/MagicMirror/modules
Detta kommando flyttar dig till rätt mapp för moduler i Magic Mirror-programvaran. Alla nya moduler ska sparas här för att hålla ordning. Nästa steg är att ladda ner modulen från Github med detta kommando:
git clone https://github.com/dolanmiu/MMM-awesome-alexa.git
När det är klart, gå in i modulens mapp med följande kommando:
cd MMM-awesome-alexa
Alexa-modulen behöver några fler beroenden för att fungera korrekt. Kör detta kommando för att installera dem:
npm install --only=prod
Gå nu till den nyskapade mappen node_modules:
cd node_modules
Ta bort mappen snowboy som lades till tidigare. Vi behöver en nyare version av snowboy:
rm -rf snowboy
Ladda sedan ner den senaste versionen av snowboy med detta kommando:
git clone https://github.com/Kitt-AI/snowboy.git
Innan vi går vidare, gå till den nya snowboy-mappen:
cd snowboy
Nu måste vi ta bort mappen node_modules och installera fler beroenden. Det är viktigt att du stannar kvar i snowboy-mappen för dessa steg, byt inte kataloger. Kör följande kommandon ett i taget:
rm -rf node_modules npm install nan --save npm install [email protected] --save npm install npm run prepublish npm install --save-dev electron-rebuild npm install nan ./node_modules/.bin/electron-rebuild
Nu är modulen helt nedladdad och installerad.
Konfigurera Alexa-modulen
Efter att mmm-awesome-alexa-modulen är installerad måste den konfigureras. Första steget är att gå tillbaka till modulens rot. Skriv följande kommando i terminalen och tryck på Enter:
cd ~/MagicMirror/modules/MMM-awesome-alexa
Denna Alexa-modul har ett konfigurationsverktyg som vi ska köra. I terminalen skriver du:
npm run config-helper
Du kommer att få en fråga om ett klient-ID. Eftersom du i princip ställer in en anpassad version av Echo, behöver du öppna en webbläsare och gå till Amazons webbplats för Alexa-utvecklare. Logga sedan in med ditt Amazon-konto.
När du har loggat in klickar du på ”Kom igång”-knappen. Du skapar en enhet, så klicka på ”Produkter” och sedan ”Skapa produkt”.
På nästa skärm ger du din produkt ett namn och ett produkt-ID – vi föreslår ”Magic_Mirror_Alexa” som namn och ”Ditt Förnamn_MM_Alexa” som produkt-ID. Välj Smart Home som kategori och aktivera både handsfree- och fjärrfältsalternativ. Du kommer att se en rad ja/nej-frågor, välj ”Nej” för alla och klicka sedan på ”Nästa”.
På säkerhetsprofilskärmen klickar du på ”Skapa ny profil”. Använd samma namn för din säkerhetsprofil som du gjorde för produkt-ID:t. Skriv sedan en beskrivning och klicka på Nästa.
Godkänn avtalet och klicka på Slutför.
Klicka på din nyskapade produkt, sedan säkerhetsprofil, så ska du se ett klient-ID och en klienthemlighet.
I rutan för tillåtna retur-URL, skriv in:
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse
Klicka sedan på knappen Lägg till. Rulla ner och klicka på uppdateringsrutan för att lägga till webbadressen.
I terminalen ser du en uppmaning om klient-ID. Kopiera klient-ID:t från webbläsaren, klistra in det i terminalen och tryck på Enter. Nu frågar terminalen efter en klienthemlighet. Gå tillbaka till webbläsaren, kopiera klienthemligheten, klistra in den i terminalen och tryck på Enter.
När du uppmanas att ange ett enhets-ID, ange det namn som du skapade tidigare som produkt-ID (Magic_Mirror_Alexa i vårt exempel).
När du uppmanas att ange en retur-URL, skriv följande kommando och tryck på Enter:
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse
Terminalen kommer att visa en anpassad länk. Kopiera den och klistra in den i din webbläsare. Logga sedan in med ditt Amazon-konto om du uppmanas. Klicka på Tillåt på nästa skärm.
Du kommer att se ett felmeddelande i webbläsaren, men det är som förväntat. I webbadressen till felsidan hittar du avsnittet ”Code=xxxxxx”.
Kopiera bokstäverna och siffrorna mellan ”code=” och ”&scope” och klistra in dem i terminalen. Tryck på Enter när du är klar.
När du får frågan om du vill skapa MagicMirror-konfigurationen, skriv Y och tryck på Enter.
Du kommer att få frågan om vilket vakna ord du ska använda. Alexa är standardvalet, så tryck på Enter.
Svara nej om du inte vill använda light-läge och visualisering.
Konfigurationsverktyget genererar din modulinformation. Det kommer se ungefär ut så här:
{ module: "MMM-awesome-alexa", position: "bottom_bar", config: { wakeWord: "Alexa", clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET", deviceId: "YOUR_DEVICE_ID", refreshToken: "YOUR_REFRESH_TOKEN", lite: false, isSpeechVisualizationEnabled: false } }
Kopiera dessa rader. Vi behöver lägga till dem i Magic Mirror-konfigurationen.
Lägg till Alexa-modulen i Magic Mirror-konfigurationen
Byt till mappen där Magic Mirror-konfigurationen lagras med följande kommando:
cd ~/MagicMirror/config
Öppna config.js med nano-kommandot:
nano config.js
Strax efter den första instansen av } (som är slutet på en modul) trycker du på Enter för att skapa en tom rad före nästa { (som är början på en ny modul).
På den nya tomma raden klistrar du in modulkoden från konfigurationsverktyget. Den automatiskt genererade koden har ett fel, du måste även lägga till ett kommatecken efter sista klammern så att din modul slutar med },
Använd Ctrl+x för att stänga filen. När du uppmanas, skriv ”y” för att bekräfta lagringen och tryck på Enter för att behålla samma filnamn.
Modulen är klar. För att starta om Magic Mirror-programvaran med den nya modulen, skriv pm2 restart mm och Magic Mirror-programvaran startar om. Alexa bör nu fungera på din smarta spegel.
Detta är en av de mer komplicerade modulerna att ställa in för Magic Mirror. Men för andra moduler är grundstegen samma, ladda ner koden, konfigurera modulspecifika inställningar, lägg till modulen i konfigurationen. Du kan lägga till snöflingor till din spegel, eller en rörelsedetektor, eller visa dina Google Foton.