PcDuino V2 bylo na trh uvedeno teprve nedávno společností LinkSprite. Jako oficiální distributor je pro ČR společnost HW Kitchen. Jedná se tzv. mini-pc kompatibilní s Arduino. Nabízí se mnoho možných scénářů využití – od nízkoúrovňového programování přes řízení kamerových systémů až po obsluhu serveru. V této recenzi jsem programování vynechal a soustředil se zejména na multimédia a servery.
Technické parametry pcDuino V2:
CPU: 1 GHz ARM Cortex A8
GPU: OpenGL ES2.0, OpenVG 1.1 Mali 400 core
DRAM: 1 GB
Úložiště: 2 GB Flash, slot na SD karty až do 32 GB
Video výstup: HDMI
USB: 1× USB 2.0 (je potřeba využít hub pro zapojení klávesnice a myši)
OS: Lubuntu, Android ICS
Rozhraní na rozšíření: 2,54 mm výstupy kompatibilní s Arduino
Síťové rozhraní: RJ45 a USB WiFi Dongle
Jak lze vidět, tak výkonné je zařízení dostatečně na prohlížení internetu, přehrávání multimédií případně obsluhu nějakého serveru. Na své si přijdou také vývojáři, pro které je připraveno vývojové prostředí ArduinoIDE. Podporovány jsou jazyky C, C++, Python a Java s podporou pro Android SDK, což je dle mého názoru dostačující.
Pro pcDuino bylo vytvořeno API, které umožňuje přístup ke všem funkcím při použití jednoduchého programovacího jazyka Arduina. Je upraveno tak, aby mohla opensource komunita jednoduše vyvíjet výpočetně závislé projekty za použití rozsáhlých katalogů Arduino Shieldů.
Vývojové prostředí Arduino – spuštěním dojde k zahájení blikání LED diody na Arduinu
Výchozí operační systém – Lubuntu 12.04
Jako výchozí operační systém je zde ARM port linuxové distribuce Lubuntu 12.04. Volbu prostředí LXDE lze hodnotit jenom kladně, běhá svižně i ve Full HD rozlišení. K prohlížení internetu slouží Chromium, jako textový editor je zde AbiWord, pro tabulky Gnumeric a pro multimédia XBMC. Pro testování jsem použil poslední oficiální verzi (ze 6. září 2013) obrazu, kterou jsem po flashnutí zaktualizoval klasicky pomocí apt-get
.
Takové to domácí serverování
Jednou z dalších možností, jak pcDuino použít, je vytvoření serveru. Otestoval jsem kompletní LAMP (Linux+Apache+MySQL+PHP), FTP a SSH. Instalace byla primitivní, stačilo použít tasksel, který vše obstaral. Během ní se sice nezobrazovaly žádné informace o průběhu, ale po několika minutách byla zdárně dokončena. Trochu jsem si taky pohrál s Bukkitem, serverem pro oblíbenou hru Minecraft. Všechno fungovalo naprosto bez problémů.
Multimédia bez problémů
Přes WiFi síť jsem byl schopen přehrávat maximálně 720p,1080p jsem poté otestoval z lokálního úložiště (SD karty). Obojí fungovalo naprosto plynule bez jakýchkoliv záseků, deformací obrazu atp. Pro ovládání doporučuji využít aplikaci Yatse pro Android, která váš telefon doslova přemění na dálkový ovladač. Pro streamování obsahu z mobilního telefonu se mi zase nejvíce osvědčila aplikace Skifta. Můžete tak z jakékoliv televize udělat SmartTV nebo obohatit chytrou televizi o plnohodnotné aplikace.
Potřebujete akceleraci grafiky?
Bohužel je ve výchozím nastavení grafické jádro (Mali 400) neaktivní. Pro jeho aktivaci je potřeba zkompilovat ovladač pro X server a nainstalovat uzavřené ovladače od ARM. Navíc je dokumentace na webu pcduino neaktuální, a proto je potřeba trochu zapátrat. Já vás tohohle ušetřím a sepíši zde stručný postup na zprovoznění jak 2D, tak i 3D akcelerace. Ta funguje jen přes EGL, takže ji stejně většina aplikací nebude umět využít.
Pro editaci souborů jsem v tomto návodu použil nano. Na začátek jen připomenu, že se provedené změny uloží klávesovou zkratkou CTRL + X a potvrzením přepsání souboru (Y). Chtěl bych jen upozornit, že po povolení 3D akcelerace začalo docházet k pádům multimediálního centra XBMC. Využití tedy spíše očekávám, jakmile bude více aplikací podporovat EGL.
1. Nainstalujte potřebné balíky
sudo apt-get install build-essential libdri2-dev xorg-dev xutils-dev git git-core automake libtool libdrm-dev xutils-dev x11proto-dri2-dev libltdl-dev nano
2. Upravte konfigurační soubor X serveru
sudo nano /etc/X11/xorg.conf
První blok bude vypadat takto:
Section "Device" Identifier "Mali FBDEV" Driver "fbturbo" Option "fbdev" "/dev/fb0" Option "DRI" "false" Option "DRI2" "true" Option "DRI2_PAGE_FLIP" "true" Option "DRI2_WAIT_VSYNC" "false" Option "SwapbuffersWait" "false" Option "Debug" "true" EndSection
Pokud máte starší verzi firmware, tak bude potřeba odstranit řádek Disable "glx" z druhého bloku. Poté editujte předposlední blok, kde do Modes dosaďte rozlišení svého monitoru.
Section "Screen" Identifier "Mali Screen" Device "fbturbo FBDEV" Monitor "Monitor0" SubSection "Display" Depth 24 Modes "1366x768-60" EndSubSection EndSection
3. Upravte konfigurační soubor pro knihovnu hardwarového akcelerátoru
sudo nano /etc/udev/rules.d/50-mali.rules
Přidejte tyto dva řádky:
KERNEL=="mali", MODE="0660", GROUP="video" KERNEL=="ump", MODE="0660", GROUP="video"
4. Nainstalujte binární ovladače Mali
git clone https://github.com/linux-sunxi/sunxi-mali.git cd sunxi-mali git submodule init git submodule update sudo make install
5. A na závěr je potřeba zkompilovat ovladač X serveru
git clone https://github.com/ssvb/xf86-video-fbturbo.git cd xf86-video-fbturbo autoreconf -vi ./configure --prefix=/usr make sudo make install
6. Proveďte restart zařízení
Vyplatí se?
Jako výhody bych vypíchl výkonný a moderní hardware (ARMv7, 1GB RAM, 2GB NAND) a přítomnost WiFi adaptéru přímo na desce. Jako nevýhodu pak lze brát menší povědomí o tomto zařízení mezi vývojáři, a tedy méně podporovaného softwaru (oproti známějšímu Raspberry Pi).
Oficiálně na něj jsou dostupné pouze 2 operační systémy – Lubuntu a Android. Neoficiálně lze pak doinstalovat Arch Linux. Škoda je také problémů s 2D a 3D akcelerací, to jsou však věci, které mohou být opraveny vydáním nového firmware. PcDuino lze považovat za PC a Arduino v jednom a za cenu přibližně 1500 Kč mohu jeho nákup jenom doporučit.
Za poskytnutí pcDuino V2 děkuji HW Kitchen.