NanoPi Neo Air: la scheda compatta per l’IoT

NanoPi Neo Air

La board NanoPi Neo Air, logica evoluzione del modello NanoPi Neo a cui sono state aggiunte le funzionalità WiFi e Bluetooth BLE, è una scheda basata sul chipset Allwinner H3, un quad core ARM A7 a 1.2 GHz molto performante. Equipaggiata con 512 MB di memoria RAM DDR3 e 8 GB di memoria eMMC, la scheda è compatibile a livello di GPIO con il Raspberry Pi, supporta il sistema operativo Linux e può essere programmata con diversi linguaggi, tra cui C, Python e la libreria WiringNP.

Introduzione

In questo articolo torniamo ad occuparci della scheda NanoPi Neo, caratterizzata da un PCB con dimensioni estremamente compatte (soltanto 40 x 40 mm) all’interno del quale è ospitato il SoC quad-core Allwinner H3, in grado di unire una ricca dotazione di periferiche ad una elevata capacità di elaborazione. Nel primo articolo dedicato a NanoPi Neo è stata introdotta la versione base della scheda, di cui sono state presentate le principali caratteristiche tecniche, il pinout dei connettori ed un esempio base di programmazione. Nel successivo articolo è stata presentata la versione “Air”, ovvero la scheda che nel presente articolo sarà esaminata con maggiore dettaglio, ponendo particolare enfasi agli aspetti legati al setup, alla configurazione e installazione del bootloader, della distribuzione Linux e alle diverse modalità con cui questo piccolo ma potente e versatile SBC (Single Board Computer) può essere utilizzato in numerosi progetti ed applicazioni IoT. Un punto di forza della scheda NanoPi Neo Air è sicuramente quello di essere nato come progetto open source, curato dal gruppo cinese FriendlyARM [1]. Di fabbricazione cinese è anche il cuore della scheda, il SoC Allwinner H3 che include quattro core ARM A7 operanti alla frequenza di 1.2 GHz. La versione “Air” della scheda è compatibile con il precedente modello NanoPi Neo, mentre il pin header a 24 poli (visibile nell’immagine di Figura 1) ha dei segnali di GPIO compatibili con quelli del Raspberry Pi.

Layout della scheda

Figura 1: disposizione dei componenti sul PCB della scheda, con in evidenza il pin header relativo ai GPIO

Il SoC H3 (dove la lettera ‘H’ sta ad indicare la destinazione ‘Home entertainment’) include una GPU ARM Mali400 MP2, in grado di supportare la decodifica di diversi standard video, tra cui MPEG-2, MPEG-4 SP/ASP GMC, H.263, H.264, H.265, WMV9/VC-1, e VP8. In particolare, è possibile riprodurre video Full HD 1080p e Ultra HD 4k, limitatamente a un frame rate di 30 fps (prestazioni di assoluto rilievo per un sistema embedded compatto e in linea con la più recente versione di Raspberry Pi, ovvero il Raspberry Pi 4). Tra le numerose periferiche, il SoC include due canali audio DAC, due ingressi per microfono e un ingresso stereo Linein. Sulla scheda sono inoltre presenti uno slot MicroSD e un’interfaccia DVP (Digital Video Port) per modulo telecamera, in grado di supportare il modulo da 5 megapixel sviluppato da FriendlyARM.

Dal punto di vista software, il sistema NanoPi Air utilizza anzitutto il bootloader open source u-boot (universal bootloader) per eseguire l’inizializzazione di base dell’hardware e caricare in memoria l’immagine del sistema operativo Linux. È inoltre supportato l’upgrade di u-boot tramite il programma di utilità fastboot.

Pinout della scheda

Nell’immagine di Figura 1 sono evidenziati i principali componenti che equipaggiano la scheda NanoPi Neo Air, con evidenziati i connettori (nell’immagine non ancora saldati) e i diversi segnali di interfacciamento. Per avere una visione più dettagliata dei singoli segnali, occorre però fare riferimento alla Figura 2, in cui è riportato il pinout completo della scheda.

Pinout della scheda

Figura 2: pinout della scheda NanoPi Neo Air

Le seguenti tabelle forniscono una descrizione dettagliata dei pin che compongono le diverse interfacce della scheda:

  • Tabella 1: descrizione dei pin general purpose I/O (GPIO);
  • Tabella 2: descrizione dei pin relativi all’interfaccia che gestisce le funzionalità USB, I2S (audio digitale) e IR (infrarosso);
  • Tabella 3: descrizione dei pin relativi all’interfaccia di debug (porta seriale UART0);
  • Tabella 4: descrizione dei pin relativi all’interfaccia audio e microfono;
  • Tabella 5: descrizione dei pin relativi all’interfaccia DVP (Digital Video Port) per la comunicazione con moduli telecamera esterni.
Numero Pin Nome Pin Numero Pin Nome Pin
1 SYS_3.3V 2 VDD_5V
3 I2C_SDA/GPIOA12 4 VDD_5V
5 I2C_SCL/GPIOA11 6 GND
7 GPIOG11 8 UART1_TX/GPIOG6
9 GND 10 UART1_RX/GPIOG7
11 UART2_TX/GPIOA0 12 GPIOA6
13 UART2_RTS/GPIOA2 14 GND
15 UART2_CTS/GPIOA3 16 UART1_RTS/GPIOG8
17 SYS_3.3V 18 UART1_CTS/GPIOG9
19 SPI0_MOSI/GPIOC0 20 GND
21 SPI0_MISO/GPIOC1 22 UART2_RX/GPIOA1
23 SPI0_CLK/GPIOC2 24 SPI0_CS/GPIOC3

Tabella 1: pin utilizzabili come general purpose I/O (GPIO)

Numero Pin Nome Pin Descrizione
1 VDD_5V Tensione di uscita 5V
2 USB-DP2 Segnale USB DP
3 USB-DM2 Segnale USB2 DM
4 USB-DP3 Segnale USB3 DP
5 USB-DM3 Segnale USB3 DM
6 GPIOL11/IR-RX GPIOL11 o ricezione IR
7 SPDIF-OUT/GPIOA17 GPIOA17 o SPDIF-OUT
8 PCM0_SYNC/I2S_LRC I2S/PCM Sample Rate Clock/Sync
9 PCM0_CLK/I2S0_BCK I2S/PCM Sample Rate Clock
10 PCM0_DOUT/I2S0_SDOUT I2S/PCM Serial Data Output
11 PCM0_DIN/I2S0_SDIN I2S/PCM Serial Data Input
12 GND Ground

Tabella 2: pin relativi alle interfacce di comunicazione USB/I2S/IR

Numero Pin Nome Pin
1 GND
2 VDD_5V
3 UART_TXD0/GPIOA4
4 UART_RXD0/GPIOA5/PWM0

Tabella 3: pin utilizzati dall'interfaccia di debug, mappata sulla porta seriale UART0

Numero Pin Nome Pin Descrizione
1 LL Uscita canale sinistro
2 LR Uscita canale destro
3 MICN Microfono, ingresso negativo
4 MICP Microfono, ingresso positivo

Tabella 4: segnali relativi all'interfaccia audio e microfono

Numero Pin Nome Pin Descrizione
1,2 SYS_3.3V Uscita a 3,3V per il modulo telecamera
7,9,13,15,24 GND Ground
3 I2C2_SCL Segnale di clock interfaccia I2C2
4 I2C2_SDA Segnali dati interfaccia I2C2
5 GPIOE15 GPIO, segnale di controllo per telecamera
6 GPIOE14 GPIO, segnale di controllo per telecamera
8 MCLK Segnale di clock per telecamera
10 NC Not Connected
11 VSYNC Segnale di sincronismo verticale (dal modulo)
12 HREF/HSYNC Segnali HREF e HSYNC (dal modulo)
14 PCLK Segnale PCLK (dal modulo)
16-23 DATA Bit 7-0 Bus dati (8 bit)

Tabella 5: segnali relativi all'interfaccia DVP per il modulo telecamera

È importante sottolineare come tutti i pin utilizzino una tensione di 3.3V e siano in grado di sopportare una corrente massima di 5 mA. Per maggiori informazioni e dettagli tecnici relativi ai componenti utilizzati sulla scheda e alla disposizione degli stessi sul PCB, si rimanda il lettore alla documentazione tecnica, liberamente accessibile online [2].

Unboxing

Come visibile in Figura 3, la scheda è racchiusa all'interno di una scatola di cartone dalle dimensioni molto compatte, con i diversi accessori ben imballati e separati tra loro. Il kit contiene:

  • la scheda NanoPi Neo Air;
  • un set di tre connettori pin header: 1 doppio, composto da 2 file da 12 pin ciascuna, 1 singolo da 12 pin e uno singolo da 4 pin. Il set di pin header corrisponde e copre esattamente i terminali circolari presenti sul PCB, sui quali possono essere agevolmente saldati;
  • 1 antenna per il transceiver WiFi e BLE, collegabile alla scheda tramite l'apposito connettore (è sufficiente posizionare il connettore dell'antenna sul PCB e applicare delicatamente una pressione verso il basso);
  • 1 flyer con alcuni riferimenti al prodotto e i link alla documentazione. Non si tratta certamente di una documentazione sufficientemente dettagliata per iniziare a lavorare con la scheda, soprattutto per i neofiti. Gli articoli dedicati alla scheda da EOS si pongono proprio l'obiettivo di fornire una maggiore visione di insieme su questo prodotto molto interessante, indirizzando il lettore verso gli strumenti di sviluppo attraverso i quali sfruttare le elevate prestazioni disponibili su questa mini-piattaforma hardware.
Unboxing della scheda

Figura 3: il contenuto del kit che compone la scheda

Setup e installazione OS

Dopo aver saldato i pin header sul PCB, operazione necessaria se si vuole utilizzare la scheda in progetti e applicazioni pratiche senza incorrere in potenziali problemi legati ai falsi contatti, possiamo procedere con il setup della scheda, partendo dall'installazione dell'immagine del sistema operativo Linux. Il materiale occorrente per eseguire questa procedura è il seguente: [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3025 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend