- Potřebné materiály
- Předběžné požadavky
- Nainstalujte TTS Engine (Espeak) pro Raspberry Pi
- Vytváření grafického uživatelského rozhraní pro budík mluvící na Raspberry Pi
- Návrh grafického uživatelského rozhraní pomocí Qt Designer
" Dobré ráno." Je 7:00. Počasí v Malibu je 72 stupňů s rozptýlenými mraky. Podmínky surfování jsou spravedlivé s vysokými liniemi od pasu k rameni. Příliv bude v 10:52 “. Pokaždé, když slyším Jarvisův hlas ve filmu Iron Man, posílá mi zimnice po zádech. Jsem si jistý, že stejně jako já by mnozí z nich snili o životě tak sofistikovaném jako Tony Stark. Bohužel jsme však nepokročili s technologií pro miniaturní obloukový reaktor nebo umělou inteligenci tak chytrou jako JARVIS. Ale je možné nahradit naše nudné ranní budíky takovými, které jsou podobné Jarvisovi pomocí Raspberry Pi. Na konci tohoto projektu vytvoříme velmi základní grafické uživatelské rozhraní, pomocí kterého můžeme nastavit alarm, a když se alarm spustí, budeme mít hlas, který nám řekne aktuální čas a den s nějakým předdefinovaným textem. Zní to dobře !! Postavme si tedy jeden.
Potřebné materiály
- Raspberry Pi
- 3,5 ”TFT LCD obrazovka
- mluvčí
- AUX kabel
- Připojení k internetu
Předběžné požadavky
Předpokládá se, že váš Raspberry Pi již má nainstalovaný operační systém a je schopen se připojit k internetu. Pokud ne, postupujte podle pokynů v příručce Začínáme s Raspberry Pi. Zde používáme Rasbian Jessie nainstalovanou Raspberry Pi 3.
Předpokládá se také, že máte přístup k vašemu pi buď prostřednictvím terminálových oken, nebo prostřednictvím jiné aplikace, pomocí které můžete psát a spouštět pythonovské programy a používat terminálové okno.
Možná budete také chtít vyzkoušet, jak propojit 3,5 ”TFT LCD s Raspberry Pi, protože jej budeme v tomto projektu používat.
Nainstalujte TTS Engine (Espeak) pro Raspberry Pi
Jak uvádí název projektu, postavíme mluvící hodiny. Aby vaše pí mluvilo, potřebujeme modul převodu textu na řeč (TTS). Existuje tolik možností na výběr, ale pro jednoduchost jsem vybral motor Espeak. Chcete-li nainstalovat Espeak na svůj Pi, jednoduše spusťte na svém terminálu následující příkaz
sudo apt-get install espeak sudo apt-get install espeak python-espeak
Vytváření grafického uživatelského rozhraní pro budík mluvící na Raspberry Pi
Pro tento projekt musíme vyvinout GUI, které představuje budík, aby uživatel mohl zobrazit aktuální čas a také nastavit budík. Existuje spousta možností, jak vytvořit GUI pomocí Pythonu, ale nejpopulárnější a nejuniverzálnější je PyQt4, takže to využijeme k vývoji našeho GUI. V několika následujících nadpisech diskutujeme o tom, jak pomocí PyQt4 navrhnout vlastní grafické uživatelské rozhraní, ale pokud nemáte zájem, můžete přímo přeskočit dolů na nadpis „ Program pro mluvení budíku “.
Instalace PyQt4 s Qt designer na vašem počítači se systémem Windows
Vzhledem k tomu, že navrhujeme grafické uživatelské rozhraní, začneme nejprve programovat na svém notebooku (Windows / Linux) a poté tento pythonovský skript přeneseme, aby fungoval na našem Pi. Vzhledem k tomu, že PyQt4 má velmi dobrou přenositelnost, většina vývojářů to dělá, protože vývoj je v notebooku snadný a rychlejší než ve skutečnosti na Raspberry Pi.
Nainstaloval jsem balíčky pythonu a PQt na svém počítači se systémem Windows; pokud vás to nezajímá, můžete své grafické uživatelské rozhraní vyvinout na svém malinovém pi jednoduše přeskočením tohoto kroku. Chcete-li nainstalovat PQt na Windows, stáhněte si tento soubor exe a během instalačního postupu se ujistěte, že jste zkontrolovali software Qt designer, protože jej budeme používat pro náš projekt.
Instalace PyQt na strojích Pi / Linux / MAC
Chcete-li nainstalovat PyQt na stroj Linux, jednoduše spusťte následující řádek na příkazovém terminálu
sudo apt-get install python-qt4
Návrh grafického uživatelského rozhraní pomocí Qt Designer
Jednou znatelnou výhodou používání PyQt4 pro vaše návrhy GUI je to, že má software Qt designer. Tento software lze použít k vytváření tlačítek, displejů, textů a další grafiky jednoduchým přetažením věcí na obrazovku a jejich umístěním, kamkoli je potřeba. To nám ušetří spoustu času, protože nemusíme ručně vkládat velikost a polohu objektů na naší obrazovce. Nainstaloval jsem si Qt designer spolu s Pythonem a PyQt4 na svém notebooku se systémem Windows pomocí souboru exe, jak je popsáno výše. Po instalaci otevřete svůj Qt Designer a dostanete se na tuto obrazovku.
Na levé straně najdete rozložení, mezerníky, tlačítka a další položky, které můžete jednoduše použít přetažením do okna. Objekty můžete podle potřeby upravit také pomocí oken vpravo. K vytvoření uživatelského rozhraní našeho budíku jsem použil 7segmentový LCD displej, tlačítko, textový řádek a nastavil časový objekt. Poté, co jsem pomocí rozvržení umístil všechny objekty na požadované místo a velikost, moje okno vypadalo asi takto níže
Jakmile bude vaše grafické uživatelské rozhraní připraveno, můžete svůj návrh uložit jako soubor .ui . Později, kdykoli budete chtít provést změny ve svém grafickém uživatelském rozhraní, můžete jednoduše otevřít tento soubor a provést změny, aniž byste museli v programu procházet nahoru a dolů. Soubor.ui pro mluvící hodiny lze stáhnout, pokud si přejete v tomto designu provést nějaké změny. Jakmile budete s návrhem grafického uživatelského rozhraní spokojeni, můžete jej exportovat jako kód pythonu, odkud můžete začít s programováním v pythonu.
Vím, že mnoho věcí by se vám odrazilo přes hlavu, ale není možné vysvětlit, jak používat knihovnu Qt4 v jediném tutoriálu. Chcete-li vědět, můžete se obrátit na sérii tutoriálů sentdex PyQt4