sábado, 14 de febrero de 2009

Acceder al bus KNX con interfaz USB en NSLU2

Vamos a ver como instalar eibd y configurarlo con una interfaz USB (en mi caso de JUNG)

Antes de nada hemos de comprobar que nuestro interfaz USB está soportado:
http://bcusdk.wiki.sourceforge.net/SupportedHardware

Para instalar eibd en el NSLU2 seguimos los siguientes pasos:
- Configuramos el NSLU2 para que tenga acceso a Internet.
- Entramos por SSH o telnet al NSLU2 y ejecutamos
ipkg install http://ouaye.net/linknx/optware-nslu2/pthsem_2.0.7-1_armeb.ipk
ipkg install http://ouaye.net/linknx/optware-nslu2/eibd_0.0.3-4_armeb.ipk

(también podemos descargar los paquetes .ipkg en /tmp y luego instalarlos con ipkg install

- Creamos el fichero /opt/etc/init.d/S70eibd con el siguiente contenido:
#!/bin/sh
usbport=$(findknxusb | /bin/sed -e '1 d' -e 's/device //' | /usr/bin/cut -d':' -f1-2)
eibd -d -D -S -T -i usb:$usbport

- Damos permisos de ejecución al fichero
chmod 755 /opt/etc/init.d/S70eibd

- Reiniciamos el NSLU2 con el USB conectado y debería cargar sin problemas.
Podemos comprobar que se está ejecutando eibd listando los procesos en ejecución con el comando ps -a

En caso de que eibd no se arranque automaticamente, probablemente tendremos una interfaz "delicada". En http://bcusdk.wiki.sourceforge.net/ABB_USB podemos ver cuales funcionan, cuales necesitan "un apaño", y el motivo del problema.

El "apaño" en cuestión, consiste en editar el fichero /opt/etc/init.d/S70eibd para que quede de la siguiente manera:
#!/bin/sh
usbport=$(findknxusb | /bin/sed -e '1 d' -e 's/device //' | /usr/bin/cut -d':' -f1-2)
bcuaddrtab -w 0 usb:$usbport && eibd -d -D -S -T -i usb:$usbport

La versión de eibd que se ha instalado nos permitirá usar ETS para programar nuestra instalación KNX. Simplemente crearemos una nueva conexión en ETS del tipo KNXNet usando la IP del NSLU2.


Referencias:
BCUSDK con eibd de la Universidad de Viena (en SourceForge)
Problemas con algunas interfaces USB

No hay comentarios: