Hur man lägger till Alexa till din smarta spegel

En smart spegel med Amazon Echo reflekterad.

Om du byggt en smart spegel har du redan praktisk tillgång till kalendrar, väder och nyheter. Men du kan göra mer än så! Programvaran Magic Mirror låter dig lägga till moduler för extra funktioner, som Alexa för röststyrning.

Andra utvecklare skapar dessa moduler. Alternativen varierar från det användbara, som Alexa eller närvarodetektering (genom en kamera eller passiv infraröd sensor), till det underhållande, som snöflingor och Spotify-uppspelningsinformation.

Vi rekommenderar mmm-häftigt-alexa eftersom det verkar vara väl underhållet av en aktiv utvecklare, även om det finns andra Alexa-moduler för programvaran Magic Mirror.

Om du föredrar att installera Google Assistant erbjuder Google en komplett handledning för att installera Assistant på en Raspberry Pi, inklusive steg, bilder och nedladdningslänkar. Medan det finns några Magic Mirror-moduler för Google Assistant, visade vår undersökning att modulerna var problematiska, ofta kraschar eller täcker spegelinformationen. Om du vill ha den enklaste installationen rekommenderar vi att du lägger till Google AIY-kit och använder dess specifik handledning.

För att installera de flesta moduler går du igenom några grundläggande steg:

Ladda ner modulkoden från GitHub
Konfigurera modulspecifika alternativ
Lägg till modulen i spegelkonfigurationen

Beroende på modul kan steg två och tre vara mer eller mindre involverade. Att ställa in Alexa kräver mer konfiguration än att till exempel lägga till snöflingor. Dessutom kräver denna Alexa-modul att du installerar ytterligare programvara (beroenden) innan du laddar ner modulen.

Materialet du behöver

Den här guiden förutsätter att du redan har skapat en Smart Mirror. Om du inte har gjort det ännu, börja där men tänk på de extra materialen som anges här i dina kostnader och utrymmesöverväganden.

Komplett Smart Mirror
Mikrofon
Högtalare

För mikrofon och högtalare rekommenderar vi originalet Google AIY Voice Kit. För 16 USD kommer du att få svårt att hitta en billigare kombination av mikrofon och högtalare. Du behöver inte nödvändigtvis använda den medföljande kartongen; det kan vara mer effektivt att lämna ut komponenterna och köra mikrofonen och högtalaren utanför spegeln.

En andra version av Google AIY Voice Kit är tillgänglig, men den är dyrare och inkluderar en Raspberry Pi Zero, som inte är tillräckligt kraftfull för att köra vakna ord eller programvaran Magic Mirror, så du bör hoppa över den.

Anslut din högtalare och mikrofon så är du redo att installera Alexa-modulen. Om du använder Google AIY-kit, följ bara det monteringsguide för anslutning av mikrofon och högtalarkomponenter.

Installera modulberoenden

Innan du kan ladda ner och konfigurera mmm-awesome-alexa måste du installera några beroenden som modulen är beroende av. Det är alltid en bra idé att uppdatera din Raspberry Pi innan du försöker installera något annat. Börja med att köra det här kommandot på din Raspberry Pi:

sudo apt update && sudo apt upgrade

När din Raspberry Pi är uppdaterad, kör följande kommandon ett efter ett:

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 ett beroende, och de är alla nödvändiga för att köras. Kör bara ett kommando, vänta tills nedladdningen och installationen är klar och kör sedan nästa kommando.

Ladda ner modulkoden

Det första steget för att lägga till valfri modul för Magic Mirror är att ladda ner modulens kod Github. För att göra detta måste du logga in på Raspberry Pi, öppna terminalen och byta katalog till där modulerna lagras. Sedan använder du ett nedladdningskommando för att hämta koden från Github. Om du har skalåtkomst kan du göra allt detta på distans.

När du har en terminal öppen skriver du följande:

cd ~/MagicMirror/modules

Detta kommando flyttar dig till arbetskatalogen för modulmappen för programvaran Magic Mirror. Varje gång du laddar ner en ny modul vill du vara här för att hålla allt organiserat. Nästa steg är att ladda ner programvaran från Github med detta kommando:

git clone https://github.com/dolanmiu/MMM-awesome-alexa.git

När det är klart, ändra kataloger till modulen med följande kommando:

cd MMM-awesome-alexa

Alexa-modulen kräver några ytterligare beroenden för att fungera korrekt. Kör det här kommandot för att installera dem:

npm install --only=prod

Ändra nu kataloger till den nyskapade node_modules-mappen:

cd node_modules

Ta bort snowboy-mappen som de tidigare kommandona lades till. Vi behöver en nyare version av snowboy:

rm -rf snowboy

Därefter laddar vi ner den senaste versionen av snowboy med följande kommando:

git clone https://github.com/Kitt-AI/snowboy.git

Innan vi fortsätter, byt katalog till den nya snowboy-mappen.

cd snowboy

Nu måste vi ta bort mappen node_modules och installera några ytterligare beroenden. Det är viktigt att du håller dig inne i snowboy-mappen för dessa steg; byt inte kataloger. Kör följande kommandon ett efter ett:

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

Nu när mmm-awesome-alexa-modulen är installerad måste vi konfigurera den. Det första steget är att ändra kataloger till modulens rot. Skriv följande kommando i terminalen och tryck sedan på Enter:

cd ~/MagicMirror/modules/MMM-awesome-alexa

Denna Alexa-modul har en konfigurationshjälp; vi vill köra det. I terminaltyp:

npm run config-helper

Du kommer att se en uppmaning som ber om ett klient-ID. Eftersom du i huvudsak ställer in ett specialbyggt Echo, måste du öppna en webbläsare och gå till Alexa utvecklarwebbplats. Logga sedan in med ditt Amazon-konto.

När du har loggat in klickar du på knappen ”Kom igång”. Du skapar en enhet, så klicka på ”Produkter” och klicka på ”Skapa produkt.”

På nästa skärm, ge din produkt ett namn och produkt-ID – vi föreslår ”Magic_Mirror_Alexa” för namnet och ”Ditt Förnamn_MM_Alexa” för produkt-ID. Välj Smart Home för kategorin och aktivera både handsfree- och fjärrfältsalternativ. Du kommer att se en rad ja- eller 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. Skriv sedan vilken beskrivning du vill ha och klicka sedan på Nästa.

Kontrollera avtalet och klicka på Slutför.

Klicka på din nyskapade produkt, sedan säkerhetsprofil, så bör du se ett klient-ID och klienthemlighet.

I den tillåtna retur-URL-inmatningstypen:
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

Klicka sedan på knappen Lägg till. Rulla ned och klicka på uppdateringsrutan för att slutföra 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 sedan på Enter. Nu kommer terminalen att fråga efter en klienthemlighet. Växla tillbaka till webbläsaren, kopiera klienthemligheten, klistra in den i Terminal och tryck på Enter.

När du uppmanas att ange enhets-ID, ange namnet du skapade ovan som ett produkt-ID (Magic_Mirror_Alexa i vårt exempel).

När du blir ombedd att ange en retur-URL, skriv följande kommando och tryck på Retur:

https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

Terminalen kommer att visa en anpassad länk. Kopiera det och klistra in det 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 oroa dig inte! Detta förväntas. Bläddra igenom webbadressen till felsidan och hitta avsnittet ”Code=xxxxxx”.

Kopiera bokstäverna och siffrorna som visas mellan ”code=” och ”&scope” och klistra in dem i terminalen. Tryck på Enter när du är klar.

När du tillfrågas om du vill skapa MagicMirror-konfigurationen, skriv Y och tryck på Enter.

Du kommer att bli tillfrågad vilket wake word du ska använda. Alexa är standardvalet så tryck på Enter.

Svara nej för att använda lite läge och visualisering.

Konfigurationshjälpen genererar din modulinformation. Det kommer att se ut ungefär 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 måste lägga till dem i Magic Mirror-konfigurationen.

Lägg till Alexa-modulen till Magic Mirror Configuration

Ändra sedan katalog till Magic Mirror-konfigurationsmappen med följande kommando:

cd ~/MagicMirror/config

Och öppna config.js med nano-kommandot:

nano config.js

Strax efter den första instansen av } (som är slutet på modulen) tryck på Enter för att skapa en tom rad före nästa { post (som är början på en ny modul).

På den nya tomma raden du skapade, klistra in modulkoden från konfigurationshjälparstegen. Den automatiskt genererade koden har ett misstag; du måste också skriva ett kommatecken efter den sista parentesen 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 filnamnet detsamma.

Modulen är klar. För att starta om din Magic Mirror-programvara med modulen på plats, skriv pm2 restart mm och Magic Mirror-mjukvaran kommer att starta om. Alexa bör nu fungera på din Magic Mirror.

Detta är en av de mer komplicerade modulerna du kan ställa in för Magic Mirror. Men för andra moduler är de grundläggande stegen desamma, ladda ner koden, konfigurera modulspecifika alternativ, lägg till modulen i konfigurationen. Du kan lägga till snöflingor till din spegel, eller rörelsedetektor, eller till och med visa din Google Foton.