Arduino

Hola.

Fins fa uns dies no havia pogut provar Arduino (http://www.arduino.cc) amb una Linkat. Ho havia utilitzat amb altres distribucions linux, però.

Arduino és una solució molt senzilla i potent de "Physical Computing". En poques paraules: amb l'ordinador creem un programa que després transferim a una petita placa electrònica que controlarà tot d'aparells segons els sensors que li connectem i el programa escrit. És força utilitzat en robòtica i instal·lacions audiovisuals.

No és un programa paquetitzat amb rpm sinó un simple contenidor tgz. És un programa que evoluciona ràpidament de versió i una vegada s'ha fet els retocs és molt senzill descarregar i substituir per la nova versió.

Si algú s'engresca, a sota he enganxat els retocs que cal fer per tal que funcioni correctament amb la Linkat 3.

Salut.

Toni Ubieto.

**************************
Arduino-0018 amb Linkat 3.0

VEURE http://www.arduino.cc/playground/Linux/OpenSUSE (potser també http://www.arduino.cc/playground/Learning/Linux)

1. Afegir repositori per paquets AVR:
http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11.1/
2. Descarregar i descomprimir arduino-0018.tgz
3. Com a root:
* Moure-ho a /opt: # mv arduino-0018/ /opt/arduino-0018/
* Canviar el propietari: # chown -R root:root /opt/arduino-0018/
* Crear un enllaç simbòlic: # ln /opt/arduino-0018/ /opt/arduino (sense la barra final)
4. Com a root funciona correctament (/opt/arduino/arduino)
5. Per a treballar com a usuari no administrador cal:
* Permetre que el IDE (programa) crei un fitxer per bloquejar el port sèrie (comunicació amb la placa) al directori /var/lock: # chmod o+rwx /var/lock
* Donar drets d'accés al port sèrie als usuaris. Cal afegir-los al grup UUCP. Això permet la creació de fitxers de bloqueig a /var/uucp. Des d'un terminal: # usermod -A some_user_name uccp. O bé amb el YaST: User and Group Administration; Groups; Filter: System Groups; Group Name uucp Edit afegir els usuaris necessaris. Cal reiniciar la sessió dels usuaris afectats.
6. Crear un llançador d'aplicacions al menú del Gnome que cridi a /opt/arduino/arduino. Dins d'Educació; Tecnologia (crear el contenidor Tecnologia millor que Ciència).
**************************
Hola.

Perdoneu, però a la "recepta" de dalt hi ha un oblit i una errada:

Entre els punts 1 i 2 cal afegir:
1 bis. Instal·lar els paquets: avrdude, avr-libc, cross-avr-binutils, cross-avr-gcc

En el punt 5 l'ordre # usermod -A some_username uccp és incorrecta. L'ordre correcta és:
# usermod -A uucp nom_usuari

Salut.

Toni Ubieto
Hola Toni,

Moltes gràcies per compartir aquesta informació al fòrum. Si hi ha una demanda dels centres per utilitzar aquest programa, des del projecte podríem distribuir el paquet amb les modificacions pertinents i mantenir el paquet per futures versions de la Linkat.

Esteu interessats en que la Linkat distribueixi aquest programa?

Salut.

Projecte Linkat
Hola.

No crec que sigui un programa d'ús generalitzat.
D'altra banda és possible que en el termini d'un mes es tradueixi el IDE, wiki i la referència. Apart, les versions del programa s'actualitzen sovint.
Crec que valdria la pena documentar la instal·lació al wiki de la linkat i potser fer un script d'instal·lació i un 1-Click-Install pels paquets necessaris per les dependències.

Salut.

Toni Ubieto



editat per: aubieto, 07/Maig/2010 - 17:13
Hola.

Volia instal·lar l'arduino (versió actual 1.0) en uns ordinadors que encara van amb Linkat3 i m'he trobat que el dipòsit http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11.1/ ja no existeix.

Cercant he trobat els paquets necessaris a http://sophie.zarb.org/distrib/OpenSuse/11.1/i586/rpms
També sembla que amb rpmfind es poden trobar els paquets necessaris compatibles amb opensuse11.1

Quan hagi fet la prova ja ho explicaré.

Salut.

Toni Ubieto
Hola Antoni,

A:

http://download-linkat.xtec.cat/d83/Linkat4_Arduino_S4A/arduino-s4a.tar.gz


tens un fitxer amb un instal·lador i totes les dependències necessàries per tal que Arduino funcioni amb Linkat 4. A més a més, tens el paquet Scratch for Arduino.

A més a més, l'instal·lador afegeix l'usuari dins dels grups uucp i dialout.


Ja em diràs com ha anat.


:-)


Joan
Gràcies Joan però es tracta de l'Arduino en la Linkat 3, no la 4.

Qui s'ha encarregat de paquetitzar l'S4A?. Ara me n'he assabentat i recordo que fa aproximadament un anyet vaig demanar-ho http://linkat.xtec.cat/portal/index.php?module=pnForum&func=viewtopic&topic=3030

He cercat els paquets per la Linkat 3 i ha funcionat. El procés seria el següent:
*****************************************
Arduino IDE 1.0 a la Linkat 3

1.- Descarregar l'Arduino 1.0 des de http://arduino.googlecode.com/files/arduino-1.0-linux.tgz
2.- Descomprimir el paquet, moure el directori arduino a /usr/share i canviar el propietari i grup (recursivament) a root.
3.- Instal·lar els paquets avrdude, avr-libc, cross-avr-binutils, cross-avr-gcc43 que es poden descarregar des de ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/qfix/openSUSE_11.1/i586/
4.- Canviar els permisos de /var/lock per tal que qualsevol usuari que executi l'IDE pugui crear-hi un fitxer per bloquejar el port sèrie de comunicació amb la placa. (# chmod o+rwx /var/lock)
5.- Donar drets d'accés al port sèrie als usuaris. Cal afegir-los al grup UUCP. Això permet la creació de fitxers de bloqueig a /var/uucp. (Des d'un terminal: # usermod -A uucp nom_usuari. O bé amb el YaST: User and Group Administration; Groups; Filter: System Groups; Group Name uucp Edit afegir els usuaris necessaris. Cal reiniciar la sessió dels usuaris afectats).
6. Crear un llançador d'aplicacions al menú del Gnome que cridi a /usr/share/arduino/arduino. Dins d'Educació; Tecnologia (crear el contenidor Tecnologia millor que Ciència)
*******************************************

Salut.

Toni Ubieto
Hola Toni,

Bé, el tema del paquet de S4A és gràcies a una col·laboració que hem fet amb el Citilab. La nostra intenció és que els paquets d'arduino (i les seves dependències) i l'S4A s'incorporin per a Linkat 4 i edu 11.4

Pel que fa la Linkat 3, tot i que no he fet les proves, es podria mirar de fer servir els mateixos paquets rpm que porta dins el fitxer http://download-linkat.xtec.cat/d83/Linkat4_Arduino_S4A/arduino-s4a.tar.gz

Mira en tot cas de fer aquesta prova amb Linkat 3 i ens comentes com ha anat.


Merci,



Joan de Gracia
Hola.

He descarregat el arduino-s4a.tar.gz i falla una dependència per la Linkat 3:
El paquet avrdude-5.10 (que serveix per programar la placa arduino) necessita libreadline.so.6. He trobat el paquet libreadline6-6.2 a http://download-linkat.xtec.cat/distribution/linkat-tumbleweed/mirrors/tumbleweed/i586/ però aquest demana libc.so.6(GLIBC_2.11) i aquí m'he quedat encallat per trobar un paquet compatible amb opensuse 11.1
Si trobeu un paquet amb la versió adequada feu-m'ho saber.

Apart d'això segueix fent falta canviar a mà els permisos de /var/lock per tal que l'Arduino pugui utilitzar el port sèrie.

Com no he pogut programar cap placa no he provat si l'S4A es comunica amb la placa.

Trobo que fa lleig que aquests programes apareguin dins el menú Educació -> Construcció, seria millor dins Educació -> Tecnologia.

Salut.

Toni Ubieto
Hola Antoni,

Em pots confirmar si la resta de paquets s'instal·len bé? T'ho comento perquè acabo de paquetitzar per a Linkat 3 el paquet avrdude. Te l'he deixat a:

http://download-linkat.xtec.cat/d83/Linkat3_Arduino_Deps/avrdude-5.10-43.1.i586.rpm

Si et fes falta algun paquet de l'opensuse 11.1 a:

http://download.opensuse.org/distribution/11.1/repo/oss/
http://download.opensuse.org/distribution/11.1/repo/non-oss/

tens els repositoris oficials d'opensuse 11.1 (oss i non-oss) per si de cas trobes que falta algun paquet.

El problema que esmentes del directori /var/lock es pot resoldre afegint l'usuari en qüestio'a alguns dels grups dialout o bé uucp.


Joan de Gracia
Hola Joan.

Amb aquest avrdude-5.10 que has deixat a Linkat3_Arduino_Deps ja funciona tot amb la Linkat 3.

Resumint:
Els paquets de dependències dins de http://download-linkat.xtec.cat/d83/Linkat4_Arduino_S4A/arduino-s4a.tar.gz serveixen per la Linkat 3 excepte l'avrdude. A més se li hauria d'afegir el libreadline6-6.2 que hi ha a http://download-linkat.xtec.cat/distribution/linkat-tumbleweed/mirrors/tumbleweed/i586/

L'script d'instal·lació ja afegeix l'usuari als grups uucp i dialout. Faria falta afegir les ordres per canviar els permisos de /var/lock doncs pertany a l'usuari root i grup root i originalment té permisos drwxrwxr-t que han de ser drwxrwxrwt per tal que l'Arduino es pugui comunicar pel "port sèrie".

També aniria bé afegir el fitxer S4AFirmware14.pde de "firmware" per l'S4A dins el arduino-s4a.tar.gz

El S4A funciona detecta la placa i es comunica amb ella.

I repeteixo que fa molt lleig que aquests programes apareguin dins el menú Educació -> Construcció, seria millor dins Educació -> Tecnologia.

Gràcies.

Toni Ubieto
Hola Toni,

En efecte, en Linkat 3 el directori /var/lock pertany a root i s'ha de canviar. En canvi en Linkat 4 aquest directori ja pertany al grup uucp (o dialout, t'ho dic de memòria).

Prenc nota pel que fa el fitxer S4AFirmware14.pde


Finalment, no pateixis per la categoria dins de la qual s'ha afegit l'Scratch. Donat que és un paquet que paquetitzarem nosaltres ja modificarem la categoria per tal d'incorporar-la dins de la categoria Educació ->Tecnologia.


Merci per les observacions.


Joan de Gracia