giovedì 12 maggio 2016

Primi passi con Intel Edison

ATTEZIONE: un avvertimento importante. La Intel Edison lavora a 1.8V. Nell'Arduino Kit sono installati molti shift level per venire incontro ai dispositivi a 5V e 3.3V che si usano con Arduino. Il MiniBreakout non dispone degli shift level ed ha connessioni dirette con i piedini del processore con la ovvia conseguenza che una sovratensione distrugge il processore

Ho avuto modo di provare la Intel Edison (collegata alla scheda di sviluppo Edison Kit per Arduino).
Il modulo Edison di per se' e' microscopico, poco piu' grande di una moneta da 2 euro, ma monta un processore Atom dual core con 1Gb DDR e 4 Gb di Flash Ram con connettivita' Bluetooth Le e WiFI.

Per lo sviluppo la sola Edison non riesce a vivere da sola e deve essere accoppiata all'Edison kit per Arduino (scelta piu' costosa ma ottimale) oppure all'Edison Kit BreakOut



La Edison viene alimentata tramite un connettore microUsb vicino alla sigla J16 ma viene fortemente consigliato di accoppiare un trasformatore da 220V a (7-15V) con polo centrale positivo. Altrimenti si puo' alimentare con una LiPo usando il connettore J2



Il collegamento tra il vero e proprio modulo Edison e la scheda di sviluppo avviene con un socket (credo proprietario) ed impossibile da saldare in  proprio


L'unico sistema di svincolare la Edison dalla scheda di sviluppo e' quello di utilizzare i moduli Blocks di SparkFun, tipo questo che monta LSM9DS0 9DOF IMU


Prima cosa importante: non c'e' uscita video e non c'e' installato X (quindi niente possibilita' di montare VNC). Il sistema operativo e' ridotto all'osso .. anche di piu'.

Il consumo della Edison collegata ad un Arduino Kit ha una punta in fase di boot di circa 130 mA ma si stabilizza in idle a circa 80 mA

Per comunicare con la Edison si puo' usare una connessione seriale connettendo un cavo USB nella microUsb piu'  vicina allo spigolo della scheda (accanto al simbolo J3) e digitando

screen /dev/ttyUSB1 115200

(ovviamente /dev/ttyUSBx puo' variare a seconda della configurazione del client)

altrimenti ci si puo' collegare via SSH in WiFi. Ovviamente prima di fare cio' bisogna collegare la Edison all'access point e cio' si effettua con il comando

configure_edison --wifi (per dettagli vedi qui)

cambiando gli switch del comando si puo' cambiare il nome del dispositivo oppure anche effettuare un setup completo compreso riflashare il firmware

Il sistema operativo di default e' Yocto Linux, una versione sostanzialmente embedded, che ha come packet manager opkg (lo stesso di Yun/Linino) . I pacchetti disponibili nel repository Intel di opkg non sono moltissimi e sono quasi tutti strumenti di sviluppo (gcc, python, git, automake, wget etc). Per esempio manca una versione pacchettizzata di Midnight Commander che e' gia' pronta per OpenWrt (e' comunque possibile compilarlo da sorgenti senza nessun problema)

Di fatto c'e' solo l'utente root configurato ed in modo curioso la sua home e' in /home/root invece che in /root

Per quanto i connettori (riferimento):
SW1 : permette di selezionare la modalita Host e Device del dispositivo.In Host mode si possono connettere alla porta USB Type A i dispositivi come mouse e tastiere Usb. In modalita' Device il dispositivo deriva corrente dalla porta USB
J2 : connettore per una LiPo (possibilita' di ricaricare la batteria se e' disponibile corrente da J3)
J3 : FTDI to serial. Connessione per il terminale seriale
J16 : USB OTG. Questa e' la porta per la programmazione Arduino
SW1 UI5 : reset
SW1 UI1 : reset dello shield