Osnova témat
-
Raspberry Pi projekty, hračky a výzvy
Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu "Rozvoj lidských zdrojů TUL pro zvyšování relevance, kvality a přístupu ke vzdělání v podmínkách Průmyslu 4.0" CZ.02.2.69/0.0/0.0/16_015/0002329 – ESF OP VVV.
-
Budeme si hrát. Elektronické hračky, trochu toho programování, něco málo sestavování. Počítač Raspberry Pi je malý a přitom dostatečně výkonný a co vlastně umí, to ukáže video.
Co potřebuji:
- počítač Raspberry Pi, verze B, varianta 3 nebo 4 pro rozumný výkon
- zdroj 5V, nejméně 2A, microUSB A pro Raspberry 3 a nižší, USB C pro Raspberry 4
- kabel k monitoru, HDMI pro Raspberry 3 a nižší, miniHDMI pro Raspberry 4
- microSD kartu (alespoň 8 GB)
- USB myš a klávesnici
- monitor
Vhodné distribuce pro Raspberry
- Raspberry Pi OS: distribuce OS Linux vyvíjená přímo pro Raspberry Pi, hodí se pro všechny desky
- Ubuntu Mate: distribuce OS Linux vhodná pouze pro model 4, velmi přátelský desktop
- Windows 10 IoT Core: Windows 10 pro malé počítače. Vhodné, pokud chcete simulovat desktop. Pokud ale chcete programovat, používat rozšíření pro RPi, jděte do Linuxu.
- ... spousty distribucí orientovaných na hry nebo multimédia založených na OS Linux.
Instalace:
- Stáhněte obraz OS pro vaše Raspberry na váš počítač. Vezměte SD kartu a nahrajte tento obraz na ni.
- SD kartu s obrazem OS vložte do Raspberry Pi, připojte klávesnici, myš, obrazovku a zdroj. Tím RPi zapnete.
- Sledujte, jak nabíhá OS a probíhá nastavení.
Co nastavit (specificky pro Raspberry Pi OS)
Nastavení Raspberry Pi OS provádějte pomocí GUI, terminálové aplikace
raspi-config
nebo úpravou konfiguračních souborů, nejlépe v tomto pořadí. V případě, že zvolíte jinou distribuci, bude chybět krok sraspi-config
a konfigurační soubory se mohou mírně lišit.Uživatelský účet
Výchozí uživatel má jméno pi a heslo raspberry. Je to natolik známá informace, že nikdy neponechávejte toto nastavení. Pokud vám změna hesla nepřijde dostatečně silné opatření, můžete změnit i přihlašovací jméno.
- Nastavte heslo pro uživatele root:
sudo passwd root
. Vraspi-config
zrušte autologin a start GUI. Restartuje počítač, měla by nab2hnout pouze příkazová řádka, kde se přihlásíte jako root a heslo, které jste zadali. - Proveďte příkaz
usermod -l nový_login pi
. - Pomocí oblíbeného textového editoru (třeba nano, ale pokud je to vim, musíte jej nejdříve nainstalovat) prohlédněte následující soubory a změňte uživatele pi na nový_login.
/etc/passwd
pokud budete chtít přejmenovávat také home uživatele:mv /home/pi /home/nový_login
, změňte toto nastavení i zde./etc/group
pokud budete chtít změnit jméno skupiny z pi na něco jiného/etc/subuid
/etc/subgid
/etc/lightdm/lightdm.conf
/etc/systemd/system/autologin\@.service
/etc/systemd/system/getty\@tty1.service.d/autologin.conf
/etc/sudoers.d/020_pijuice-nopasswd
pokud máte nainstalovanou platformu pijuice/etc/sudoers.d/010_pi-nopasswd
- V
raspi-config
vraťte autologin do GUI (pokud jej tedy chcete),raspi-config
se vás zeptá, pro kterého uživatele měníte nastavení, vy zadáte, že pro nový_login. Restartujte počítač.
Wifi
Automatické nastavení po prvním spuštění vás provede zadáním země, kde jste, vyhledáním wifi a zadáním hesla. Toto nastavení je ukládáno do souboru /etc/wpa.supplicant. V případě, že se snažíte připojit k síti jako třeba eduroam, můžete narazit na problémy.
SSH
V
raspi-config
obvykle ještě povoluju službu ssh, abych se k Raspberry Pi mohla připojit pomocí pohodlněho dektopového počítače. -
Jak použít Raspberry Pi jako multimediální stanici
- ujasněte si, co za multimédia chcete využít
- USB rozhraní je možné použít, ale nepřehnat to (ne více než 2 zařízení)
Obraz
- všechny počítače Raspberry nabízí připojení HDMI. Připojit obrazový výstup na monitor nebo na projektor je tedy snadné. V případě RPi 4 i na dva.
- displey port umožní připojení menší obrazovky (například 7'')
- nejmenší displeje (pod 3.5'') jsou připojované na GPIO
Zvuk - výstup
- Raspberry Pi umožňuje výstup pomocí 3.5mm jack nebo pomocí USB
- na GPIO je možné připojit externí zvukovou kartu
Zvuk - vstup
- jack na Raspberry Pi nemá vstup pro mikrofon
- použijte buď zvukovou kartu připojenou k GPIO, které často mívají integrovaný mikrofon(y)
- nebo externí zvukovou kartu do USB, která umožní připojení mikrofonu
- případně mikrofon do USB
Kamera
- camera port na desce Raspberry Pi slouží k připojení různých modelů kamer. Je potřeba je povolit v
raspi-config
(camera - enable). Jejich programování pomocí pythonovské knihovny PiCamera je velmi snadné. -
USB kamera je možná, ale také hodně zatěžuje výkon počítače
Jak připojit zařízení k GPIO
-
Dali jsme si úkol: sestrojit stanici pro online výuku umožňující snadnou práci pro menší dítě (ovládání mikrofonu bez klávesnice)
Co potřebuji:
- počítač Raspberry Pi 4, nejméně 4GB RAM (raději 8GB)
- zdroj 5V, nejméně 2A, USB C pro Raspberry 4
- kabel k monitoru miniHDMI
- microSD kartu (alespoň 8 GB)
- USB myš a klávesnici
- monitor
- tlačítko s připojením na GPIO (například Grove tlačítko, LED indikace není potřeba, ale není špatná)
- GPIO propojky (female-male a Grove-GPIO female)
- kamera (MIPI kamerový modul)
- USB zvuková karta + jack mikrofon (nebo libovolný jiný USB mikrofon) + reproduktor
Instalace:
Raspberry Pi OS. Ve starších verzích je potřeba povolit kameru v
rpi-config
. Také je potřeba zkontrolovat funkčnost mikrofonu, USB zvukové karty bývají bezproblémové.Připojení tlačítka:
- pin 2: 5v zdroj (na tlačítku signál VCC)
- pin 9: země (na tlačítku signál GND)
- pin 11: klávesa "D" (na tlačítku signál SIG2, ovládání tlačítka)
- pin 13: klávesa "Ctrl" (na tlačítku signál SIG2, ovládání tlačítka)
- pin 15: ovládání LED (na tlačítku signál SIG1, ovládání LED)
Kromě manuálního připojení tlačítka na GPIO je potřeba ještě do souboru
/boot/config
přidat řádky, které zajistí, že stisk tlačítka bude simulovat stisk klávesy Ctrl-C#gpio button #gpio=17=ip dtoverlay=gpio-key,gpio=17,label="D",keycode=32 dtoverlay=gpio-key,gpio=27,label="Ctrl",keycode=29
-
Co potřebuji:
- počítač Raspberry Pi 3 nebo 4
- PianoHat
- zdroj 5V, nejméně 2A
- microSDkarta (stačí 8GB)
- reproduktor
Instalace:
Raspberry Pi OS. Pro instalaci Piano HAT navštivte https://github.com/pimoroni/piano-hat
Připojení k Raspberry:
Při této úloze byl uživatel připojený pomocí SSH, tedy Raspberry běží bez monitoru, klávesnice, myši. Je to pohodlné, pokud stejně potřebujete mít vedle spuštěnou běžnou stanici a Raspberry vykonává nějakou svou menší úlohu. Nicméně připojení periferií a práce přímo na stanici by úlohu nijak nezměnila.
Odkazy:
Skládání vyšších harmonických funkcí
Analyzátor zvuku v mikrofonu,sprektrum
přednáška František Fuka: Hudba z geekovsko-matematického hlediska - DevFest Praha 2012: https://youtu.be/RQuRFCE5NzI
-
Co potřebuji:
- počítač Raspberry Pi, tentokrát bez nároku na výkon, stačí i verze 3
- zdroj 5V, nejméně 2A
- monitor
- microSD kartu (raději alespoň 64GB, chcete-li ukládat timelapse obrázky)
- USB myš a klávesnici (jen pro první spuštění, pak není potřeba
- kamera (MIPI kamerový modul nebo libovolná jiná kamera, kterou máte k dispozici)
Instalace:
Raspberry Pi OS nebo Ubuntu Mate. Pozor na novější verze Raspberry Pi OS a jejich kompatibilitu s knihovnou picam. Ve starších verzích Raspberry Pi OS je potřeba povolit kameru v
rpi-config
. Ubuntu Mate může a nemusí spolupracovat s některými MIPI kamerovými moduly.Kód:
Ukázka python skriptu pro spuštění kamery jednou za minutu a uložení obrázku se jménem
<rok><měsíc><den>_<hodina><minuta><sekunda>.jpg
do adresáře/home/ferda/fotky/
#!/usr/bin/python3 from time import sleep from picamera import PiCamera import requests import datetime camera = PiCamera() camera.resolution = (2592, 1944) camera.drc_strength = 'low' camera.start_preview() print("Camera warm-up time") sleep(2) try: while True: filename = "/home/ferda/fotky/" + datetime.datetime.now().strftime("%y%m%d_%H%M%S") + ".jpg" print(filename) camera.capture(filename) sleep(60) #takes photo every minute except KeyboardInterrupt: pass camera.stop_preview()
Obrázky je možné pak dále zpracovat podle chuti a schopností a video z nich vytvoří například příkaz:
ffmpeg -i moje_timelapse_video.mp4 -qscale 1 -qcomp 0 -qblur 0 /home/ferda/fotky/*.jpg
-
Co potřebuji:
- počítač Raspberry Pi, tentokrát bez nároku na výkon, stačí i verze 3 nebo Zero
- malý LCD displej
- microSD kartu (raději alespoň 64GB, chcete-li ukládat větší množství obrázků)
- USB myš a klávesnici
-
kamera (MIPI kamerový modul)
- platforma PiJuice s baterií
- zdroj pouze pro dobíjení
Instalace:
Raspberry Pi OS. Pozor na novější verze Raspberry Pi OS a jejich kompatibilitu s knihovnou picam. Ve starších verzích Raspberry Pi OS je potřeba povolit kameru v
rpi-config
.Programování:
Skript pro sběr obrázků je možné zkopírovat z úlohy "práce s kamerou". Pro praktické a častější použití je vhodné celou úlohu automatizovat, aby skript byl spouštěný po startu stroje.
Rozpoznávání obrazu:
Tuto část úlohy pro její obsáhlost ponechávám na laskavém divákovi. Proveditelné řešení je provést na velkém počítači strojové učení vzorů, ty pak přenést na raspberry a nechat jej rozpoznávat obrázky. V tomto případě už bych nepoužila pouze Raspberry Zero
Úsporná varianta:
Je možné vyzkoušet celý systém bez displeje, tedy pouze RPI s platformou PiJuice a kamerou. Hardwarová stránka se krásně zjednoduší, vystačíte s menší baterií. Na druhou stranu musíte zajistit spuštění programu pro sběr obrázků (možno automaticky po bootu přidáním do
crontab
s časem@reboot
) a kontrolou jejich kvality. Schůdné řešení je pomocí vzdáleného připojení se na RPI, pohodlné řešení je třeba namapování disku na jiný počítač ve stejné podsíti pomocí NFS, ale aby vše fungovalo automaticky, chce to už trochu cviku a nadšení pro přidělování statických IP adres. Nebyli byste první, kdo zjistí, že v ostrém provozu v podmínkách vzdáleným laboratorním vynález skončil na tom, že se zrovna nemůžu připojit, nemůžu zkontrolovat, jestli obrázky vznikají, a při návratu do domácího prostředí zjistit, že vše fungovalo, jen jsem zapomněla sundat krytku kamery.Raspberry v divočině:
Zatímco mobil či tablet venku vytáhnete bez obavy o jejich okamžité zničení, Raspberry Pi v krabičce od sušenek bude daleko křehčí. Při výrobě takové krabičky si dejte pozor, aby do ní nemohla vniknout vlhkost a zároveň bylo zařízeno odvětrávání a chlazení systému.