Una delle caratteristiche vincenti di Galielo, è quella di supportare nativamente Python e di conseguenza la maggior parte delle librerie disponibili per questo linguaggio.
Tra le più importanti per il mondo embedded e hobbystico in generale c'è PySerial, che consente di comunicare in maniera semplice con altre periferiche.
For the english version of this article, click here
Premessa
Se siete finiti a leggere qui, vi siete probabilmente accorti che non è disponibile tra i moduli già presenti nel sistema operativo Yacto, distribuito da Intel per Galileo, e probabilmente non lo sarà in tempi brevi, visto che il packet manager OPKG non può essere aggiornato a un nuovo elenco di pacchetti disponibili. Per constatarlo basta andare a leggere il file di configurazione
- vi /etc/opkg/opkg.conf
- opkg update
- python setup.py install
Oppure le dipendenze sono troppo diverse per potere essere soddisfatte manualmente una per una.
Installazione manuale
Ci procuriamo il pacchetto PySerial più adatto al sistema su cui ci troviamo. Io per la massima compatibilità ho optato per OpenWRT, altra famosa distribuzione Linux per dispositivi embedded, disponibile per molti tipi di architetture, tra cui Intel x886
- wget http://downloads.openwrt.org/backfire/10.03.1/x86_generic/packages/pyserial_2.4-1_x86.ipk
- tar xvfz pyserial_2.4-1_x86.ipk
- tar xvfz data.tar.gz
- ./
./usr/
./usr/lib/
./usr/lib/python2.6/
./usr/lib/python2.6/site-packages/
./usr/lib/python2.6/site-packages/serial/
./usr/lib/python2.6/site-packages/serial/serialutil.py
./usr/lib/python2.6/site-packages/serial/serialposix.py
- cd ./usr/lib/python2.6/site-packages/
- tar -czf serial.tar.gz serial
- scp serial.tar.gz root@192.168.1.112:/usr/lib/python2.7/site-packages/
- cd /usr/lib/python2.7/site-packages/
- tar xvf serial.tar.gz
- serial/
serial/serialcli.py
serial/serialwin32.py
serial/serialutil.py
serial/sermsdos.py
serial/serialposix.py
serial/serialjava.py
serial/__init__.py
Possiamo testare il corretto funzionamento dei moduli, lanciando Python e aprendo sul computer l'IDE di Galileo e il monitor seriale. Dovremmo poter visualizzare i messaggi inviati
Per il momento non è possibile sfruttare questa comunicazione per scambaire dati tra il programma python e lo sketch che gira su arduino. Al contrario di quanto potreste leggere nella seconda parte di questa risposta
Seguiranno aggiornamenti
Nessun commento:
Posta un commento