Omet navegació

Instal·lació a Ubuntu (32 bits)

Instal·lació a Ubuntu

Anem a veure com instal·lar alguns programes i extensions al nostre Ubuntu per poder programar la targeta Arduino de forma gràfica amb l’editor fora de línia Scratch 2 del MIT.

1- ## Requisit previ, instal·la librxtx-java

sudo apt-get install librxtx-java

2-  Instal·la Adobe Air amb les següents instruccions  per a Ubuntu:

2.1- ##  Crea l’usuari root al nostre ubuntu amb l’ordre
sudo passwd

2.2- $$ Baixa el script per fer la instal·lació des de la web de Noobslab  amb l’ordre:

wget http://drive.noobslab.com/data/apps/AdobeAir/adobe-air.sh

2.3- $$ Aneu on heu baixat aquest fitxer amb el terminal, suposem que és la carpeta /home/tecnologia

cd /home/tecnologia

i canvieu els permisos d’execució de l’script baixat amb l’ordre:

chmod +x adobe-air.sh

2.4- ## Executeu el script amb l’ordre:

sudo ./adobe-air.sh

El programa Adobe Air us demanarà la contrasenya de root ( pot ser diferent de la de sudo però cal haver creat l’usuari root al pas 2.1 ) i farà la instal·lació de la versió 2.6 d’Adobe Air

3- Instal·lem Scratch 2 baixant-lo de la web seua.

Scratch2

4- El programa crearà un enllaç a l’escriptori per executar Scratch 2.

Scratch2 offline editor

5- Instal·leu Arduino en Linux. Ací teniu algunes instruccions si no sabeu fer això.

6- Carregueu el  StandardFirmata firmware a la targeta (des de “Fitxer > Exemples > Firmata > StandardFirmata “).

7- $$ Baixar el zip amb el codi font de l’extensió A4S que està fent Damellis des de l’adreça:
wget https://github.com/damellis/A4S/archive/master.zip

i descomprimir-lo, llavors es crearà la carpeta A4S-master que podem deixar en /home/tecnologia o en /opt si no volem que els alumnes l’esborren.

8- $$ Llança el servidor A4S emprant el script “run.sh” des del terminal.
Passa el nom del port que escriurà la targeta Arduino  en format llegible per Linux

cd /home/tecnologia/A4S-master
./run.sh /dev/ttyACM0

Veuràs que tens problemes si no tens el java d’Oracle i si el tens també hauràs d’arreglar alguna coseta com t’explicaré ara.

8.1 ## Posa el java d’Oracle en Ubuntu. (salta aquest pas si ja tens el java d’Oracle)

Executa les següents ordres una a una,

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

sudo update-java-alternatives -s java-8-oracle

Per canviar entre diferents versions de Java cal utilitzar l’ordre de terminal:

sudo update-alternatives –config java

8.2 Si tens el java d’Oracle a l’executar l’ordre ( ./run.sh /dev/ttyACM0)

tindràs l’error:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread “main” java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
at A4S.main(A4S.java:76)

$$ Per resoldre aquest error per una bona temporada et cal buscar la llibreria rxtxSerial que el java d’Oracle no troba, ho pots amb l’ordre

locate librxtxSerial

que retornarà aquestes dues ratlles si has instal·lat librxtx-java al pas 1.

/usr/lib/jni/librxtxSerial-2.2pre1.so
/usr/lib/jni/librxtxSerial.so

Ara sols caldria copiar la llibreria librxtxSerial.so al java d’Oracle, però cal mirar quina versió de java tens instal·lada per defecte amb l’ordre

sudo update-alternatives –config java

que retornarà les ratlles semblants a aquestes:

Hi ha 5 possibilitats per a l’alternativa java (que proveeix /usr/bin/java).

Selecció    Camí                                           Prioritat  Estat
————————————————————
0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1082      mode automàtic
1            /opt/java/jdk1.8.0_31/bin/java                   1         mode manual
2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode manual
3            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java    1070      mode manual
4            /usr/lib/jvm/java-7-oracle/jre/bin/java          1081      mode manual
* 5            /usr/lib/jvm/java-8-oracle/jre/bin/java          1082      mode manual
Premeu retorn per a mantenir l’opció per defecte[*], o introduïu un número de selecció: (Premeu retorn i no canvieu res)

El vostre java per defecte està en *5  /usr/lib/jvm/java-8-oracle/jre/bin/java

Caldrà que enllaceu la llibreria librxtxSerial.so al java per defecte d’Oracle amb les ordres:

cd /usr/lib/jvm/java-8-oracle/jre/lib/i386

sudo ln -s  /usr/lib/jni/librxtxSerial.so   /usr/lib/jvm/java-8-oracle/jre/lib/i386

 

Ara a l’executar l’ordre ./run.sh /dev/ttyACM0 veureu les ratlles
Stable Library
=========================================
Native lib Version = RXTX-2.2pre2
Java lib Version   = RXTX-2.1-7
WARNING:  RXTX Version mismatch
Jar version = RXTX-2.1-7
native lib Version = RXTX-2.2pre2
HTTPExtensionExample helper app started on Departament/127.0.1.1

que indiquen que el servidor A4S ja comunica amb la targeta Arduino, ara ja podeu iniciar Scratch 2 i carregar l’extensió A4S amb el blocs per escriure al port USB on hem posat Arduino. No tanqueu aquest terminal on està el procés A4S executant-se si no voleu matar-lo.

la segona vegada que vulgam iniciar aquest servidor crearen un script de bash gràfic a l’escriptori i li donarem permís d’execució, i posarem dins les ratlles aquestes:

 #!/bin/bash          
 cd /home/tecnologia/A4S-master
./run.sh /dev/ttyACM0

i així no caldrà que els alumnes utilitzen per a res el terminal.

9- Amb el servidor A4S en marxa ja siga amb un script de bash o amb el terminal iniciem Scratch 2.

10- Mentre es prem la tecla majuscules «Shift» del teclat, aneu i premeu «Fitxer» al menú  Scratch. Podeu veure «Import Experimental Extension» o «Import Experimental HTTP Extension» a la part inferior del menú. Premeu sobre aquesta opció.

11- Navegeu fins el directori /home/tecnologia/A4S-master que conté A4S i seleccioneu el fitxer A4S.s2e

12- Podeu veure l’extensió A4S i els blocs es troben en la categoria «Més blocs» de l’editor Scratch. Si el servidor A4S està executant-se, apareixerà un punt verd a la vora del títol «A4S».

MésBlocs-A4S

Ara sols falta posar un led al port 13 i fer un programeta per comprovar si açò funciona després de tanta faena. Us deixe la prova que a mi m’ha funcionat amb aquestes instruccions.

led13 Scratch2