Hue Support WIP

Exciting news: after tons of work, my local build of the Depth Camera Controller software is now able to change Hue lights based on zones! Using a system of automation rules similar to the Nitrogen Logic PC Remote, the Depth Camera Controller web interface is able to use zone events to trigger your Philips Hue lights.

There’s a good bit of work left to do to get it ready for production, but I just tested the first implementation and it works great! I welcome your feedback on the UI design for automation rules via the Nitrogen Logic Contact Us page.

More details to come in the future…

Depth Camera Controller Firmware Update: Build 35

Today I’m announcing build 35 of the Nitrogen Logic Depth Camera Controller firmware. This is a relatively minor update focused mostly on user interface tweaks.

You can update your Depth Camera Controller’s firmware by clicking the Check for updates… link on the controller’s Settings page, downloading the appropriate file, then uploading it to the controller using the firmware update section of the Settings page.

new in build 35

  • Added a confirmation prompt before deleting a zone.
  • Tweaked the page layout for improved consistency.
  • Added Surface Area to the zone attributes displayed in the web interface (this should have been there a long time ago; Surface Area values were already calculated and reported through the TCP/IP interface on port 14308).
  • Fixed the display of zone attributes when a zone is added in another browser window or from a different device.

New App: Nitrogen Logic PC Remote

Some of you may have been wondering why it’s taking so long to get Philips Hue support implemented, especially now that Philips has released official documentation for the API. The reason is that I’ve been working on a new application that satisfies a very cool feature request.

So what have you been doing all this time?

I’m pleased to announce the release of version 1.0 of a new application, the Nitrogen Logic PC Remote. This application allows you to run commands on any Java-enabled PC (Linux, Mac, or Windows) in response to zone events from one or more Depth Camera Controllers.

Coming soon: Depth Camera Controller retail micro-launch, Philips Hue support

The next few weeks will be exciting for fans of Nitrogen Logic.  First of all, I've been working on adding seamless support for the Philips Hue lighting system to the Depth Camera Controller.  Soon you will be able to control your Hue lights with a Depth Camera Controller and a Kinect camera, without requiring a separate automation system.  This new Hue support will be available to all purchasers of the Depth Camera Controller via a free firmware update.

Looking Forward to a New Year

Happy new year!

Things to look forward to in the new year: easier ways to buy a Nitrogen Logic controller, Philips Hue support, and more.

Have a great start to a great year!

Philips Hue support?

If any Nitrogen Logic customers (or potential customers) would like to control their Philips Hue lights, or for that matter any other hardware, with a Kinect and the Depth Camera Controller or Automation Controller, please get in touch to make arrangements.  Basically it boils down to this:

  1. Interested party provides hardware they want to control on a temporary or permanent basis.  Control documentation for the hardware must be available.
  2. Nitrogen Logic makes the necessary changes to the controller firmware.
  3. The new firmware version is released, and temporarily provided hardware is returned.

Optimizing Message Parsing in the Depth Controller Web UI

While preparing for the next revision of the Depth Controller firmware, I found that the web interface would start to show significant lag when a large number of zones were changing.  Some profiling narrowed this down to the interface between the depth camera backend (written in C) and the web frontend (written in Ruby):

Solving libfreenect hangs in the Depth Controller - gdb saves the day

This is a technical and lengthy post explaining some of the work involved in the development of the Nitrogen Logic Depth Camera Controller.  You can follow my thought process and progression through the discovery of a bug, investigating its cause, and implementing a solution.  Executive summary: developer places tongue in cheek, heroically overcomes numerous obstacles, uses stress testing and gdb to find the cause of a bug, and ultimately fixes the problem.

The ideal ARM platform

The ideal ARM platform for a next-generation Nitrogen Logic controller would feature a fast CPU, a GPU with included drivers, reliable USB port(s), and gigabit Ethernet, ideally for ~$100 or less.  A GPU would allow implementation of features like data smoothing, rotatable zones, custom shaped zones, and more.