Syntro 0.5.0 Cross-platform C++ Framework for Distributed Sensor Networks
Pansenti has announced the first release of Syntro (version 0.5.0), a cross-platform framework for creating distributed sensor networks. Syntro is an open source C++ library and a set of applications based on Qt 4.7. The source code is released under the GPL license.
Syntro has been developed on the following platforms:
- Linux Fedora 16
- Ubuntu >= 10.10
- Mac OS 10.7
- Windows 7
Syntro can run on x86 targets as well as ARM based Pandabord, Beagleboard and Beaglebone development boards (Ubuntu only).
Syntro is based on the following “SyntroCore” applications:
- SyntroExec – Start up and management of Syntro apps.
- SyntroControl – Message switching and multicast distribution.
- SyntroStore – Multicast stream capture.
- SyntroCFS – Cloud file storage.
- SyntroReplay – Multicast stream generation.
- SyntroLog – Network-wide logging.
Some demo applications using one or more webcams and the OpenCV library are also available:
- SyntroCamera – Capture a stream from a video device (such as a webcam) and use that data to publish a Syntro multicast stream
- SyntroReview – App that can play back a previously captured video stream
- SyntroVideoFilter – Demonstrates how OpenCV can be used with Syntro to implement a pipeline video filter
- SyntroView – App that is able to display many simultaneous live video streams in a “security monitor” style display
Even though, all demos are based on Webcam, other type of networked “sensors” can be used and monitored, for example controlling and monitoring Beaglebone LEDs.
Instructions for building and running Syntro are available on Syntro Documentation page, where you’ll also find a Quick Start Guide, which should be very useful since this framework appears to be relatively complicated to setup and you’ll need to learn a whole new glossary. Details about the framework and its APIs are also provided on the documentation page.
For now, nodes used in this sensor network are PCs or relatively powerful ARM development boards, but this type of framework seems well-suited to the internet of things and gather data from ultra-lower power 802.15.4 sensors possibly via a Zigbee to Ethernet gateway.
A step in the right direction is the plan to release Syntrino, Syntro on Arduino, the widely known MCU based development board used by hobbyists. Two demo applications will be available for the Arduino:
- SyntrinoCameraDemo – Demo app that allows an Arduino to be a data producer by generating video frames from a serial camera.
- SyntrinoRobotDemo – Demo app that allows an Arduino to control a robot that uses standard RC servo controls for throttle and steering.
Those apps will use SyntrinoLib which has not been released with Syntro 0.5.0 (AFAICS), but will probably be available for the next release.
To learn more about the framework, visit Pansenti website.