
Spesso mi capita di collegare una scheda Arduino al Raspberry Pi, o comunque ad un personal computer con sistema operativo Linux, tramite un cavo USB. Quando andiamo ad utilizzare la comunicazione su porta seriale vedremo che la porta TTY cambia, costringendoci a cambiare il nostro script Python, o altro programma in esecuzione, facendolo puntare alla nuova seriale. Esiste una soluzione a tutto questo, la vedremo insieme in questo articolo, ovvero procederemo alla creazione di un symlink tty (link simbolico)! Questi link simbolici ci permettono di indirizzare la porta seriale mantenendo sempre un riferimento a noi noto.
Creazione di un symlink tty
Per prima cosa connettiamo il nostro Arduino (o il dispositivo che vogliamo utlizzare) al nostro pc/Raspberry.
Apriamo il terminale e digitiamo:
ls /dev/tty* |
Cerchiamo il nostro Arduino nell’elenco che viene mostrato a terminale, perchè ora andremo a scrivere in un file di testo l’output di un comando, udevadm, che ci consentirà di ottenere alcune informazioni fondamentali per la creazione di un symlink tty.
udevadm info -a -p $(udevadm info -q path -n /dev/ttyACM0) > arduino |
Ora andiamo a cercare, all’interno del file di testo, queste due righe:
ATTRS{idProduct} ATTRS{idVendor} |
Andiamo a cercare il nostro file contenente le regole:
ls /etc/udev/rules.d/ |
E andiamo a modificarlo con nano:
sudo nano /etc/udev/rules.d/99-com.rules |
L’ultimo passaggio ci consentirà di creare un symlink tty al nostro dispositivo. Andiamo ad aggiungere questa riga al file appena aperto in nano:
SUBSYSTEM=="tty", ATTRS{idProduct}=="0043", ATTRS{idVendor}=="2341", SYMLINK+="arduino" |
Ovviamente i valori associati alle chiavi ATTRS{idProduct} e ATTRS{idVendor} andranno sostituite con quelle trovate all’inizio della guida.
Conclusioni
Bene, ora che abbiamo creato il nostro link simbolico al device possiamo preoccuparci solamente della programmazione e quindi di portare a termine il nostro progetto o, eventualmente, modificarne un’altro! Non dimenticatevi di dare un’occhiata alle altre guide pubblicate in questo blog, e soprattutto di lasciare un commento qui sotto!
A presto con la pubblicazione del progetto Controller GrowBox Arduino, che verrà rilasciato sul mio spazio su GitHub con un articolo di supporto su questo sito!