Subito mi sono accorto che gli obbiettivi che mi sono proposto sono piu facili a dirsi che a farsi.
Infatti provengo da un mondo completamente diverso, quello dei microcontrollori (in particolare i PIC).
Ma veniamo al dunque: a differenza delle MCU che si limitano ad eseguire in maniera pressoché lineare quello che gli viene scritto nella Flash, la RPi ha un sistema operativo che certo ne amplifica in modo esponenziale le capacità ma allo stesso tempo (almeno secondo me) complica un po le cose.
Adesso provo a spiegarvi in breve quello che voglio fare e dove ho trovato degli "inghippi".
Il mio scopo era quello di iniziare a costruire un robot ma non il classico a ruote (gia realizzato con successo in V superiore) bensì un bipede, con tutti i problemi annessi e connessi (ecco perchè ho deciso di optare per una capacità di calcolo come la RPi).
Come tutti potete immaginare un "robot" deve svolgere tante funzioni, alcune visibili come azioni nel mondo circostante, altre (la maggior parte) che servono a 'preparare' tali azioni.
Il problema è che mentre con le MCU riuscivo ben o male a fare tutto, con interrupt e quant'altro, con la RPi riesco a mala pena ad eseguire uno script per volta sulla shell che finchè è in esecuzione non mi fa fare altro (come in questo momento che mi sta compilando OpenCV da ben 2 ore)!!
Quello che volevo sapere era quale strada seguire e quali app utilizzare per creare dei programmi/eseguibili con o senza GUI da poter eseguire in contemporanea!
Vi faccio un esempio: voglio che controlli lo stato di una batteria scambiando dei dati con un pic (i2c), ma allo stesso tempo "ascoltare" il microfono per sentire "qualcosa" (UART) e controllare il movimento dei motori (SPI); come se non bastasse se io decidessi di connettermi al 'robot' in remoto tramite la shell la vorrei trovare libera per poter andare a leggere, che so, dei file di log o delle variabili per controllare lo stato di esecuzione dei programmi.
Credete sia fattibile o sto chiedendo la luna?