Skip to content

Tutorial: The Undisputed Step by Step Guide to Developing with the Interface SDK

Daniel Mawhirter edited this page Jun 13, 2014 · 39 revisions

Interface Software Development Kit

This is a step-by-step guide to setting up your platform to use the Interface SDK. This specifies all software that you will need to install in order to run this platform successfully. For tutorials about making modules on the SDK, see our tutorial series.

Setup

Note: InterfaceSDK is Windows-only as of 0.4.0

0. You will need Git and JDK 7 to get started

1. Drivers and Developer Toolkit

The Kinect SDK, and Developer Toolkit are available here.These downloads include the necessary drivers, install the SDK first. InterfaceSDK uses version 1.8 of the Kinect SDK as of 0.4.3.

2. Clone the Repos

Clone the InterfaceSDK repo, as well as home_screen_module and any other modules you want access to. These will need to be imported using IntelliJ (maven model).

2. Setting up your Coding Platform

The SDK has been designed to make use as easy and painless as possible, and as such there are multiple development options available. We recommend the first for those who are familiar with IntelliJ or prefer GUI tools and the second for those who prefer to write in a terminal.

  1. Use Intellij and Maven
  2. Use Maven only

At this point, you can try using our command line module to test that the interface SDK has been installed correctly.

Note: If you are within the Mines network, the ScoreSaverPanel can allow saving of scores by name for people registered on CSConnect. Consult a collaborator if you want access to this functionality.

3. Create a Module

Note: We recommend looking at a module like BrickBreaker and changing the name to suit your needs. Working from there is likely to give the best starting point. According to the approach taken in the previous step, choose your method of creating your module respectively.

  1. Creating a module in Eclipse
  2. Creating a module using Maven
  3. Creating a module using Eclipse and Maven

4. Run Your Module

Note: the only currently functional way to run a module is through the ModuleManager and HomeScreenModule. To run ModuleManager from the command line, run: java -jar interfaces-..*-jar-with-dependencies.jar --manifest module_manager_manifest.xml

There are multiple ways to run a module. For quick testing, we recommended running your module standalone without integration into the module manager.

Running a Module Standalone

  • For a module, in Eclipse you can run your module by right clicking on your module and clicking "Run As" > "Applet". Going this route may throw an exception in the Animation thread on exit, but will not harm your project.

The above options will work well for quick debugging, but to truly see your module in action, you should deploy it to a running module manager instance.

Running a Module with the Module Manager

  1. Create a new directory structured as the one below. The files will be added in the following steps.
random-directory
|-- interfacesdk-X.X.X-jar-with-dependencies.jar
|-- manifest.xml
|-- openni_config.xml
`-- modules
    |-- home_screen_module.jar
    `-- your_custom_module.jar
  1. Visit the downloads page and download the most recent Interface SDK (with dependencies). Place this in the top level of your directory, as shown above.

  2. Create a directory named modules/, and place your module and any other modules you want to run in this folder. In the above example, the Home Screen Module has also been added.

  3. Create a Module Manager manifest file to run the module manager. See this page for details on the xml structure and an example Module Manager manifest.

  4. Choose a module to use as the default module. Edit "manifest.xml" to tell the module manager the package name of the default module and where the modules are stored. Again, see this page on the xml structure.

    You can create your own default module or you can use one of the defaults. If you would like to use one of ours, we have two you can use: Command Line Launcher or the full blown graphical Home Screen Module.

  5. Because different drivers, such as the Kinect OpenNI driver, can use their own configurations, you will need to create or download the configuration file for the driver. Here is an [example xml][15] supporting depth and RGB imaging, gesture recognition, and hand tracking. This file must be named "openni_config.xml" to work correctly with the SDK.

  6. With the above files in their proper locations, type this command into a command line in the top level of your created directory:

java -jar interfacesdk-X.X.X-jar-with-dependencies.jar --manifest MANIFEST_NAME

X.X.X should be replaced with the version of your interface sdk. In our example, MANIFEST_NAME should be "manifest.xml", without quotes. This will launch the SDK and, if configured correctly, open your specified default module. If the load fails, debug information will be printed to the command line.

Clone this wiki locally