11.23.08
Programmare l’RCX lego con ubuntu
Come primo articolo spiegerò brevemente come installare tutto il necessario per poter utilizzare l’RCX lego su ubuntu.
L’articolo originale lo trovate qui.
I quattro passi fondamentali sono:
- Installazione della torretta usb a raggi infrarossi
- Installazione e configurazione del compilatore nqc
- Editor del codice utilizzabili
- Scaricamento firmware
1. USB tower a raggi infrarossi
Per prima cosa collegare la torretta al pc tramite una porta USB.
Aprire il file di configurazione come admin con:
sudo gedit /etc/udev/legoTower.conf
e incollarci all’interno questo testo:
#!/bin/bash
ln -s /dev/usb/legousbtower0 /dev/usb/lego0
chmod 666 /dev/usb/lego0
quindi chiudere il file e salvare.
Aprire il file di configurazione come admin con:
sudo gedit /etc/udev/rules.d/91-legotower.rules
e incollarci dentro questo testo:
ACTION==”add”, SUBSYSTEM==”usb”, ATTRS{product}==”LEGO USB Tower”, ATTRS{manufacturer}==”LEGO Group”, RUN+=”/etc/udev/legoTower.conf”
quindi chiudere e salvare.
In questo modo ogni volta che verrà collegata la torretta questa sarà subito disponibile.
Per testare la torretta scollegarla e ricollegarla, quindi digitare il comando:
echo test > /dev/usb/lego0
Se tutto è andato bene dovrebbe accedersi un led verde all’interno della torretta.
2. Compilatore NQC
1. Installazione da repository
Nqc è disponibile nei repository ufficiali ubuntu, potete installarlo digitando:
sudo apt-get install nqc
2. Installazione da sorgenti
Il compilatore NQC (Not Quite C) servirà per compilare i programmi scritti e scaricarli sull’RCX.
Per prima cosa bisogna scaricare l’ultima versione del codice sorgente di nqc da qui.
Una volta scaricato ed estratto spostarsi nella cartella e digitare il comando:
gedit Makefile
All’interno del file è necessario cercare la riga:
# USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o
e togliere il commento cioè il cancelletto davanti:
USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o
quindi salvare il file e chiuderlo.
Ora creare la cartella rcxlib/LegoUSB:
mkdir rcxlib/LegoUSB
e copiarci all’interno il driver per la torretta:
cd rcxlib/LegoUSB
wget http://legousb.cvs.sourceforge.net/*checkout*/legousb/LegoUSB/drivers/linux/include/legousbtower.h rcxlib/LegoUSB/legousbtower.h
cd ../../
E quindi compilare ed installare il compilatore:
make
sudo make install
echo export RCX_PORT=usb >> ~/.bashrc
Anche questa volta per controllare che nqc utilizzi correttamente la torretta digitare il comando
nqc -msg 7
Se tutto è andato bene come prima dovrebbe accedersi un led verde nella torretta.
3. Editor del codice
Su windows è presente un ottimo editor chiamato Bricx Command Center che purtroppo non è disponibile per linux. Si può comunque ulilizzare attraverso wine anche se non è possibile collegarlo alla torretta IR.
E’ comunque possibile utilizzare tutti gli altri editor C, ad esempio gedit, compilarli e scaricarli sull’RCX con il compilatore nqc.
4. Scaricamento firmware
L’ultima cosa da fare è scaricare il firmware sull’RCX.
Inserire il cd-rom Robotics Invention System ed eseguire questo comando per scaricarlo sull’RCX:
nqc -firmware /media/cdrom/firm/firm0309.lgo
Ora abbiamo tutto quello che ci serve per poter cominciare a programmare i nostri robottini lego con ubuntu.
Buon divertimento