Hub & Spoke
- iOS and Kinect Support! January 30, 2012 Phil
Over the last several months, I’ve been working on providing support for the iOS platform and the Kinect Sensor. This support is now available in as a set of experimental widgets, release 3.3.2.
iOS
If you are set up as an Apple Developer, you can now create an application that works with the toolkit and runs on an iOS device such as an iPad or iPhone. This is possible because Flash Pro 5.5 can export a native App for iOS. The way it works is by attaching the microcontroller such as an Arduino to a computer and running the Hub on that computer. The application running on the iOS device assesses the Hub via WiFi (just set the remoteHubIP to the IP of the computer running the Hub). Everything else works as usual with the Toolkit. Additional features have been added to work with mobile devices including support for accelerometers and the position of a movieClip that’s being dragged around by touch.
Currently the only documentation for how to use the iOS support is on the downloads page.
Kinect
The Kinect is a very powerful sensor that can detect the three dimensional position of 15 joints of a person’s body. In this way, the movement of a hand or foot can be used to control media or other systems in the NETLab Toolkit. With some additional software such as Synapse, the Kinect can be easily used with the NETLab Toolkit. Single values for any joint (e.g. the X position of the left hand) can be accessed without any code using an AnalogIn widget. If your application requires accessing all 15 joints at the same time with x,y,z value, there’s a code interface to get all the values at once from a single AnalogIn widget.
More info and a example Flash file are available in the Kinect Tutorial.
- NETLab Toolkit Example Projects May 3, 2011 Phil
We’ve been updating the NETLab Toolkit website, and now have a slideshow on the homepage, and an Examples page with a set of links to great projects built with the Toolkit.
- 3.2.1 Released - New widgets! April 6, 2011 Phil
The NETLab Toolkit version 3.2.1 is out. This is a fairly major release, adding several new widgets, major improvements to other widgets, and featuring an improved Hub server application. See the download page to get it, and for more details.
- NEW – Combine widget that can have up to four inputs and combines them into a single output
- NEW – MotionTrack widget that uses a camera as an input and outputs X,Y positions based on motion captured by the camera
- NEW – ServoOut now supports the Arduino, and a bug was fixed so that fractional numbers will now work (the fractional part is now ignored)
- NEW – AnalogIn, DigitalIn, AnalogOut, DigitalOut now all support the new NETLab Toolkit communication system called HubFeed. HubFeed permits any computer (and in the future phones and tablets) to send to or receive values from any Hub on the network.
- IMPROVED – The Hub is now more reliable in serial communications. In addition, several bugs are fixed including problems with multiple outputs to digitalOuts, using more than one remote XBee, and problems disconnecting from the Arduino. The Hub also has a new plug-in architecture.
- IMPROVED – SoundControl has been significantly revised to separate the function of triggering the play start/stop of the sound from controlling the volume of the sound (and it is now possible to control the pan position with a separate input). There are also new options for allowing a sound to play all the way through once triggered, even if the trigger input falls below the threshold. Lastly, there is now a code interface to change volume, change pan, and trigger the sound.
- IMPROVED – VideoControl has also been significantly revised with a similar approach to the the SoundControl widget
- IMPROVED – The Insert widget has a new code interface for log recording/playback as well as a loop option for log playback.
- IMPROVED – AnalogIn adds an easing option, DigitalOut has a code interface, and many other widgets have smaller changes and improvement.
- NETLab Toolkit release coming March 24, 2011 Phil
We’re working on a new release with many new features. These include support for servos on the Arduino, a new MotionTracking widget for use with a video camera, a much improved SoundControl widget, fixes to the Hub, and many other improvements and new widgets.
Leading up to this new release, we’ll be updating the documentation – where appropriate these changes may show up before the new version comes out. These new features/changes will be noted in the widget documentation pages with NEW or CHANGED. Anything marked this way will apply to the new version, and not the current version 3.1.7.
- Motion Tracking & HubFeeds February 2, 2011 Phil
We’ve released experimental versions of three widgets. Get them at the Download page.
- MotionTrack – A widget that tracks motion from a video camera attached to your computer. No documentation page yet
- Set your widget inputSource to the instance name of the MotionTrack widget plus “X” or “Y” to access the coordinates of the tracked location. E.g. “myVideoX” or “myVideoY” where the MotionTrack widget has an instance name of “myVideo”
- Try values for blur = 0 to 40, brightness = -100 to 100, contrast = -100 to 200, minArea = 0 to 50.
- Set the width value to determine the scale of rectangle that coordinates are output in.
- Try with easing on or off – easing on will smooth out the tracking and add some momentum to it.
- If you have more than one camera attached to your computer, you can right-click on the left video feed and select “Settings…” to choose which camera you will use.
- Thanks to the SoulWire blog for the code that this is based on!
- AnalogIn – Added a new controller input option of “HubFeed” which allows the application to accept input from an arbitrary source that seeds a feed to the Hub. Use in tandem with the new experimental AnalogOut widget.
- To use this feature, set the controller parameter to “HubFeed”
- Also, set the HubFeedName parameter to the name of the feed you want to listen to. You’ll need to find out the name that the source uses to feed to the Hub.
- To get a feed from another computer running the Hub, set the remoteHubIP parameter to the IP address of that computer.
- The oscMultiplier parameter is also applied to data received by a HubFeed. The name of this parameter will likely be changed to be more general.
- AnalogOut – Added a new controller output option of “HubFeed” which allows you to send output to the Hub for any other system to monitor from the Hub you send it to. Use in tandem with the new experimental AnalogIn widget.
- To use this feature, set the controller parameter to “HubFeed”
- Also, set the HubFeedName parameter to the name of the feed you want to create. You’ll need to let others know the name you are using so they can get the feed using the AnalogIn widget.
- The oscDivider parameter is also applied to the data sent to a HubFeed. The name of this parameter will likely be changed to be more general.
- SoundControl – Changed the parameters to add a new feature called restartPlayToEnd, which will play a sound all the way through after the sound is triggered.
- The triggerSoundBehavior parameter has been changed to soundBehavior. It now has these options: continuous, pause, restart, restartPlayToEnd.
- continuous – the sound will start playing as soon as the swf is launched, even if the volume is off
- pause – the sound will pause when the input value falls below the “min” setting in the interface, and begin playing from the same location as when it paused when the value rises above the min setting.
- restart – the sound will stop when the input value falls below the “min” setting in the interface, and start playing from the beginning of the sound when the value rises above the min setting.
- restartPlayToEnd – the sound will start playing when the value rises above the min setting and the sound will play to the end regardless of the input value. Typically, with this setting loopSound should set off, otherwise the sound will play forever. It is also a good idea to set the min just below the max (e.g. min = 0.99, max = 10) so the volume does not change while the sound plays.
- The triggerSound parameter has been eliminated. If you don’t want the sound to be triggered, use the set the soundBehavior parameter to continuous.
- The triggerSoundBehavior parameter has been changed to soundBehavior. It now has these options: continuous, pause, restart, restartPlayToEnd.
- MotionTrack – A widget that tracks motion from a video camera attached to your computer. No documentation page yet
Last modified June 12th, 2010

