Ke koupě této desky mě vedl hlavně fakt, že jsem začal aktivně používat Hass.io a oblíbil si všemožné addony. Jedním z nich je pak například i Unifi controller, který je však umí být poměrně pamětově náročný a mé Orange Pi už na něj bylo opravdu slabé.
Kromě Orange Pi mám ještě Raspberry Pi 3, kde se však stále ještě neobjevila (a je otázka zda vůbec objeví) verze 4.
Proto jsem si otevřel stránku Armbianu s všemožnými podporovanými deskami a NanoPi M4 my aktuálně vyšel jako nejlepší možnost při stále ještě malé velikosti, ale už úžasném výkonu.
Specifikace
Nejdůležitějšími údaji pro mě byly:
- CPU: Dvoujádrový Cortex-A72 (až 2.0GHz) + Čtyřjádrový Cortex-A53( až 1.5GHz)
- RAM: Dvoukanálové 4GB LPDDR3-1866
- GPU: Mali-T864 GPU, podporující OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, a AFBC
- Síťová konektivita: 1GBit Ethernet, duální WiFi 2,4GHz + 5GHz, BlueTooth 4.1
- (USB: 4x USB3.0
- Ukládací prostor: MicroSD slot a eMMC socket (je potřeba vlastní SD kartu a nebo eMMC modul)
Kompletní specifikaci si můžete přečíst na webu výrobce friendlyARM.
Rozložení součástí desky
GPIO01
Pin# | Použití | Pin# | Použití |
1 | VCC 3V3 SYS | 2 | VDD 5V |
3 | I2C2 SDA (3V) | 4 | VDD 5V |
5 | I2C2 SCL (3V) | 6 | GND |
7 | GPIO1 A0 (3V) | 8 | GPIO4 C1 / I2C SCL (3V) |
9 | GND | 10 | GPIO4 C0 / I2C SDA (3V) |
11 | GPIO1 A1 (3V) | 12 | GPIO1 C2 (3V) |
13 | GPIO1 A3 (3V) | 14 | GND |
15 | GPIO1 A4 (3V) | 16 | GPIO1 C6 (3V) |
17 | VCC 3V3 SYS | 18 | GPIO1 C7 (3V) |
19 | SPI1 TXD / UART4 TX (3V) | 20 | GND |
21 | SPI1 RXD / UART4 RX (3V) | 22 | GPIO1 D0 (3V) |
23 | SPI1 CLK (3V) | 24 | SPI1 CSn0 (3V) |
25 | GND | 26 | GPIO4 C5 / SPDIF TX (3V) |
27 | I2C2 SDA (1.8V) | 28 | I2C2 SCL (1.8V) |
29 | I2S0 LRCK RX (1.8V) | 30 | GND |
31 | I2S0 LRCK TX (1.8V) | 32 | I2S CLK (1.8V) |
33 | I2S0 SCLK (1.8V) | 34 | GND |
35 | I2S0 SDI0 (1.8V) | 36 | I2S0 SDO0 (1.8V) |
37 | I2S0 SDI1SDO3 (1.8V) | 38 | I2S0 SDI2SDO2 (1.8V) |
39 | GND | 40 | I2S0 SDI3SDO1 (1.8V) |
GPIO02
Pin# | Použití | Pin# | Použití |
1 | VCC 5V SYS | 2 | VCC 5V SYS |
3 | PCIE RX1 P | 4 | PCIE TX1 P |
5 | PCIE RX1 N | 6 | PCIE TX1 N |
7 | GND | 8 | GND |
9 | PCIE RX0 P | 10 | PCIE TX0 P |
11 | PCIE RX0 N | 12 | PCIE TX0 N |
13 | GND | 14 | GND |
15 | PCIE REF CLKP | 16 | HOST0 DM |
17 | PCIE REF CLKN | 18 | HOST0 DP |
19 | GND | 20 | GND |
21 | PWR KEY | 22 | HOST1 DM |
23 | GPIO4 C6 / PWM1 (3V) | 24 | HOST1 D |
Debug UART
3V, 1 500 000bps
Pin# | Použití | Popis |
1 | GND | 0V |
2 | VCC 5V SYS | 5V napájení |
3 | UART2 DBG TX | výstup |
4 | UART2 DBG RX | vstup |
Co vše je potřeba
- Základem je samozřejmě deska NanoPi M4 – k zakoupení na AliExpressu (já jsem zvolil 4GB variantu s přídavným eMMC modulem)
- USB-C kabel – pro napájení desky je potřeba kabel s USBC konektorem minimálně na jedné straně a schopností přenášet 3A při 5V. Mě funguje suprově od Baseusu.
- Nabíječku schopnou generovat 3A při 5V – já si vybral tuhle malou nabíječku
Výběr operačního systému
Možnosti máme poměrně hodně:
- image připravené výrobcem
- image od Armbianu
Já jsem si vybral Armbian, jelikož ho používám i na OrangePi, ale vzhledem k verzím Ubuntu bych neměl problém zvolit i FriendlyDesktop.
Instalace operačního systému
Nejprve si stáhneme jednu z výše uvedených image – zřejmě bude potřebovat image ještě rozbalit z archívu.
Poté si stáhneme nějakou aplikaci, která umí zapsat na SD kartu. Já používám Etcher ve kterém si zvolíme image, pak SD disk kam zapsat a zapíšeme pomocí Flash!
Tím je instalace víceméně hotovo, resp. stačí SD kartu zasunout do desky a provést první start.
Pro prvotní přihlášení v Armbianu použijeme:
- uživatelské jméno: root
- heslo: 1234
Ihned po prvním přihlášení budete vyzváni pro změnu root hesla a založení standardního uživatele.
Doporučuji rovnou stáhnout a aplikovat všechny aktualizace pomocí dvojice příkazů:
apt update
apt upgrade
Přesun systému na eMMC
Pokud jste si stejně jako já objednali rozšiřující modul eMMC, což rozhodně doporučuju, pak dalším krokem instalace je přesunutí nainstalovaného Armbianu na eMMC.
Nejprve si tedy modul fyzicky zapojíme do eMMC slotu, který najdeme u HDMI konektoru.
Přihlásíme se do Armbianu a v konzoli spustíme aplikaci armbian-config.
Vybereme první volbu – Install to SATA, eMMC, NAND or USB.
A odklikneme instalaci.
Aplikace zkopíruje obsah SD karty do eMMC – bude to trvat několik minut. Poté zařízení vypneme a SD kartu definitivně vytáhneme. Při zapnutí zařízení už proběhne boot z eMMC karty.
Tím je definitivně hotovo a nyní si už můžete doinstalovat další aplikace na základě toho co potřebujete.
Srovnání s Raspberry Pi 3B a Orange Pi Zero +2
Abychom si mohli nakonec dovolit nějaké zhodnocení bude dobré provést testy, které nám dovolí určité srovnání.
Já mám aktuálně k dispozici 3 různé desky 3 výrobců, které by se dalo říct mají podobný účel, ale každá je technicky specifická.
Podíváme se tedy na určitý etalon v podobě Raspberry Pi 3B. Dalším kouskem je velikostně menší Orange Pi Zero +2 a posledním kouskem je deska z tohoto článku, tj. můj nejnovější přírustek v podobě NanoPi M4.
Jak budeme testovat?
Na všech třech deskách běží Debian a nebo Ubuntu v poslední verzi se všemi aktualizacemi. Všechny níže uvedené aplikace jsou tak dostupné v repozitáři systému a pokud byste je náhodou neměli můžete je jednoduše doinstalovat pomocí příkazu apt install <NázevBalíčku>.
Možností jak testovat je povícero a já jsem vybral vždy jen jednu pro tři sledované parametry – rychlost čtení/zápisu na disk a rychlost sítě.
# Rychlost čtení disku
hdparm -t /dev/<NazevZarizeniDisku>
# Rychlost zápisu na disku
dd bs=16k count=102400 oflag=direct if=/dev/zero of=test_data
# Rychlost sítě
iperf3 -c <IpAdresaIperfServeruvLokalniSiti> -t 5
Výsledky testů
Zařízení | Paměť | Disk – čtení | Disk – zápis | Síť | Cena | |
Raspberry Pi 3B | 1 GB | 21.93 MB/s | 5.0 MB/s | 94.3 Mbits/s | $36.44 | |
Orange Pi Zero +2 | 512 MB | 43.41 MB/s | 3.5 MB/s | 17.3 Mbits/s | $23.90 | |
NanoPi M4 | 4 GB | 156.42 MB/s | 50.0 MB/s | 923 Mbits/s | $130.77 |
Poznámky ke konfiguraci:
- Raspberry PI má SD kartu Class 10 a Ethernet 100Mbit (zapojeno do 1Gbit switche)
- Orange Pi Zero Plus 2 má interní eMMC disk a je připojeno přes WiFi2.4GHz (připojeno k Ubiquiti AP)
- NanoPi M4 má eMMC disk ve slotu a Ethernet 1Gbit (připojeno do 1Gbit switche)
Jak můžete vidět z tabulky výše první dvě desky jsou si parametrově poměrně blízké – kromě sítě kde je rozdíl mezi 2.4GHz sítí a 100Mbit Ethernetem znát.
Naproti tomu poslední deska má hodnoty násobně lepší, což odpovídá i poměrně obrovskému skoku v ceně.
Pro mě byl jedním z nejzásadnějších pametrů velikost RAM paměti. Pokud se totiž rozhodnete mít celou domácí automatizaci na jednom místě pak brzy zjistíte, že 512MB je opravdu málo. Na druhou stranu pro „neprodukční“ prostředí je asi zbytečnost kupovat takto drahou desku.
Může být užitečné ještě zmínit, že Orange Pi Zero +2 a NanoPi M4 vzhledem k použitým procesorům používají architekturu Armv8 (aarch64), kdežto Raspberry Pi 3B je ještě na o jednu generaci starší architektuře Armv7.
Pokud budete mít jakékoliv dotazy k desce nebo nějaké nápady na další užitečné testy, dejte prosím vědět v komentářích.
Dobrý den,
nevíte nebo nemohl byste otestovat podporu http://johnny-five.io/ na této desce?
Děkuji