Virtualhere to manage KNX Dongles

KNX is a worldwide standard for home and building control. In addition to siemens and wago PLC systems, KNX should also be teached in our school. We have to provide the software setup for the students and this brought me to a new challenge. The KNX software is secured by a dongle. Basically this is not a problem (We have other software where the licences are also managed by a dongle), but our other dongles can something that KNX can’t. They have network compatibility and can concurrently manage more than 1 Licence. Sadly KNX doesn’t provide such a solution. They have only dongles that store one license and no network setup for concurrent licences.

knx_dongle2raspberry-pi-3

How do I get a virtual machine access to a KNX Dongle. I’ve discovered a interessting solution called virtual here. Virtualhere can be used to share USB Devices over the network. It is simple and can be used for Linux, OSX and Windows.

virtualhere-diagram700

My idea was to setup a RaspberryPI that run a virtualhereserver. A USB 3.0 Hub is connectet to the raspberryPI where I plug in the KNX dongles and share them over the network.

img_0042

The installation of raspian OS is pretty simple:

  1. Write Raspbian OS to microSD Card (https://www.raspberrypi.org/downloads/)
  2. Boot raspian and set a static ip address
    1. sudo /etc/network/interfaces
  3. Set hostname
    1. sudo nano /etc/hostname
  4. If you want change keyboardlayout to Switzerland in /etc/default/keyboard
  5. Install latest Raspberry PI Firmware:
    1. sudo apt-get install rpi-update
    2. sudo rpi-update

Install virtualhereserver with the following commands:

  1. ssh to your raspberry pi
  2. wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
  3. sudo chmod +x ./vhusbdarm
  4. sudo mv vhusbdarm /usr/sbin
  5. wget http://www.virtualhere.com/sites/default/files/usbserver/scripts/vhusbdpin
  6. sudo chmod +x ./vhusbdpin
  7. sudo mv vhusbdpin /etc/init.d
  8. sudo update-rc.d vhusbdpin defaults
  9. sudo reboot

The windows client is just a portable exe file:

If you execute it and connect to the raspbery pi it will automatically install the drivers. I’ll preinstall the drivers in the operatingsystem image with a simple script:

script

driver_install

If the virtualhere server and client component is running it’s possible to connect the shared usb devices in to the virtual machine. (if the server is in trial mode you can connect only one device, otherwise you have to buy a license)

vhclient

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.