eibd i Raspberry Pi

wpisany przez data: 17/03/2014

17/03/2014 eibd i Raspberry Pi

raspberry pi sprawdza się bardzo dobrze jako kontroler do KNX oprogramowany np. w Python'ie. Do pracy wymagany jest działający gdzieś w sieci EIBD. Ponieważ raspberry nadaje się doskonale żeby uruchomićna nim ten deamon proponuje przejść przez kroki opisane na stronie http://ekblad.org/knx/pi.html gdzie opisano kroki instalacji EIBD na linux'ie.

W skrócie możesz zrobić kroki poniżej lub skorzystać ze świetnego skryptu z http://michlstechblog.info/blog/raspberry-pi-eibknx-ip-gateway-or-router-with-the-pi/ do ścianiecia bezpośrednio na Rasberry Pi po wykonaniu wcześniej sudo su . Pobierz wpisując w konsoli

sudo su
 wget http://michlstechblog.info/blog/download/shell_scripts/install_eibd.sh

dostępne są następujące opcje które należy dopisać wywołując install_eibd.sh:

  • –enable-ft12         włącz obsługę FT1.2
  • –enable-pei16        włącz obsługę BCU1
  • –enable-tpuarts      włącz obsługę TPUART
  • –enable-eibnetip     włącz obsługę routera EIBnet/IP 
  • –enable-eibnetiptunnel       włącz obsługę tunelowania EIBnet/IP
  • –enable-usb                  włącz obsługę adapterów USB-KNX
  • –enable-eibnetipserver       włącz obsługę serwera EIBnet/IP

Uruchomienie instalacji:

chmod a+x install_eibd.sh
./install_eibd.sh --enable-usb --enable-tpuarts --enable-eibnetip --enable-eibnetipserver

Instalacja manualna bez użycia skryptu:

  • ściagnij najnowszy pthsem http://sourceforge.net/projects/bcusdk/files/pthsem/
  • ściagnij najnowszy bcusdk http://sourceforge.net/projects/bcusdk/files/bcusdk
  • w docelowym katalogu raspberry rozpakuj tar xvfz pthsem_2.0.8.tar.gz
  • wykonaj komendy:
  • cd pthsem-2.0.8
  • ./configure
  • make
  • sudo make install
  • wróć do katalogu gdzie znajduje się bcusdk np. wpisując cd ..
  • wykonaj komendy:
  • tar xvfz bcusdk_0.0.5.tar.gz
  • export LD_LIBRARY_PATH=/usr/local/lib
  • ./configure --with-pth=yes --without-pth-test --enable-onlyeibd --enable-eibnetip --enable-eibnetiptunnel --enable-eibnetipserver
  • make
  • sudo make install

do działania EIBD wymaga dodania katalogu /usr/local/lib do listy katalogów z dynamicznymi bibliotekami, należy go dodać wywołując np.:

  • echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/bcusdk.conf
  • sudo ldconfig

Następnie przetestujmy:

sudo route add 224.0.23.12 dev eth0
sudo touch /var/log/eibd.log
sudo chown $USER /var/log/eibd.log
/usr/local/bin/eibd -D -S -T -i --eibaddr=0.0.1 --daemon=/var/log/eibd.log --no-tunnel-client-queuing ipt:192.168.10.10
/usr/local/bin/groupsocketlisten ip:127.0.0.1

Gdzie 192.168.10.10 to adres routera KNX-IP. Przetestujmy czy widać ruch na szynie KNX:

/usr/local/bin/groupsocketlisten ip:127.0.0.1

możemy wygenerować pakiet włączajacy światło na adresie 1/0/4

groupswrite ip:127.0.0.1 1/0/4 1

lub wyłączyć swiatło (zakładając, że na 1/0/4 podłączony jest aktor załączający lub ściemniacz)

groupswrite ip:127.0.0.1 1/0/4 0

EIBD potrafi także korzystać z adapterów USB-KNX. Więc możemy zbudować DUŻO tańszy router KNX-IP niż firmowe rozwiązania.