Tinkerforge

Tinkerforge Expedition

Neben meinen Raspberry Pi Experimenten bin ich auf die Module von www.tinkerforge.com aufmerksam geworden. Neugierig von den angepriesenen Möglichkeiten und „einfachen“ Nutzung habe ich mir gleich mal einen bestellt. Konkret, einen sogenannten Master Brick und ein IO4 Bricklet.

Was steckt dahinter: Der Masterbrick ein der Master zwischen Host (z.B. ein PC) und den Funktionen der Erweiterungen, sogn. Bricklets (bei mir ein IO4fach). Weiterhin wird auf dem Host ein Dienst installiert, der es ermöglicht via localhost auf den Master Brick zuzugreifen. Danach kann man seine Bricklets adressieren.

Mit dem Gedanke, es muß innerhalb einer Stunde funktionieren, habe ich mich an das Ziel gemacht, mittels einem Druckknopf (Input) – 2 LEDs für eine gewisse Zeit anzuschalten. Lets go…

  • Dienst installiert (bei mir Windows)
  • Bricklet mit Master verbunden
  • Master an USB angeschlossen
  • Eclipse, neues Projekt
  • JAR hinterlegt
  • Beispiel geladen (hier mal Hut a, es gibt für JEDEN Bricklet für jede angebotene Sprache ein Beispiel, COOL!

Danach mußte ich nur noch kapieren, wie ich die IO’s ansteuere und fertig war das ProjektIMG-20130115-00016

Zeit: 20 min

FAZIT: Craß Jungs, ihr haltet was ihr versprecht!

import com.tinkerforge.BrickletIO4;

import com.tinkerforge.IPConnection;

public class ExampleInterrupt {

private static final String host = „localhost“;
private static final int port = 4223;
private static final String UID = „ae1“; // Change to your UID

// Note: To make the example code cleaner we do not handle exceptions. Exceptions you
//       might normally want to catch are described in the commnents below

public static void main(String args[]) throws Exception {

// Create connection to brickd
IPConnection ipcon = new IPConnection(host, port); // Can throw IOException
final BrickletIO4 io4 = new BrickletIO4(UID); // Create device object

// Add device to IP connection
ipcon.addDevice(io4); // Can throw IPConnection.TimeoutException

// Don’t use device before it is added to a connection
// Add and implement listener for interrupt (called if pin 0 changes)
io4.addListener(new BrickletIO4.InterruptListener() {

public void interrupt(short interruptMask, short valueMask) {
System.out.println(„Interrupt by: “ + Integer.toBinaryString(interruptMask));
System.out.println(„Value: “ + Integer.toBinaryString(valueMask));
io4.setConfiguration((short)(1 << 1), ‚o‘, true);
io4.setConfiguration((short)(1 << 0), ‚o‘, true);
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
io4.setConfiguration((short)(1 << 1), ‚o‘, false);
io4.setConfiguration((short)(1 << 0), ‚o‘, false);
}
});
// Enable interrupt on pin 3
io4.setInterrupt((short)(1 << 3));
}
}

About Mr Room

I am Leading Solution Architect, Firefighter, looking for new gadgets, Raspberry Pi, Tinkerforge, ...

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: