“Il vaso vale per ciò che può contenere.”
Proverbio cinese
Chi mi segue ben conosce la mia passione per questi gadgets: mini-pc più piccoli di una carta di credito ma potenti abbastanza per eseguire tutta una serie di lavori, compreso server web, sistemi di monitoraggio e tutto quanto ormai è chiamato IoT, Internet of Things.
Lo stato dell’arte ormai è ad un livello molto avanzato. Tanto che anche board economiche, come questo Orange Pi zero, incorporano la connettività WiFi IEEE 802.11 (essenziale per l’utilizzo in devices IoT), almeno una porta USB e talvolta una porta ethernet (anche se, ad esempio, il Raspberry Pi Zero W non ce l’ha).
Dopo aver acquistato un Raspberry Pi Zero W (poco più di 10€) ed un Raspberry Pi 3, non mi aspettavo niente di che da questa board cinese da meno di 10€, acquistata su Aliexpress (Orange Pi Zero H2).
Specifiche tecniche
Uno sguardo alle specifiche tecniche di questa board, partendo dalla disposizione dei componenti e dei connettori:
Le caratteristiche principali (sul sito ufficiale maggiori informazioni):
CPU | H2 Quad-core Cortex A7 |
GPU | MALI400MP2 @ 600Mhz (supporta OpenGL ES 2.0) |
SDRAM | 256 o 512MByte |
Network | onboard 10/100 Mbps Ethernet RJ45 |
WiFi | onboard XR819 IEEE802.11 b/g/n |
Storage | miniSD classe 10, max 64GByte + 2 Mbyte SPI Flash |
Headers | connettore 26 pin compatibile con Raspberry Pi B+ e connettore 13 pin con altro I/O |
Peso e dimensione | 26x28mm, peso 26gr |
Esteticamente, stona un po’ l’antenna ciondoloni per il WiFi, pur comprendendo che per il costo non è certo possibile pretendere di più. Abbastanza scomoda anche la disposizione del connettore RJ45 proprio accanto alla porta USB.
Preparare il sistema operativo
Come quasi tutte le board di questo tipo, non c’è nessuna eMMC o altro storage on-board: questo significa che dovremmo acquistare una miniSD (il cui slot è posto sulla parte inferiore) da almeno 4GByte per ospitare il sistema operativo e tutti gli altri applicativi di cui abbiamo bisogno.
La scelta del sistema operativo è abbastanza personale anche se, dopo aver provato -con frustrazione- la Debian messa a disposizione sul sito web Orange Pi Zero, ho provato armbian, rimanendone piacevolmente sorpreso. Pertanto, considerando che l’Orange Pi Zero non sembra particolarmente vocato alla multimedialità (no HDMI on-board, a differenza del Raspberry Pi), suggerisco caldamente di puntare su una distribuzione per server, come appunto armbian.
Velocemente, andiamo su www.armbian.com/orange-pi-zero/ e scarichiamo la Ubuntu server – Legacy kernel. Terminato il download, scompattiamo l’archivio:
~/Scaricati $ 7z x Armbian_5.30_Orangepizero_Ubuntu_xenial_default_3.4.113.7z
ed inseriamo la nostra miniSD (eventualmente con un adattatore USB) sul PC, avendo cura di guardare sul log di sistema il nome del device (nel mio caso, avendo un lettore SD incorporato sul portatile, è mmcblk[n]), copiamo il sistema operativo:
~/Scaricati $ sudo dd if=Armbian_5.30_Orangepizero_Ubuntu_xenial_default_3.4.113.img of=/dev/mmcblk0
Primo boot
Una volta terminato il dump del sistema operativo sulla miniSD, inseriamola nel lettore ed accendiamo il nostro Orange Pi Zero utilizzando, ad esempio, anche il caricabatterie del cellulare e collegando il cavo con il connettore miniUSB nella porta relativa (attenzione al voltaggio, che deve essere 5V). L’avvenuta accensione sarà testimoniata dai led verde e arancione sulla porta di rete RJ45.
Come ben indicato nella documentazione del sistema operativo armbian, al primo boot il sistema richiede un server DHCP per l’assegnazione di un indirizzo IP alla board, per essere così accessibile via SSH. La soluzione più comoda è collegarla, con un cavo di rete, direttamente allo switch del router ADSL (ad esempio) e poi utilizzare un tool come nmap (o arpwatch) per identificare l’IP assegnato alla scheda (es. con nmap potete fare un ping scan della vostra rete: nmap -sP 192.168.0.*). Una volta identificato, potete usare ssh per accedervi direttamente come root:
~$ ssh -l root [IP della scheda]
La password di default è ‘1234’.
Consiglio caldamente di leggersi il manuale, almeno la sezione Getting Started, dove troverete le istruzioni per configurare la connessione WiFi (ad esempio con la rete casalinga) e molto altro.
Pinouts
Adesso che la nostra Orange Pi Zero è pronta, possiamo sbizzarrirci con le idee e gli esperimenti. Fondamentale, per collegare eventuali periferiche, conoscere il pinout dei connettori presenti, sia quello da 26 che quello da 13 piedini.
Trovate queste specifiche tecniche sulla pagina ufficiale (qui: linux-sunxi.org/Xunlong_Orange_Pi_Zero) ma, per comodità, le riporto qui sotto:
2×13 Header | |||
---|---|---|---|
1 | 3.3V | 2 | 5V |
3 | TWI0_SDA / PA12 / GPIO12 | 4 | 5V |
5 | TWI0_SCK / PA11 / GPIO11 | 6 | GND |
7 | PWM1 / PA06 / GPIO6 | 8 | UART1_TX / PG06 / GPIO198 |
9 | GND | 10 | UART1_RX / PG07 / GPIO199 |
11 | UART2_RX / PA01 / GPIO1 | 12 | SIM_CLK/PA_EINT7 / PA07 / GPIO7 |
13 | UART2_TX / PA00 / GPIO0 | 14 | GND |
15 | UART2_CTS / PA03 / GPIO3 | 16 | TWI1-SDA / PA19 / GPIO19 |
17 | 3.3V | 18 | TWI1-SCK / PA18 / GPIO18 |
19 | SPI1_MOSI / PA15 / GPIO15 | 20 | GND |
21 | SPI1_MISO / PA16 / GPIO16 | 22 | UART2_RTS / PA02 / GPIO2 |
23 | SPI1_CLK / PA14 / GPIO14 | 24 | SPI1_CS / PA13 / GPIO13 |
25 | GND | 26 | SIM_DET/PA_EINT10 / PA10 / GPIO10 |
e per il connettore da 13:
1×13 Header | |
---|---|
1 | 5V |
2 | GND |
3 | USB-DM2 |
4 | USB-DP2 |
5 | USB-DM3 |
6 | USB-DP3 |
7 | LINEOUTR |
8 | LINEOUTL |
9 | TV-OUT |
10 | MIC-BIAS |
11 | MIC1P |
12 | MIC1N |
13 | CIR-RX |
eventualmente, se desiderate usare il microfono, l’audio-out o le due ulteriori porte USB, è disponibile una comoda expansion board direttamente ordinabile da Aliexpress per meno di 5€.
Impressioni finali
L’Orange Pi Zero, per quanto sia comunque un prodotto a basso costo, offre delle caratteristiche decisamente interessanti per alcuni settori, come quello del monitoraggio di rete o dell’IoT: la presenza della porta RJ45 e del WiFi lo rende più flessibile di un Raspberry Pi Zero W e molto meno costoso del suo fratello maggiore, il Raspberry Pi 3 (che, per molti usi, è quasi sovradimensionato).
In questi giorni di utilizzo ho altresì notato che la CPU quad-core scalda davvero tanto, arrivando a picchi di 75°C: non è male dotarlo, se potete, di un piccolo dissipatore e/o di una ventola, così da evitare che si bruci (strano che non ci abbiano pensato in fase di progettazione). Il consumo di corrente è abbastanza limitato, tanto da poter essere alimentato anche da una power-bank per qualche ora (dipende, ovviamente, dalla capacità in termini di Ah), rendendolo interessante anche per la realizzazione di gadgets da portare con sé.
Per finire, credo che il costo molto contenuto sia un interessante spunto per dotare la propria rete domestica di una mini LinuxBox sempre molto comoda, con WiFi incluso…
9 comments
Interessante articolo, per chi come me sta valutando alternative al raspberry pi zero W.
L’unica mancanza di queso orange pi è l’interfaccia per la camera, o sbaglio?
A distanza di qualche tempo, hai altre impressioni d’uso da condividere? ad esempio, altre info o problemi legati alla temperatura della CPU?
grazie
Ciao, in realtà anche l’Orange Pi Zero ha la possibilità di connettere una camera, via USB (come una WebCam). In realtà l’unica vera differenza rispetto ad un RPi Zero W è la gestione dell’energia: l’OrangePi scalda davvero tanto e necessita di un dissipatore. Per il resto, al momento, non ho riscontrato altre differenze o problematiche degne di nota.
Michele
Questa scheda monta un chip per il wifi che si chiama XR819. Purtroppo questo chip ha delle performances veramente scadenti. Non va assolutamente bene per chi ha bisogno di una connessione WiFi alternativa a quella (ottima) offerta da un PI Zero WiFi (che continuano, purtroppo, a vendere solo un pezzo alla volta per ogni ordine).
ma oltre a questo e al raspberry pi zero/banana pi zero, esistono altre schede dal costo molto contenuto per sviluppare device per l’IOT?
ciao, a casa possiedo questa board acquistata su aliexpress, ma non capisco se funziona o meno, quando la alimento si accendono solo i led verde e arancio della porta RJ ma non ho mai visto accendersi nessuno dei due led di bordo!
avendo provato vari sistemi operativi su diverse sd mi aspettavo come minimo che un led si accendesse per confermare la lettura corretta del codice…
non bastasse, connettendo direttamente con il cavo la board al modem non risulta fra nessun indirizzo ip, praticamente non da segni di vita… cosa mi consigli?
hai provato armbian?
Ma se viene acquistata solo la scheda senza il modulo di espansione che ha il connettore uscita audio video, come facciamo a collegare il monitor e le casse?
Scrivendo un programma in C ho trovato una associazione tra pin fisico e logico completamente diversa.
Tu hai fatto delle prove simili?
In particolare nn riesco proprio ad identificare i fisici 19 e 21.
buongiorno a tutti io ho un grosso problema non riesco in nessun modo a farlo andare in wifi e non capisco il perche via lan si connette senza problemi ma in wifi niente