Jak přidat Alexu do chytrého zrcadla

Inteligentní zrcadlo s integrací Amazon Echo.

Pokud vlastníte chytré zrcadlo, máte již k dispozici praktické funkce jako kalendář, informace o počasí a aktuální zprávy. Ale možnosti se tím neomezují! Software Magic Mirror umožňuje rozšířit jeho funkčnost pomocí modulů, které přidávají další schopnosti, jako je hlasové ovládání skrze Alexu.

Různí vývojáři vytvářejí tyto moduly a jejich nabídka je pestrá. Naleznete zde užitečné nástroje, například integraci s Alexou či detekci přítomnosti (pomocí kamery nebo pasivního infračerveného senzoru), ale také zábavné doplňky, jako jsou animace sněhových vloček nebo informace o přehrávané hudbě ze Spotify.

Doporučujeme mmm-awesome-alexa, modul s aktivní podporou vývojáře. Samozřejmě existují i další moduly pro Alexu dostupné pro Magic Mirror software.

Pro uživatele preferující Google Assistanta nabízí Google kompletní návod pro jeho instalaci na Raspberry Pi, včetně podrobných kroků, obrázků a odkazů ke stažení. I když existuje několik modulů pro Google Assistanta určených pro Magic Mirror, naše testování odhalilo, že tyto moduly mohou být problematické, často dochází k jejich selhávání nebo překrývání zrcadlených informací. Pokud preferujete přímé a spolehlivé řešení, doporučujeme zvážit Google AIY kit a postupovat podle jeho specifického návodu.

Instalace většiny modulů vyžaduje splnění několika základních kroků:

  • Stažení zdrojového kódu modulu z GitHubu
  • Konfigurace specifických nastavení modulu
  • Přidání modulu do konfigurace zrcadla

Složitost kroků dva a tři se může lišit v závislosti na konkrétním modulu. Konfigurace Alexy vyžaduje více úsilí než například přidání animovaných sněhových vloček. Navíc modul pro Alexu vyžaduje před samotným stažením instalaci dalšího softwaru (závislostí).

Potřebné materiály

Tento návod předpokládá, že máte již funkční chytré zrcadlo. Pokud jej nemáte, doporučujeme začít s jeho stavbou, přičemž berte v potaz další zde zmíněné materiály pro vaše rozpočtové a prostorové plánování.

Seznam potřebných materiálů:

  • Dokončené chytré zrcadlo
  • Mikrofon
  • Reproduktor

Pro mikrofon a reproduktor se jako optimální jeví originální Google AIY Voice Kit. Za cenu kolem 16 dolarů jen těžko najdete výhodnější kombinaci mikrofonu a reproduktoru. Není nezbytně nutné použít přiloženou kartonovou krabici; možná bude efektivnější umístit mikrofon a reproduktor mimo zrcadlo.

K dispozici je také druhá verze Google AIY Voice Kit, která je však dražší a obsahuje Raspberry Pi Zero, které nemá dostatečný výkon pro spouštění detekce klíčových slov nebo Magic Mirror software, takže ji doporučujeme přeskočit.

Po připojení reproduktoru a mikrofonu můžete přistoupit k instalaci modulu pro Alexu. Pokud používáte Google AIY kit, postupujte podle montážního návodu pro správné připojení komponent mikrofonu a reproduktoru.

Instalace závislostí modulu

Před samotným stažením a konfigurací mmm-awesome-alexa musíte nainstalovat několik závislostí, na kterých modul funguje. Před jakoukoliv další instalací je vhodné aktualizovat systém Raspberry Pi. Na vašem Raspberry Pi spusťte následující příkaz:

sudo apt update && sudo apt upgrade

Po aktualizaci systému Raspberry Pi, spusťte postupně následující příkazy:

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

Každý z těchto příkazů nainstaluje potřebnou závislost. Spusťte každý příkaz postupně, počkejte na dokončení stahování a instalace, a teprve poté spusťte další příkaz.

Stažení kódu modulu

Prvním krokem pro přidání libovolného modulu do Magic Mirror je stažení jeho zdrojového kódu z Githubu. Pro tento účel se musíte přihlásit do Raspberry Pi, otevřít terminál a přepnout do adresáře, ve kterém jsou uloženy moduly. Poté použijte příkaz pro stažení kódu z Githubu. Všechny tyto kroky lze provést i vzdáleně, pokud máte přístup k shellu.

Po otevření terminálu zadejte následující příkaz:

cd ~/MagicMirror/modules

Tento příkaz vás přesune do pracovního adresáře složky modulů pro Magic Mirror. Jakýkoliv nový modul by měl být stažen do tohoto adresáře pro přehlednost. Nyní stáhněte software z Githubu pomocí tohoto příkazu:

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

Po dokončení stahování, přejděte do adresáře modulu pomocí tohoto příkazu:

cd MMM-awesome-alexa

Pro správnou funkci modulu Alexy je třeba doinstalovat ještě několik dalších závislostí. Nainstalujte je spuštěním následujícího příkazu:

npm install --only=prod

Nyní se přesuňte do nově vytvořeného adresáře node_modules:

cd node_modules

Odstraňte složku Snowboy, která byla přidána předchozími příkazy. Je potřeba novější verze Snowboy:

rm -rf snowboy

Dále stáhněte nejnovější verzi Snowboy pomocí následujícího příkazu:

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

Než budete pokračovat, změňte adresář do nové složky Snowboy.

cd snowboy

Nyní musíme odstranit složku node_modules a nainstalovat další závislosti. Ujistěte se, že během těchto kroků zůstanete ve složce Snowboy; neměňte adresáře. Spusťte jeden po druhém následující příkazy:

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

Modul je nyní kompletně stažen a nainstalován.

Konfigurace modulu Alexa

Po úspěšné instalaci modulu mmm-awesome-alexa přistoupíme k jeho konfiguraci. Prvním krokem je přepnutí do kořenového adresáře modulu. V terminálu zadejte následující příkaz a stiskněte Enter:

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

Tento modul pro Alexu disponuje konfiguračním asistentem, který nyní spustíme. V terminálu zadejte:

npm run config-helper

Následně budete vyzváni k zadání ID klienta. Protože v podstatě vytváříte vlastní Echo zařízení, budete muset otevřít webový prohlížeč a přejít na developerský web Alexa. Poté se přihlaste pomocí svého Amazon účtu.

Po přihlášení klikněte na tlačítko „Začít“. Protože vytváříte zařízení, klikněte na „Produkty“ a poté na „Vytvořit produkt“.

Na další obrazovce zadejte název a ID produktu – doporučujeme „Magic_Mirror_Alexa“ jako název a „VaseJmeno_MM_Alexa“ jako ID produktu. Jako kategorii vyberte Smart Home a povolte volby handsfree i vzdáleného pole. Uvidíte několik otázek s možností odpovědi ano/ne, vyberte „Ne“ u všech a poté klikněte na „Další“.

Na obrazovce bezpečnostního profilu klikněte na „Vytvořit nový profil“. Pro svůj bezpečnostní profil použijte stejný název jako pro ID produktu. Poté zadejte libovolný popis a klikněte na tlačítko „Další“.

Zkontrolujte smlouvu a klikněte na Dokončit.

Klikněte na svůj nově vytvořený produkt, poté na bezpečnostní profil a měli byste vidět ID klienta a tajný klíč klienta.

V povoleném typu položky pro návratovou adresu URL zadejte:
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

Poté klikněte na tlačítko „Přidat“. Přejděte dolů a kliknutím na pole aktualizace dokončete přidávání URL.

Terminál vás vyzve k zadání ID klienta. Zkopírujte ID klienta z prohlížeče, vložte jej do terminálu a stiskněte Enter. Nyní terminál vyzve k zadání tajného klíče klienta. Přepněte zpět do prohlížeče, zkopírujte tajný klíč klienta, vložte jej do terminálu a stiskněte Enter.

Když budete požádáni o zadání ID zařízení, zadejte název, který jste zvolili výše jako ID produktu (v našem příkladu Magic_Mirror_Alexa).

Až budete požádáni o zadání návratové adresy URL, zadejte následující příkaz a stiskněte Enter:

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

Terminál vygeneruje odkaz. Zkopírujte ho a vložte do prohlížeče. Poté se přihlaste pomocí svého Amazon účtu, pokud budete vyzváni. Na následující obrazovce klikněte na Povolit.

V prohlížeči se zobrazí chyba, ale nebojte se! To je očekávané chování. Prohlédněte si URL chybové stránky a najděte sekci „Code=xxxxxx“.

Zkopírujte písmena a čísla, která se objevují mezi „code=“ a „&scope“ a vložte je do terminálu. Až budete hotovi, stiskněte Enter.

Na otázku, zda chcete vygenerovat konfiguraci pro MagicMirror, napište „Y“ a stiskněte Enter.

Budete dotázáni, které budící slovo chcete použít. Alexa je výchozí volba, takže stačí stisknout Enter.

Zvolte „ne“ pro použití zjednodušeného režimu a vizualizaci.

Konfigurační asistent vygeneruje konfiguraci pro váš modul, která bude vypadat přibližně takto:

{
 module: "MMM-awesome-alexa",
 position: "bottom_bar",
 config: {
 wakeWord: "Alexa",
 clientId: "VAŠE_CLIENT_ID",
 clientSecret: "VÁŠ_CLIENT_SECRET",
 deviceId: "VAŠE_DEVICE_ID",
 refreshToken: "VÁŠ_REFRESH_TOKEN",
 lite: false,
 isSpeechVisualizationEnabled: false
 }
 }

Zkopírujte tyto řádky. Musíme je přidat do konfigurace Magic Mirror.

Přidání modulu Alexa do konfigurace Magic Mirror

Poté změňte adresář na konfigurační složku Magic Mirror pomocí následujícího příkazu:

cd ~/MagicMirror/config

Otevřete soubor config.js pomocí příkazu nano:

nano config.js

Hned po první instanci } (která představuje konec modulu) stiskněte Enter, abyste vytvořili prázdný řádek před dalším { (který označuje začátek nového modulu).

Na nový prázdný řádek, který jste vytvořili, vložte kód modulu z kroků konfiguračního asistenta. Automaticky vygenerovaný kód má chybu; také budete muset dopsat čárku za poslední závorku, aby váš modul končil na },

Pomocí klávesové zkratky Ctrl+x zavřete soubor. Po zobrazení výzvy zadejte „y“ pro potvrzení uložení a stiskněte klávesu Enter, aby název souboru zůstal beze změny.

Modul je tímto dokončen. Pro restartování softwaru Magic Mirror s nainstalovaným modulem napište příkaz „pm2 restart mm“ a software Magic Mirror se restartuje. Alexa by nyní měla fungovat na vašem Magic Mirror.

Toto je jeden z komplexnějších modulů, které můžete pro Magic Mirror nastavit. Ale u ostatních modulů jsou základní kroky stejné – stáhněte kód, konfigurujte specifické možnosti, přidejte modul do konfigurace. Můžete si do svého zrcadla přidat animované sněhové vločky, nebo detekci pohybu, nebo si dokonce zobrazit fotky z Google Photos.