venerdì 19 dicembre 2008

Un altro motivo per dire che la Beagleboard è pensata bene

clipped from beagleboard.org
Beagle Board - Get Yours from Digikey.com
La Beagleboard è pensata per rimanere entro il costo di 149$, ragionevole sia per il professionista che per l'hobbysta.

Da un messaggio di Jason Kridner (che con Gerald Coley cura lo sviluppo della Beagleboard) leggo alcune considerazioni interessantissime sulle feature e sui costi.

Quando qualcuno ha chiesto se alla prossima release si possa aggiungere una porta ethernet, ha risposto che ogni cambiamento hardware ha un costo di 20.000$ e che "una feature che verrà sfruttata da pochi, non dovrebbe incidere sul prezzo che pagheranno tutti".

Quel che apparentemente "manca" alla Beagleboard, o è già in arrivo sulla prossima revision C, oppure si può aggiungere sfruttando le USB e le altre porte già disponibili.

6 commenti:

  1. Ciao,
    sono capitato su questo blog cercando una scheda madre dai consumi tanto ridotti da essere usata per un piccolo robot! Una vera scheda madre da pc comporta forte espandibilità e possibilità di programmazione con il mio linguaggio preferito: python. Pensavo ad un sistema motori+sensori gestiti da una scheda con interfaccia seriale, e questa controllata dalla beagleboard (con linux) che funge da cervello e permette di aggiungere al robot bluetooth o wireless con poca spesa (una classica penna usb-BT). Molta potenza di calcolo ed uno sviluppo che non richiede molta conoscenza a livello hardware. Ti sembra possa funzionare l'idea?

    RispondiElimina
  2. Non mi sono ancora cimentato con la robotica, per cui l'unica cosa che ti posso rispondere è... un dubbio: cosa intendi per "molta potenza di calcolo"?

    La Beagleboard ha un ottimo rapporto prezzo/prestazioni: il Cortex-A8 equivale pressappoco ad un Pentium III, tranne che per la parte floating-point che è più lenta.

    Il DSP dell'OMAP3530 è assai più potente e versatile (tant'è che decodifica stream video MPEG4 800x600 25fps richiedendo solo il 10-12% di tempo di CPU del Cortex) ma per quello occorre usare altri strumenti (non basta il semplice compilatore C/C++).

    Aggiungere wifi/bluetooth è facile e comodo; non li hanno messi "di serie" per tenere il prezzo fermo a 149$, ma ormai oggi le chiavette bluetooth costano quasi zero (e pensare che la mia prima chiavetta bluetooth mi costò 30.000 lire!)

    Autocostruirsi un robot è una vera sfida in diversi campi: design/funzionalità, hardware, ingegnerizzazione, software, alimentazione, estetica...

    Per esempio, non si può mica collegare direttamente un servomotore ad un pin di GPIO (che può assicurare pochissimi milliampere). Ed occorre prendere parecchie precauzioni (hardware e software) per evitare che una condizione banalmente critica danneggi qualche pezzo o l'intero sistema.

    RispondiElimina
  3. Per "molta potenza di calcolo" intendo andare oltre i microcontrollori, capaci di 20 o al più 40 mhz... Sto cercando il modo per usare come cervello una scheda madre o un cellulare, ovviamente per controllare a basso livello l'hardware userò una scheda apposita, con interfaccia seriale. Esistono schede che regolano/leggono le uscite con comandi seriali mandati tramite porta seriale o usb. Il problema principale nell'usare un cellulare (con OS symbian) è pensare ai collegamenti cellulare-usb o cellulare-RS232, il problema principale nell'usare una piccola scheda madre sono i consumi! Ad esempio 20W non sono niente per l'impianto di casa, ma sono fuori dalla portata di una batteria da 9V!

    RispondiElimina
  4. Purtroppo il discorso si fa spinoso... Infatti nei cellulari c'è una gran quantità di hardware e potenza di calcolo. Il mio vecchio P900, comprato nel 2003, ha già un ARM9 a 156MHz; se ne trovano usati a prezzi stracciati. Se solo esistesse un po' di documentazione per riutilizzarli come mainboard+video+I/O alimentabili da batteria, etc etc !! Le case produttrici ne venderebbero a bizzeffe anche molti anni dopo che sono "fuori produzione"... e non ci sarebbe bisogno di comprare soluzioni ad-hoc che rendono il 10% in più ma costano il 300% in più.

    RispondiElimina
  5. Già. Ma ho già sperimentato la difficoltà nel trovare informazioni sui collegamenti dei cellulari. Adesso sto cercando di vedere se riesco ad aggirare il problema tramite bluetooth: qualunque apparecchio dotato di bluetooth deve usarlo secondo gli standard. Col bluetooth posso anche passare da un robot controllato dal computer ad uno controllato dal cellulare con relativa semplicità, semplicemente sistemando il software. Ma i costi salgono. Ad esempio un'Arduino BT costa 79 euro, contro i 20 e qualcosa di un'Arduino usb!

    RispondiElimina
  6. A suo tempo comprai anch'io la Arduino (non una, ma tre: una "Diecimila" e due "Mini").

    Tranne nel caso Bluetooth, la Arduino è proporzionata a quello che costa.

    Purtroppo vari eventi mi hanno frenato dallo smanettarci di più. Riuscivo a leggere i valori di un NunChuck ma non sono ancora riuscito a scriverli in una SecureDigital.

    Ovviamente non si può pensare a Python con la Arduino. Quattordici kilobyte non bastano neppure per uno starnuto di un pythonista ;-)

    Per Python e Ruby e tutto il resto occorre una distribuzione Linux, cioè una motherboard processore con almeno 32Mb RAM (che pure mi sembrano un po' strettini) e almeno 256Mb flash.

    La Beagleboard è molto di più, perché ha l'accelerazione grafica, ha un processore veloce quanto un Pentium 3, ci si può installare una distribuzione Linux "da desktop".

    Per di più costa veramente poco (149$, proprio ora che il dollaro sta tornando a 1,40 rispetto all'euro).

    Leggevo proprio stamattina che la fatidica revisione C (con 256Mb RAM anziché gli attuali 128) costerà circa 10$ in più, ma ne varrà davvero la pena.

    Finirà come per i computer: "il cannone per ammazzare l'uccellino".

    Per fare wordprocessing sarebbe sufficiente un computer con 256k RAM (a suo tempo ho usato il WordStar per scrivere un testo di centosettantaseimila caratteri, usando corsivi e grassetti, e in 256k si lavorava benissimo).

    Oggi, per fare la stessa cosa, occorre Vista, un giga di RAM, un Office, etc... Si va molto più lenti che con WordStar 3.5 per MS/DOS, si possono aggiungere sciccherie e disegnini, ma in fin dei conti alla gente normale non serve granché dopo corsivi, grassetti e caratteri "un po' più grandi".

    Poco prima di Natale, da Expert, vedevo un notebook HP nuovo a 299 euro: a quel punto è inutile spendere 300 euro o più per una soluzione embedded quando per 299 hai SVGA, USB, wifi+bluetooth, batteria, un giga di RAM e duecento giga di disco, etc.

    (nota: ero tentato di comprarlo per "estrarne" la motherboard e il video e farne un sistema embedded, traslocando/scambiando l'ardisco e possibilmente la RAM in un altro computer),

    Il termine inglese che designa questa situazione è "overkill", "ultra-ammazzare". In italiano credo che niente renda meglio del modo di dire "vuoi usare un cannone per ammazzare un uccellino".

    RispondiElimina