UDOO è un piccolo e potente computer all in one con processore ARM per prototipazione che integra un Arduino Due offrendo quindi la potenza di 4 (quattro) Raspberry Pi e di un potentissimo Arduino tutto in un unica scheda.

Nato ad Arezzo, Udoo è un buon esempio di “successo” Italiano finanziato tramite il famoso portale crowdfunding Kickstarter nel 2013.

 

UDOO-icons2

 

Sullo store è possibile scegliere tra tre diverse varianti:

  1. UDOO Dual Basic;
  2. UDOO Dual che in più di quella precedente ha una Gigabit Ethernet ed il WiFi;
  3. UDOO Quad che oltre ad avere un processore quad core (come suggerisce il nome) offre un connettore SATA per poterci collegare un disco dati.

I prezzi sono veramente competitivi e vanno dai 73€ per la versione base a 99€ per il top di gamma.

Oltre alla UDOO, sempre sullo store, è possibile acquistare tutta una serie di accessori tra cui troviamo dei monitor LVDS con touch (7” e 15,6”) e le camere (con e senza filtro IR) oltre ai vari cavi e alimentatori.

Ovviamente noi malati volevamo provare la versione Quad e siamo stati accontentati.

Il pacco comprendeva, oltre alla fantastica scheda, anche lo Starter Kit con tutto il necessario per iniziare ad utilizzarla.

Il packaging della scheda è molto carino e la maggior parte degli accessori dello Starter Kit sono marchiati UDOO.

 

 

Le specifiche tecniche comprendono:

CPU Freescale i.MX 6 ARM Cortex-A9 Quad core 1GHz e Atmel SAM3X8E ARM Cortext-M3 (lo stesso utilizzato da Arduino Due)
GPU Vivante GC 2000 + Vivante GC 355 + Vivante GC320
RAM 1GB DDR3
Porte HDMI, LVDS + Touch (i2C), 2 Micro USB (1 otg), 2 USB Type A, cuffie, microfono, Ethernet 10/100/1000Mbps, CSI Camera Connection, Micro SD per Boot, SATA

 

Per il dettaglio sulle specifiche delle altre versioni vi rimando allo shop UDOO dove è possibile visionare più in dettaglio le differenze tra i vari modelli.

 

 

 

Accendiamo

questo indirizzo trovate una guida per caricare il Sistema Operativo su una SD e i link per scaricare diversi sistemi operativi, tra cui i supportati Android 4.3 (con Arduino tramite ADK) ed Ubuntu 12.04 ( o meglio lubuntu) nelle versioni Dual e Quad Core.

Per i miei scopi di smanettone ho optato per scaricare ed installare Ubuntu.

Per i miei scopi di smanettone *nix ho optato per scaricare ed installare Ubuntu (non che Android non sia *nix). La procedura è molto semplice e sul sito viene spiegato veramente molto bene,

Mentre l’amico “dd” scrive sulla Micro SD mi inizio a documentare su com’è collegato Arduino Due e come i due dialogano tra loro.

La parte Arduino può essere programmata direttamente dalla UDOO, scaricando una versione modificata del famoso IDE per Arduino, o tramite un computer esterno collegato all’USB della UDOO sempre con una versione “patchata” dell’IDE.

Tramite un PIN sulla scheda è possibile scegliere la modalità con cui programmare Arduino.

board03-03

Sempre tramite lo stesso PIN è possibile abilitare una comunicazione seriale tra i due processori e quindi permettere alla parte *nix di di inviare comandi e/o ricevere dati dall’Arduino.

È possibile inoltre, controllare i PIN digitali di Arduino direttamente dal *nix al patto di non utilizzare gli stessi PIN in contemporanea sia da Arduino che da *nix.

Finito di preparare la MicroSD accendo il tutto e si nota subito (abituato a Raspberry Pi) che il boot  è molto veloce e ci si ritrova subito nel Desktop di Ubuntu che risulta molto reattivo e ben ottimizzato.

Verifico l’indirizzo IP e se l’SSH è attivo in modo da collegarmi con il buon vecchio, mai obsoleto, terminale.

 

 

 

 

Proviamo

Decido di provare la mia Kinect (che su Raspberry ha qualche problema) e quindi scarico e compilo i pacchetti OpenNI, libFreenect e Skelltrack, una libreria per il riconoscimento degli skeleton tramite un sensore tipo Kinect.

Dopo un po’ di martellate per via di queste librerie un po’ datate riesco finalmente ad utilizzare la Kinect per riconoscere le persone e potenzialmente le gesture.

Purtroppo per via di queste librerie open source non molto performanti il programma di esempio offerto da skelltrack risulta troppo scattoso per apprezzarne le potenzialità, in ogni caso le risorse utilizzate sulla UDOO sono state del 25% (1 core al 100%) lasciando ampio margine di miglioramento e uno spiraglio aperto per l’utilizzo della Kinect con librerie più performanti come OpenCV.

Dopo aver passato un po’ di tempo a fare il mongoloide davanti ad una “telecamera” apro il cassetto magico e prendo il kit di un progetto personale a cui sto lavorando e assemblo il tutto sulla UDOO.

UDOO Kinect
UDOO UP

Il kit comprende diversi sensori ambientali: movimento, temperatura, umidità, pressione atmosferica, suono, luce e due sensori per misurare la qualità dell’aria più dell’altro (avremmo modo di parlarne in altri articoli).

Tutti i sensori sono con collegamenti Grove per facilitarne l’utilizzo.

Si nota subito con piacere che non vi sono ostacoli che impediscono di montare alcuni shield Arduino, il layout della scheda è stata pensato molto bene, cosa che non succede sempre obbligando ad utilizzare degli headers per alzare di quel che basta ad evitare spiacevoli “corti”.

Carico direttamente dalla UDOO il mio “sketch” per gestire i sensori e spararne l’output sulla seriale e in un batter d’occhio dalla seriale iniziano ad arrivare i primi dati.

Scrivo un piccolo programmino che legge i dati da Arduino in modo da renderli pubblici con un protocollo WEB (WebSocket) una pagina HTML che legge da WebSocket e come per magia…

TA DAN!

A questo punto sarebbe possibile comandare tramite la UDOO la ventilazione di casa propria per ricambiare l’aria di casa o accendere un led RGB per segnalare che sarebbe opportuno aprire le finestre.

Conclu concludendo

La UDOO è un prodotto molto interessante il cui costo è contenuto considerando che anche solo un’Arduino Due costa un terzo del costo complessivo e che sulla carta offre una potenza di calcolo 4 volte superiore al Raspberry riuscendo ad adattarsi alle esigenze più disparate che vanno dall’intrattenimento collegandolo ad un TV, all’automazione o perché no alla robotica.

 

 

UDOO (http://www.udoo.org)