blog.vyoralek.cz

NanoPi M4 – deska pro náročnější uživatele

Dnes se podíváme na opravu výkonou desku velikosti Raspberry Pi 3, která by měla uspokojt i poměrně velké nároky. Zároveň si ukážeme jak si tato deska vede ve srovnání s Orange Pi Zero +2 a Raspberry Pi 3B.

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í
1VCC 3V3 SYS2VDD 5V
3I2C2 SDA (3V)4VDD 5V
5I2C2 SCL (3V)6GND
7GPIO1 A0 (3V)8GPIO4 C1 / I2C SCL (3V)
9GND10GPIO4 C0 / I2C SDA (3V)
11GPIO1 A1 (3V)12GPIO1 C2 (3V)
13GPIO1 A3 (3V)14GND
15GPIO1 A4 (3V)16GPIO1 C6 (3V)
17VCC 3V3 SYS18GPIO1 C7 (3V)
19SPI1 TXD / UART4 TX (3V)20GND
21SPI1 RXD / UART4 RX (3V)22GPIO1 D0 (3V)
23SPI1 CLK (3V)24SPI1 CSn0 (3V)
25GND26GPIO4 C5 / SPDIF TX (3V)
27I2C2 SDA (1.8V)28I2C2 SCL (1.8V)
29I2S0 LRCK RX (1.8V)30GND
31I2S0 LRCK TX (1.8V)32I2S CLK (1.8V)
33I2S0 SCLK (1.8V)34GND
35I2S0 SDI0 (1.8V)36I2S0 SDO0 (1.8V)
37I2S0 SDI1SDO3 (1.8V)38I2S0 SDI2SDO2 (1.8V)
39GND40I2S0 SDI3SDO1 (1.8V)

GPIO02

Pin#PoužitíPin#Použití
1VCC 5V SYS2VCC 5V SYS
3PCIE RX1 P4PCIE TX1 P
5PCIE RX1 N6PCIE TX1 N
7GND8GND
9PCIE RX0 P10PCIE TX0 P
11PCIE RX0 N12PCIE TX0 N
13GND14GND
15PCIE REF CLKP16HOST0 DM
17PCIE REF CLKN18HOST0 DP
19GND20GND
21PWR KEY22HOST1 DM
23GPIO4 C6 / PWM1 (3V)24HOST1 D

Debug UART

3V, 1 500 000bps

Pin#PoužitíPopis
1GND0V
2VCC 5V SYS5V napájení
3UART2 DBG TXvýstup
4UART2 DBG RXvstup

Co vše je potřeba

  1. Základem je samozřejmě deska NanoPi M4k zakoupení na AliExpressu (já jsem zvolil 4GB variantu s přídavným eMMC modulem)
  2. 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.
  3. 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
    • FriendlyDesktop – založeno na Ubuntu Bionic Desktop 18.04 – link
    • FriendlyCore – založeno na Ubuntu Core s Qt 5.10.0 – link
    • LUbuntu Desktoplink
    • Android 8 – musí být nainstalováno na eMMC – link
  • image od Armbianu
    • Armbian Desktop – založeno na Ubuntu Bionic Desktop 18.04 – link
    • Armbian – založeno na Ubuntu Bionic 18.04 bez GUI (nejedná se o verzi Core) – link

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.

Slot pro eMMC module najdete vedle konektoru HDMI
Slot pro eMMC module najdete vedle konektoru HDMI

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

Zleva: nanoPi M4, Orange Pi Zero +2 +header a Raspberry Pi 3 rev B
Zleva: nanoPi M4, Orange Pi Zero +2 +header a Raspberry Pi 3 rev B

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ápisSíťCena
Raspberry Pi 3B1 GB21.93 MB/s5.0 MB/s94.3 Mbits/s$36.44
Orange Pi Zero +2512 MB43.41 MB/s3.5 MB/s17.3 Mbits/s$23.90
NanoPi M44 GB156.42 MB/s50.0 MB/s923 Mbits/s$130.77

Poznámky ke konfiguraci:

  • Raspberry PI 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 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.

1 comment

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..