giovedì 25 giugno 2009

Beagleboard, considerazioni e spiegazioni

Appunti da uno scambio di email sulla Beagleboard - l'argomento principale era: si può usare la Beagleboard per navigare, per vedere la TV digitale, etc?

So per certo che in Italia ci sono parecchie persone che hanno comprato la Beagleboard (ma potrebbero essere molte di più) per i progetti più diversi, dal VoIP al mediacenter al telecontrollo con riconoscimento movimenti e allarme. Spero che prima o poi pubblichino in rete qualcosa. Paradossalmente, io che ancora non ci ho combinato niente di veramente concreto (in questo periodo non ho molto tempo da dedicarvi e mi si sono guastati entrambi gli slot SDHC dei miei computer), sono quello che ha scritto più pagine...

La storia "non scritta" della Beagleboard (che ho desunto da vari indizi leggendo per un anno intero la mailing list: i protagonisti non amano raccontarsi) è che alcuni dipendenti della TI hanno avuto il permesso (o forse l'ordine) di sviluppare una board open-source basata su OMAP3530 per far conoscere il chipset agli smanettoni. Carta bianca, purché si venda a tanta gente (dunque con prezzo basso).

Praticamente è tutta pubblicità per l'OMAP3, pubblicità riuscita bene e che alla TI costa molto meno del presentare il processore alle aziende. Il passaparola degli hobbysti contenti determina il successo di un prodotto molto più che la pubblicità mirata (specialmente in un campo dove c'è una vera guerra tra architetture e tra sistemi operativi).

I progettisti hanno deciso prima il prezzo di vendita (149$) e poi hanno realizzato il sistema. Che io sappia, nel primo anno di attività sono state vendute parecchie migliaia di Beagleboard ad altrettanti smanettoni (spesso dipendenti di aziende che cercano una soluzione già pronta e collaudata da integrare in qualche prodotto).

Ti ho detto tutto questo per farti capire che la Beagleboard è uno stumento per smanettoni, non è un prodotto finito e con una funzione precisa. In pochi giorni ci si può familiarizzare e compilare i propri primi software, ma prima di sfruttarla appieno (accelerazione 2D/3D in hardware, decodifica MPEG4 1080p dal DSP anziché dal processore, etc) passerà ancora un po' di tempo (almeno qualche mese): attualmente il supporto hardware non è ancora entrato nel kernel ufficiale di Linux, ed è per questo che la Ubuntu per Beagleboard non è uscita ancora (e ci arrangiamo con la Angstrom, abbastanza collaudata, per la quale esistono anche diversi package open-source di mediacenter e affini, ed un kernel patchato a sufficienza per lavorare abbastanza con tutto).

Gli altri che mi hai nominato (Blobbox, Neuros Link, Revo, etc) sono prodotti finiti, prodotti "specifici", destinati al mercato (destinati agli utenti, non agli smanettoni). La Beagleboard è un prodotto "open" (nel senso che ognuno se lo carrozza e organizza come vuole, sia da hardware che da software), non ha una funzione specifica precisa.

Le applicazioni che mi hai nominato si possono fare su qualsiasi arnese capace di far girare Linux ed un ambiente grafico. A suo tempo con alcuni amici qui si progettava di prendere un vecchio netbook a basso costo (129 o 149 euro all'ipermercato), smontarne video e tastiera per alleggerirlo, ed utilizzarlo come board Linux con wifi e solid state storage e UPS (cioè la batteria), ma non se ne è fatto più niente e, trovandomi da solo, ho preferito puntare tutto sulla Beagleboard per un progetto di GPS tracking intelligente con uscita video.

La Beagleboard va ovviamente "corredata" (le solite tipiche chiavette USB, memory card, eventuale hub autoalimentato, ricevitore USB TV e DTT, chiavetta WiFi e Bluetooth, adattatore da USB ad Ethernet, eventuale disco USB esterno, etc, a seconda di quello che si vuole fare). Tieni presente che tutte le cose che si possono fare con un qualunque PC Linux si possono fare anche con la Beagleboard, che ha abbastanza potenza di calcolo (dopotutto è un OMAP3 a 500 MHz, cioè il 25% più veloce di un "Pentium M" a parità di clock, ho verificato io stesso) e consuma pochissimo (due watt quando a pieno regime) e scalda pochissimo, perciò la Beagleboard si presta bene a progetti dove sono importanti il peso, le dimensioni, il calore, i consumi (ho già scritto altrove che in futuro i computer saranno questi: dimensioni e consumi ridottissimi, visto che il 95% delle nostre attività sono nell'internet). Come avrai visto dalle foto, sono riuscito ad alimentarla comodamente con quattro pile stilo.

L'unico "limite" sono i 256Mb RAM perché alcune cose hanno bisogno di parecchia memoria: se vuoi navigare con Firefox, 256Mb sono appena sufficienti (c'è chi lo usa con 128Mb ma è fastidioso navigarvi); i vari Gnumeric e Abiword lavorano decentemente in 256Mb (ma temo che OpenOffice3 non ce la farebbe); una condivisione network per funzioni NAS e router richiede invece pochissima RAM e capacità di calcolo; un client RTorrent text-only richiede invece relativamente poca memoria ma parecchio I/O per cui non si può fare su pen-drive o memory-card SDHC; un minimo di gaming è possibile (Quake3, Doom2) ma date le esose risorse di processore e networking, diventa rognoso farci qualsiasi altra cosa mentre si gioca (non è mica uno Xeon)...

La Gumstix Overo è una board che potrebbe essere considerata come "concorrente" della Beagleboard; la Overo è molto più piccola come dimensioni, ma anche più costosa e senza le "porte" montate sopra - ed infatti è molto più "industriale" (invece la Beagleboard non richiede di fare saldature e circuiti stampati per arrivare a un sistema funzionante).

In sintesi, se non sei uno smanettone software (capace di armeggiare con Linux, porte seriali, ricompilazioni di pacchetti e di kernel, etc), non è il caso di avventurarti con una Beagleboard.

5 commenti:

  1. "un client RTorrent text-only richiede invece relativamente poca memoria ma parecchio I/O per cui non si può fare su pen-drive o memory-card SDHC"

    perché non si può fare?
    Su una fox-board, seppur limitato da colli di bottiglia dovuti alla USB1.1 e alla partizione swap (ci sono solo 32MB di ram), si riesce a scaricare fino a 400kbps. Con una board come questa, con 256MB di ram e usb2, si dovrebbero avere, in teoria, prestazioni tutt'altro che indifferenti.

    RispondiElimina
  2. Sono stato un po' troppo brutale nel testo, hai ragione.

    Pensavo distrattamente alla Beagleboard come computer già carico di cose da fare, a cui aggiungere il client RTorrent che scrive a tutta manetta su memory-card, il che non è proprio l'ideale...

    RispondiElimina
  3. Ho il piacere di rettificare: la Beagleboard è un progetto fatto da volontari senza alcun supporto diretto della Texas Instruments.

    RispondiElimina
  4. Condivido pienamente la tua osservazione riguardo al fatto che è molto probabile che ci siano molti in Italia che la hanno acquistata. Ovviamente si tratta di chi vuole sperimentare ed arrivare eventualmente a realizzare qualcosa per scopo personale o anche per "incubare" un progetto più ambizioso. Io l'ho acquistata da poco insieme ad altri colleghi.
    Il problema di pubblicare qualcosa non è banale - almeno dal mio punto di vista. Prima di contribuire voglio essere sicuro di offrire qualcosa di veramente utile...
    Apparentemente la BeagleBoard potrebbe sembrare un giocattolo ma è tutt'altro - poterne sfruttare a fondo le potenzialità richiede una conoscenza approfondita ma ci vuole molto tempo.
    Già comprendere il solo DSP è molto impegnativo. Ad esempio non riuscendo a caricare il modulo cmem (per gestire la condivisione della memora tra ARM e DSP) mi sono messo a leggere la documentazione... è una quantità notevole di materiale da comprendere e noi possiamo farlo solo nel nostro (ridottissimo) tempo libero.
    Tra l'altro dopo le prime sperimentazione mi sto accorgendo che i moduli software del kernel sono ancora non molto affidabili, specialmente la parte che riguarda le funzionalità USB.
    Comunque abbiamo creato già un gruppo su GoogleGroup per cominciare a breve a scambiarci le esperienze (magari per poi interagire con la comunità ufficiale).
    E per me il vero punto di forza - anche rispetto ad altre board simili (in termini di funzionalità e costo) è la comunità - molto attiva.

    RispondiElimina
  5. Quale è l'indirizzo del group Beagleboard in italiano?

    RispondiElimina