Dodedodo is an internet of things infrastructure. More than other software packages it provides machine learning and artificial intelligence algorithms for everyone to use in their applications. But, why the internet of things? We would like answer that question with a few questions of our own:
The need of new technology might not always be visible beforehand, however, actively withholding yourself from technology might have undesired side-effects. We want to give you the power of this type of pervasive technology. You want to be able to use those services, and you want to decide where your data goes, and how to process it. We would like to take you on a journey with us, to enable you to do so.
The Dodedodo infrastructure is different from most machine-to-machine framework. As also explained on our roadmap, we believe that devices in the internet of things will have the same high bandwidth requirements as humans. The "normal" internet allows for offloading intelligence to humans. However, if devices start to talk to each other, this will become different. To be useful these devices need to be smart, they cannot afford to remain ignorant. This means that the requirements will quickly go beyond very low-bandwidth solutions and it is much wiser to use existing infrastructure for video and audio also between machines. Note, that this does not preclude using low-energy low-bandwith devices in the periphery (we have expertise with ZigBee, Bluetooth LE, and Myrianed (ultra-low-energy) networks).
So, why the Dodedodo infrastructure?
There are many interpretations of a framework like this. Perhaps some short phrases will be clarifying this new platform:
The Dodedodo infrastructure exists out of a rich toolset. It is not created as a stand-alone library or a single API and it must much more be seen as an ecosystem. It takes its inspiration from robotic platforms such as YARP (Yet Another Robot Platform) and ROS (Robot Operating System), from online application repositories such as Google play and Launchpad.
The Dodedodo infrastructure consists of:
A visualization of the Dodedodo architecture:
The code can be found at AIM on GitHub.
The visual interface at www.dodedodo.com is not required to be used. However, it is a very attractive way to quickly setup an entire infrastructure of modules across a lot of devices. As a tongue-in-cheek example, you can see this Christmas tree that sends out a message in Morse code, which is picked up by an Android smartphone.
Imagine how much work that would be without an infrastructure like Dodedodo. Things like NAT traversal to cross a firewall, starting the modules in the right sequence, cross-compiling code for the Raspberry PI and the Android phone. Using the Dodedodo infrastructure you can concentrate just on building the algorithms themselves.
The infrastructure used by Dodedodo is not reinvented. Dodedodo uses XMPP, a well established protocol that has plenty of extensions for specific purposes. This means that you can manage your applications by sending chat messages! The other neat property of using well established solutions such as XMPP is that security is baked in from the start.
The cross-platform support is delivered by the rur-builder application (see AIM on GitHub). Currently rur-builder provides functionality for different middlewares. Supported are:
Managing of modules can be done with the so-called aim tools. This is a suite of tools in the same spirit as for example roscreate-pkg in ROS. For more information type in aim help.
You would like to know more? Check out the company providing all this open-source software Distributed Organisms B.V., a spinoff of the Dutch research institute Almende. The github repository of DoBots is called dobots. You can also checkout the repositories of individual authors Bart van Vliet, Dominik Egger and Anne van Rossum.
Our software is offered as open-source software under LGPLv3 or Apache license. Distributed Organisms B.V. (or DoBots) is an Almende spin-off. This group uses this software in all kind of commercial products, which allows us to provide it for free to the community at large.