Raspberry Pi 1 model B rev. 2.0

      V posledních letech se roztrhl pytel s různými miniaturními jednodeskovými počítači v celé výkonové škále - od lowendového Arduina s 8b AVRky a 32b embedded ARMy až po nabušený Odroid. Za cenu kolem 1000 Kč vám nabídnou výkon běžného PC před cca 10 lety na malé destičce velikosti kreditní karty s příkonem pár wattů. Ty výkonnější jsou většinou osazeny aplikačními SoC procesory ARM Cortex-A7 / A9, dnes běžně s více jádry a 64b architekturou. Počet nových modelů a jejich výkon neustále roste, ceny naopak klesají. Zde bych upozornil, že cena není až tak důležitá, mnohem důležitější je podpora výrobce a mohutnost uživatelské komunity. Sebelepší HW je totiž na nic, když na něm sotva běží neodladěný FW/OS, výrobce to neřeší, nejsou k dispozici zdrojáky ani dokumentace a slabá komunita s tím nedokáže pohnout... Zde je stručný přehled základních parametrů nejrozšířenějších jednodeskových počítačů (průběžně aktualizuju):

model CPU cores GPU RAM/Flash LAN USB SATA video audio ref
Raspberry Pi Zero BCM2835, 1GHz 1 VideoCore IV 512MB/µSD - 1 OTG - HDMI HDMI 1
Raspberry Pi A BCM2835, 700MHz 1 VideoCore IV 256MB/SD - 1 OTG - HDMI, CSI/DSI, analog HDMI, analog 1
Raspberry Pi A+ BCM2835, 700MHz 1 VideoCore IV 256/512MB/µSD - 1 OTG - HDMI, CSI/DSI, analog HDMI, analog 1
Raspberry Pi B BCM2835, 700MHz 1 VideoCore IV 256/512MB/SD 100Mbit 2 - HDMI, CSI/DSI, analog HDMI, analog 1
Raspberry Pi B+ BCM2835, 700MHz 1 VideoCore IV 512MB/µSD 100Mbit 4 - HDMI, CSI/DSI, analog HDMI, analog 1
Raspberry Pi 2 B BCM2836, 900MHz 4 VideoCore IV 1GB/µSD 100Mbit 4 - HDMI, CSI/DSI, analog HDMI, analog 1, 2
Raspberry Pi 3 BCM2837 64b, 1,2GHz 4 VideoCore IV 1GB/µSD 100Mbit + WiFi + BT 4.1 4 - HDMI, CSI/DSI, analog HDMI, analog 1, 2, 3
Banana Pi M1 Allwinner A20, 1GHz 2 Mali-400MP2 1GB/SD 1000Mbit 2 + 1 OTG 1 HDMI, LVDS, CSI, analog HDMI, analog, onboard mic. 1
Banana Pi M1+ Allwinner A20, 1GHz 2 Mali-400MP2 1GB/µSD 1000Mbit + WiFi 2 + 1 OTG 1 HDMI, LVDS, CSI, analog HDMI, analog, onboard mic. 1
Banana Pi M2 Allwinner A31S, 1,2GHz 4 PowerVR SGX544MP2 1GB/µSD 1000Mbit + WiFi 4 - HDMI, LVDS, RGB, CSI HDMI, analog, onboard mic. 1
Banana Pi M2+ Allwinner H3, 1GHz 4 Mali-400MP2 1GB/µSD, 8GB eMMC 1000Mbit + WiFi + BT 4.0 2 + 1 OTG - HDMI, CSI HDMI 1
Banana Pi M3 Allwinner A83T, 1,8GHz 8 PowerVR SGX544MP1 2GB/µSD, 8GB eMMC 1000Mbit + WiFi + BT 4.0 2 + 1 OTG 1 HDMI, MIPI/DSI, CSI HDMI, analog, onboard mic. 1, 2, 3
Banana Pi M64 Allwinner A53 64b, 1,2GHz 4 Mali-400MP2 2GB/µSD, 8GB eMMC 1000Mbit + WiFi + BT 4.0 2 + 1 OTG - HDMI, MIPI/DSI, CSI HDMI, analog, onboard mic. 1
Orange Pi One Allwinner H3, 1,2GHz 4 Mali-400MP2 512MB/µSD 100Mbit 1 + 1 OTG - HDMI, CSI HDMI 1, 2
Orange Pi One Lite Allwinner H3, 1,2GHz 4 Mali-400MP2 512MB/µSD WiFi 2 + 1 OTG - HDMI, CSI HDMI, onboard mic. 1
Orange Pi+ Allwinner H3, 1,6GHz 4 Mali-400MP2 1GB/µSD 1000Mbit + WiFi 4 + 1 OTG 1 HDMI, CSI, analog HDMI, analog, onboard mic. 1, 2
Orange Pi PC Allwinner H3, 1,6GHz 4 Mali-400MP2 1GB/µSD 100Mbit 3 + 1 OTG - HDMI, CSI, analog HDMI, analog, onboard mic. 1
Orange Pi PC+ Allwinner H3, 1,3GHz 4 Mali-400MP2 1GB/µSD, 8GB eMMC 100Mbit + WiFi 3 + 1 OTG - HDMI, CSI, analog HDMI, analog, onboard mic.  
Orange Pi mini 2 Allwinner H3, 1,6GHz 4 Mali-400MP2 1GB/µSD 100Mbit 4 + 1 OTG - HDMI, CSI, analog HDMI, analog, onboard mic. 1
Orange Pi 2 Allwinner H3, 1,6GHz 4 Mali-400MP2 1GB/µSD 100Mbit + WiFi 4 + 1 OTG - HDMI, CSI, analog HDMI, analog, onboard mic. 1, 2
Orange Pi+ 2 Allwinner H3, 1,6GHz 4 Mali-400MP2 2GB/µSD, 16GB eMMC 1000Mbit + WiFi 4 + 1 OTG 1 HDMI, CSI, analog HDMI, analog, onboard mic. 1
PINE A64 Allwinner A53 64b, 1,2GHz 4 Mali-400MP2 512MB/µSD 100Mbit 2 - HDMI, CSI, DSI HDMI, analog 1
PINE A64+ Allwinner A53 64b, 1,2GHz 4 Mali-400MP2 1GB/µSD 1000Mbit 2 - HDMI, CSI, DSI HDMI, analog 1
ODROID-C0 Amlogic S805, 1,5GHz 4 Mali-450MP2 1GB/µSD, eMMC4.5 - 2 neos. - HDMI HDMI, I2S 1
ODROID-C1+ Amlogic S805, 1,5GHz 4 Mali-450MP2 1GB/µSD, eMMC4.5 1000Mbit 4 + 1 OTG - HDMI HDMI, I2S 1
ODROID-C2 Amlogic S905 64b, 2GHz 4 Mali-450MP3 2GB/µSD, eMMC5.0 1000Mbit 4 + 1 OTG - HDMI 2.0 HDMI 2.0, I2S 1
ODROID-XU4 Samsung Exynos5422, 2GHz 4+4 Mali-T628MP6 2GB/µSD, eMMC5.0 1000Mbit 2x 3.0 + 1 - HDMI 1.4a HDMI 1.4a, I2S 1, 2
CHIP Allwinner R8, 1GHz 1 Mali-400 512MB/4GB WiFi + BT 4.0 1 + 1 OTG - analog analog 1, 2, 3, 4
Omega2 MT7688K (MIPS), 580MHz 1 - 64MB/16MB WiFi 1 - - - 1, 2, 3
intel Edison Atom Z34XX x86, 500MHz 2 - 1GB/4GB eMMC WiFi + BT 4.0 1 + 1 OTG - - - 1, 2
intel Galileo Quark SoC X1000 x86, 400MHz 1 - 256MB/8MB, µSD 100Mbit 1 + 1 cli - ext. PCIe 2.0 - 1
86Duino Vortex86EX, 300MHz 1 - 128MB/8MB, µSD ext. 100Mbit 1 + 1 cli 1 ext. PCIe 1.0 ext. HD Audio 1, 2

      25.10.2012 Různé vývojové destičky byly k dispozici i dříve, ale k masovému rozšíření došlo až po vydání prvního modelu Raspberry Pi 1 začátkem roku 2012. Vizí Raspberry Pi Foundation bylo vytvořit a dodávat malý, levný počítač pro výukové účely do škol. Eben Upton (jeden ze spoluzakladatelů) v té době pracoval ve společnosti Broadcom a podařilo se mu zajistit dodávku SoC BCM2835. Vývoj trval několik let a v době vydání už procesor nepatřil k nejvýkonnějším. Přesto však první několikatisícové série vyráběné v UK, prodávané za příznivých 25 $ (model A), resp. 35 $ (model B), zmizely z prodeje takřka okamžitě a do roku 2015 se jich prodalo už 5 miliónů kusů. Díky této rozšířenosti má Raspberry Pi silnou podporu OpenSource / OpenHW komunity (různé distribuce OS, knihovny a zveřejněné SW / HW projekty) a také řada výrobců začala nabízet pro Pi celou řadu produktů, od krabiček po různé periferie.
      V práci používáme Raspberry Pi všude tam, kde je potřeba pro nějakou specifickou úlohu rychle nasadit komplexnější systém jak jednočipáky, ale klasické PC je pro to zbytečně velké, žravé a drahé. Např. pro různé HW testery do výroby nebo dataloggery s přenosem dat po síti. I já jsem si pořídil jednu malinu na hraní. Počkal jsem si na HW revizi 2.0 s 512 MB RAM (starší revize měly jen 256  MR RAM). Dále se nebudu moc ze široka rozepisovat, neboť by to bylo nošení dříví do lesa. Spíše si zde budu zapisovat osobní poznámky k instalaci a konfiguraci, abych je měl přehledně k dispozici. Když to pomůže i někomu dalšímu, tím lépe. S dotazy se lze obrátit na mezinárodní fórum nebo na české fórum.

Raspberry Pi 1 model B top Raspberry Pi 1 model B bottom

Schéma zapojení a přehled parametrů:

SoC: Broadcom BCM2835
CPU jádro: ARM1176JZF-S, 1 jádro, 700 MHz
GPU: VideoCore IV, 250 MHz, OpenGL ES 2.0, HW kodeky MPEG-2, VC-1 (s licencí),
H264/MPEG-4 AVC (1080p30)
Paměť: 512 MB DDR3 SDRAM (sdílená s GPU) Samsung K4P4G324EB
slot na SD/MMC/SDIO kartu
Síťovka: SMSC LAN9514-JZX 10/100 Mbit Ethernet na vnitřním USB portu, RJ-45
Audio: analogový stereo výstup na 3,5mm jack, digitální přes HDMI
Porty: 2 x USB 2.0 (S7) + 1 x napájecí microUSB (S1)
1 x RJ45 pro LAN (P4)
1 x HDMI 1.3, max. 1920 x 1200 @60 Hz (S3)
1 x RCA kompozitní analogový video-výstup (S4)
1 x 15-pinový DSI digitální video-výstup (sériový, 2-lane) na LCD (S2)
1 x 15-pinový MIPI digitální vstup pro kameru (S5)
1 x 3,5mm analogový audio-výstup (S6)
2x13-pinový GPIO header s UART, I2C, SPI, I2S, 5 V, 3,3 V... (P1)
2x4-pinový neosazený GPIO header (P5)
Příkon: 3,5 W (700 mA)
Rozměry: 85,6 x 56,5 mm
Hmotnost: 45 g
Vydání: v roce 2012
Cena: 35 $

Operační systémy a instalace

      Každá distribuce je zaměřená trochu na jiný účel a jinou skupinu uživatelů, takže podle toho se liší i její SW vybavení a paměťová náročnost. Kdyby někdo toužil po Windows, jsou nově k dispozici i Windows 10 IoT Core. Jelikož mám na PC nainstalovaný Debian Linux a mám s ním pár zkušeností, tak jsem si nainstaloval Raspbian (Debian-Jessie) lite. Pro zkopírování image na SD kartu lze použít např. WinHex nebo v Linuxu klasicky příkaz dd. Image SD karty je připravený pro jednu velikost SD karty, proto nezapomeň při úvodním nastavení expandovat souborový systém na plnou kapacitu konkrétně použité SD karty.

Základní nastavení

Zapnutí DHCP

Nastavení dynamické DNS služby

      Pokud máte k dispozici veřejnou IP adresu, avšak nikoliv pevnou (např. u ISP UPC) a chcete se na malinu snadno připojovat zvenku, je dobré si zařídit takovouto službu, která bude na DNS serveru automaticky aktualizovat vaši IP adresu a vy se budete připojovat na vaši registrovanou doménu.

Instalace a nastavení OpenVPN serveru

      Už dříve jsem si říkal, že náhodné připojování přes různé pochybné Wi-Finy ve městě či v zahraničí a přihlašování se skrz ně na své účty není zrovna nejbezpečnější. Komunikaci si může odposlechnout kde kdo - majitel Wi-Fi hotspotu (nebo ten, kdo ho hacknul), jeho ISP, či nějaký čmuchal sedící poblíž. Někteří vtipálci se dokonce baví tím, že spustí na místě, kde se vyskytuje hodně lidí, vlastní free Wi-Fi hotspot právě za účelem sběru dat. Zajímavý je též popis, jak pomocí VPN zachytávat a dešifrovat HTTPS komunikaci. Napadlo mě tedy zkusit si rozběhnout vlastní VPNku a malina se k tomu se svou malou spotřebou docela hodí. Android standardně podporuje VPN protokoly PPTP (už není bezpečný) a L2TP. Já jsem zvolil OpenVPN, pro níž je třeba na Androidu nainstalovat klientskou aplikaci. Vycházel jsem z těchto tutoriálů: Building A Raspberry Pi VPN pt.1, 2 a Set up a Hardened OpenVPN Server on Debian 8 pt.1, 2 3 a aplikoval je na Raspbian-Jessie. Podobný postup by šel použít i na chytřejší routery s Linuxem.

Instalace a nastavení klienta OpenVPN Connect pro Android

      Nejprve si vytvoříme OpenVPN profil v unifikovaném formátu - jediný, snadno přenositelný soubor, který obsahuje všechny potřebné certifikáty a klíče (soubory: ca.crt, clientname.crt, clientname.3des.key a ta.key, které jsme si vytvořili v postupu výše).



Zpět

Aktualizováno 20.9.2016 v 18:43

„Bůh stvořil člověka, ale nedal si to patentovat, a tak to teď po něm může dělat kdejakej blbec.“ Jan Werich