Skip to content

davidm-public/controller-kinect-bluemix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Controller to connect Kinect with Bluemix

The controller-kinect-bluemix project contains sample code that shows how to send MQTT commands to IBM Bluemix when 'buttons' are pressed via Kinect.

Buttons are pressed when you move hands over them and wait for two seconds. The project is configured so that this only works when hands are between 50 cm and 1,00 m away from the Kinect meassured via the depth sensor.

The best way to explain the functionality are pictures. Check out the pictures in the screenshots directory. You can use this project for example to steer Anki Overdrive cars.

alt text

The project has been implemented via the libfreenect and the BoofCV libraries. MQTT messages are sent via Paho to IBM Bluemix and the Internet of Things foundation.

Via the Internet of Things foundation the commands can be sent to devices like the Anki Overdrive cars. The cars can be connected to the foundation via the separate project Node.js Controller and MQTT API for Anki Overdrive.

Author: Niklas Heidloff @nheidloff

Setup

I've used a Kinect (model 1414) and a MacBook Pro.

The libfreenect library needs to be installed first. Follow the instructions on GitHub.

The controller is a Java application. Make sure the following tools are installed and on your path.

Invoke the following command to download the project.

git clone https://github.com/IBM-Bluemix/controller-kinect-bluemix.git

Before you can build the project you need to modify two Java files. In net.bluemix.kinect.App define the location of the libfreenect library. In net.bluemix.kinect.MQTTUtilities define the MQTT properties: deviceId, deviceType, apikey and apitoken.

You will need to create an instance of the IBM IoT Foundation service in Bluemix. Within the IoT Foundation dashboard your need to register a device as well as an app.

  1. Click the devices tab and click Add Device
  2. Create a new device type called "kinect"
  3. In the device ID field enter a unique ID
  4. Click on the API Keys tab
  5. Click the New API Key link

In order to build the project invoke this command.

mvn package

After this you can run the controller class net.bluemix.kinect.App via "java". Alternatively you can import the project in Eclipse as Maven project and run the app from there.

In order to steer the Anki Overdrive cars you can import a flow in Node-RED.

About

Controller to connect Kinect with Bluemix

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%