Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Work in progress!!!

You can do a lot of stuff with Kettle: ETL, EAI and much more and you can even connect Kettle to hardware devices to measure or control external things.
For example reading of RFID tags are possible and already in production: Intelligent InSites Integrates Pentaho to Help Hospitals Improve Efficiencies with RFID tags

...

This project was started back in December 2010 to control a model train just for fun. The working prove-of-concept can be found on my blog soon and it was first demonstrated at the Pentaho community event September 2011 in Frascati (see also the video).

The real challenge was to find a suitable Java driver since the original K8055 SDK delivers only Windows DLLs. There are a couple of projects that I tested, so here is a part of my journey:

...

  1. It is always good to test your K8055 with the supplied software by the board vendor (K8055 Demo)
  2. Download libUSB (even when it states win32, it has also installers for 64 bit in the archive, I tested version 1.2.5.0)
  3. Download k8055-x64-java (tested with version 1.0)
  4. Download the attached ###
  5. Read the Install instructions of libUSB, especially "Device Driver Installation" (The installation of the filter driver is not necessary any more!)
    1. Attention: At the time when you plug-in the USB port, please remember the USB port location. It does not work in different USB slots afterwards and the Java application (Kettle) will crash on different USB ports!
    2. Attached is a sample USB_K8055.inf file, but you should create it by the INF-Wizard program as described in the install instructions.
  6. Unzip the k8055-x64-java
    1. Check the README.txt
    2. Copy the k8055.jar to data-integration\libext
    3. Copy the K8055-x64-java-1.0\dll\x64\k8055JavaCall.dll and k8055.dll to data-integration\libswt\win64 and \Windows\System32
  7. Start Spoon
  8. ###

Linux:

...

  1. Connect your K8055 board to the correct USB port
  2. Execute the attached k8055_first_test.ktr and all digital outputs should be switched on

Background

It was implemented with the User Defined Java Class. It needs the following code snippets (the full code is in k8055_first_test.ktr)

Code Block

import k8055.K8055JavaCall;

[...]

if (first) {
        first = false;
        K8055JavaCall k8055 = new K8055JavaCall();
        k8055.OpenDevice(0L);
        k8055.SetAllDigital();
        k8055.CloseDevice();

}

A more advanced sample can be found on my blog soon.

I look forward to your experiences.