Indice

Controllo del flusso e trasferimento file sulla rete

I flussi dei dati

Quando un nuovo dispositivo viene agganciato al computer, il sistema operativo ha il compito di rilevarne la presenza, riconoscerlo e renderlo accessibile all'utente.
In linux, questo avviene attraverso la creazione di un file speciale nella cartella /dev. La versione di wiildos che utilizziamo a scuola è predisposta per la creazione del file /dev/arduino. Possiamo accedere a questo file come a un qualunque file di flusso, cioè come ad una successione di caratteri che possono essere visualizzati dal comando cat.

Con questo comando riusciamo a stampare sullo schermo il flusso dei dati prodotti dal nostro accelerometro.
Cat, infatti, è un programma che preleva un input da uno o più file e produce un output, che generalmente viene stampato sullo schermo.
La scelta dello schermo, per la verità, non è pertinenza di cat. Ogni comando, infatti, affida i propri ouput al sistema operativo, e quest'ultimo decide dove dirigerli. Di solito, tutti gli ouput sono diretti sullo schermo, che assume il ruolo di standard output.

Noi, però, potremmo avere bisogno di salvare questi dati o spostarli altrove. Per fare questo, non abbiamo bisogno di un nuovo programma, ma solo di istruire il sistema operativo a ridirigere i dati altrove. Il comando che esegue questa operazione si chiama operatore di redirezione ed è rappresentato dal simbolo di maggiore.

Questo comando crea un nuovo file, chiamato flusso.cvs, che contiene tutti i dati che, senza redirezione, sarebbero stampati sullo schermo.
L'estensione cvs è utile per riutilizzare i dati stessi con un foglio di calcolo.

Copiare file attraverso la rete

Purtroppo, a scuola, non è facile aprire il file flusso.cvs con un foglio di calcolo.
Il file flusso.cvs, infatti, risiede sul computer a cui è collegato l'unico esemplare di arduino di cui disponiamo. Ma questa macchina è un computer remoto per quasi tutti gli studenti che lavorano nell'aula, ciascuno dalla propria postazione, connessi per mezzo di una sessione ssh. Il foglio di calcolo, invece, è un programma grafico che è preferibile eseguire sulla postazione locale. Per lavorare in un modo più comodo, abbiamo deciso di imparare come si esegue una copia di file da remoto.

Prima di tutto, usando la combinazione di tasti CTRL-MAIUSC-T, abbiamo aperto una seconda scheda sul terminale locale. In questo modo, abbiamo a disposizione due sessioni di terminale distinte. La prima esgue comandi sulla macchina remota, mentre la seconda sulla macchina locale.
Dal titolo della nuova scheda, abbiamo riconosciuto il nostro username e il numero di ip della nostra macchina.
Poi, dal terminale remoto, abbiamo utilizzato il comando scp1), con questa sintassi:

Ricordiamoci i due punti!!!
Volendo, dopo i due punti, è possibile aggiungere il percorso in cui vogliamo copiare il file, oppure il nuovo nome che desideriamo attribuirgli.
Ricordiamo anche che, se vogliamo fare un uso più completo del comando scp, possiamo consultare il manuale digitando man scp.

Il comando scp richiede una password, che è quella dell'utente locale. Al termine, la copia è stata eseguita e possiamo aprire il file con il foglio di calcolo. Volendo, possiamo fare questo direttamente da terminale:

1) copia sicura