viernes, 10 de abril de 2015

Arduino Setup

Linux

Entorno de prueba:
* Ubuntu 14.04 x64 / arduino 1.6.3 x64
* Ubuntu 12.04 x32 / arduino 1.6.3 x32


Mi Instalación

(sin apt-get)
1. Arduino 1.6.3 linux x64 (bajar de http://arduino.cc/)
2. /develop/arduino_environment/IDE/arduino-1.6.3

cat /develop/arduino_environment/IDE/Arduino 1.6.3.desktop
copiar a /usr/local/share/applications
[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Exec="/develop/arduino_environment/IDE/arduino-1.6.3/arduino" %f
Icon=/develop/arduino_environment/IDE/arduino.png
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWMClass=jetbrains-android-studio
Name[es_ES]=Arduino 1.6.3

UDEV rules

Por defecto arduino se reconoce. En el caso de Arduino Mega aparece como /tty/ACM0.
Sin embargo, los permisos por defecto son:
  $ ls -l /dev/ttyACM0
  crw-rw----  1 root dialout   166,   0 abr 10 12:43 ttyACM0

Para solventarlo, hay que crear una entrada de udev:
  $ cat /etc/udev/rules.d/99-arduino.rules
  #Minimal
  SUBSYSTEM=="tty", ATTRS{manufacturer}=="Arduino*", OWNER:="root", GROUP:="dialout", MODE="0666"
  SUBSYSTEM=="tty", ATTRS{manufacturer}=="Arduino*", OWNER:="root", GROUP:="dialout", MODE="0666", SYMLINK+="arduino%n"

Estas reglas son propias, luego puede que haya errores. A priori debería cubrir todos los casos (ser más genéricas).
La información requierida al respecto se ha encontrado aquí [1],[2],[3]



Finalmente, para que estos cambios tengan efecto, hay que recargar las reglas. Se puede reiniciar, o realizar la solución eficiente:
  $ sudo udevadm control --reload

Con esto ya tenemos los permisos correctos (nobody):
  crw-rw-rw- 1 root dialout 166, 0 abr 10 12:45 /dev/ttyACM0


Para obtener más información del dispositivo, y por ejemplo, crear reglas ad-hoc, viene estupendamente bien este comando:
  $ udevadm info -a -n /dev/ttyACM0






No hay comentarios:

Publicar un comentario