Maurotec:
Si è lento il motivo non è da attribuire alla connessione seriale in se ma al fatto che quando apri il device /ttyAC0 la board si resetta e al riavvio parte il bootloader, questo è il responsabile principale ma è anche il metodo che ti permette di scrivere il firmware nella flash di arduino senza dovere usare un programmatore esterno via ICSP tipo il AVRisp mkii(non c'è più in commercio). Il bootloader si prende un poco di tempo durante il quale attende dei byte per verificare se si ha intenzione di dialogare con esso, verificato che non si vuole dialogare con il bootloader questo avvia il firmware utente.
si
ho visto che ogni volta che aprivo la connessione verso la seriale/usb arduino si resettava
allora ho messo un condensatore tra il pin di reset e gnd e in questo modo pare che arduino non si resetti piu'
non resettandosi piu' non ho piu' neanche il problema del tempo necessario per il riavvio (e per il bootloader)
a parte che potrei usare anche il programmatore per togliere il bootloader e buonanotte, pero' in questo momento, non riavviandosi, non e' piu' rilevante..
quindi secondo il tuo ragionamento ora dovrei essere assai piu' veloce comunicare con arduino da riga di comando
e invece, va sempre una schifezza come tempi:
time ./on.py
ON
real 0m5,095s
user 0m3,410s
sys 0m1,684s
time ./off.py
OFF
real 0m5,067s
user 0m3,417s
sys 0m1,648s
5 secondi e rotti per inviare un comando!!
(e sono sicuro che arduino non si e' riavviato)
Puoi ovviare aprendo il device una sola volta ed eseguire più comandi, cronometrarli e poi chiudere il device e terminare il programma.
no, non voglio la seriale sempre aperta!
voglio aprirla, fare quello che mi serve e chiuderla
p.s.: ho fatto anche la prova a caricare lo sketch con il programmatore senza il bootloader e ovviamente non cambia niente
p.s.2: noto che molto tempo viene perso prima che cominciano a lampeggiare i lex rx/tx sulla scheda quindi io escluderei il problema della velocita di trasmissione, secondo me e' qualcosa che avviene prima dello scambio dei dati che fa perdere molto tempo