In generale credo che il valore di Arduino è il plug and play, la valanga di documentazione e la comunità attiva e simpatica.
Tutti gli altri prodotti linux based non hanno manco un sistema operativo ufficiale e univoco, figurarsi un ambiente di sviluppo adeguato.
Sei proprio sicuro di questa tua affermazione ? Io Ho seri dubbi .. a mio parere Arduino 2 ormai non ha piu' assolutamente nulla di innovativo da proporre all'attuale mercato ... un anno e mezzo fa' quando realizzammo la prima scheda aveva ancora senso ... oggi con i processori disponibili sono già vecchi i design con gli ARM Cortex M4 figuriamoci quelli con gli M3 .
Dire che linux non e' standard e non e' plug and play non e' del tutto esatto.
Il kernel e' identico per tutte le distribuzioni e se usi distribuzioni come debian o archlinuxarm hai a disposizione dei pacage manager incredibili. Oltre che avere distribuzioni che funzionano su micro diversi in modo assolutamente trasparente ... la trasportabilità e' eccezzionale.
La community di linux e' enorme e non dimentichiamoci che il kernel di android si basa pesantemente su Linux
Se voglo realizzare una scheda dotata di wifi e di una webcam per fare un webcam wifi devo semplicemente fare tre cose :
- Mettere il dongle wifi usb nella usb
- Mettere la cam usb compatibile con lo standard ucv nell'altra usb
Quando collego i due device in automatico il kernel riconosce i device e li installa . (Devo preparare prima il kernel per la mia scheda con le opzioni che intendo mettere a disposizione fin da subito , devo preparare i miei driver .ko che sono installabili dinamicamente e non richiedono la compilazione statica )
Dopo di che posso lanciare l'istruzione :
pacman -Ss "webcam"
e vedo la lista di tutte le applicazioni che supportano webcam già pronte all'uso
Se scrivo
pacman -S mjpeg_streamer
Installo un'applicazione che mi fa' da webcam wifi ... asap con tanto di supporto di tutto quello che mi serve
Massimo un consiglio non ti mettere di traverso , cavalca l'era di linux c'e' una bella lib che si chiama piwiring
Che ti mette a disposizione le native di arduino su RaspberryPi ... uscite anche voi con un design di questo genere e lasciate perdere lo sviluppo su due ormai non ha piu' senso ... poi se vuoi usare atmel prendi spunto da Acmesystems e la schedina ARIA
Oggi con 5 $ hai chip che semplicemente con una DDRAM da 64 mbyte ti fa' girare tranquillamente distibuzioni embedded di Linux.
Se ho bisogno di un server web e voglio usare python o voglio usare mysql
semplicemente installo apache2
pacman -S apache2
e voila ... se accedo all'ip dal browser vedo subito la mia paginetta web disponibile.
L'ambiente di sviluppo ... in realta' non ti serve reinventarlo e' gia' insito nel sistema ...
pacman -S base-devel
e insalli tutto
poi con nano direttamente dalla tua interfaccia telnet collegata in seriale o se vuoi in ssh ...
esegui nano , un editor semplice ed intuitivo
nano test.c
ti scrivi il tuo programmino
e scrivi
gcc test.c
ti trovi un file a.out , lo eseguie e voila .... funzia
se poi vuoi eseguirlo in multi tasking
./a.out &
e lanci task in multitasking ...
vuoi sapere le risorse impiegate da ogni task ? scrivi in una sessione telnet separata
top
e voila sei aggiornato in tempo reale ...
Non c'e' paragone .... e' una figata ... l'unico problema vero che ho verificato e' che i kernel linux disponibili non sono RTOS , non sono realtime , quindi se usi una periferica hardware PWM per esempio ... i tempi vengono rispettati e il pwm e' ottimo ... se usi invece il pwm software con funzioni di sincronizzazioni tipo usleep ... il pwm fa' schifo ed e' impreciso ...
Non c'e' dubbio il futuro e' sulle piattaforme come raspberry ... ma si puo' fare meglio ... basta non perdere questo treno ...
That's all
Un saluto e buon lavoro
Roberto