Calvin smart IoT development
If you want to know more about how Ericsson Research envisions the future of the Internet of Things, you'll have a great opportunity at the Mobile World Congress in Barcelona. You will find us in the Ericsson pavilion where we have prepared a demo of Calvin running on real hardware, with real sensors and real actuators communicating with each other and with live web services. We share a table with IoT Networks, which, quite frankly, is a really good match. Let me go through some details!
The setup we bring to the MWC is shown to the right. A simple dashboard with a selection of inputs and a selection of outputs. Pressing an input button triggers the application to use that particular input and send the value of this input to the selected output. At first glance, that might not seem very impressive. However, (there's always a "however" with Calvin, isn't there?) the magic is hidden behind the scenes. It's not hard to read the value of a thermometer, nor is it very hard to display that value as a color on an RGB LED light. But what if we want to sometimes read from a thermometer and sometimes from a weather service on the Internet? And what if we sometimes want the temperature to be displayed as a color, and sometimes we want to know the actual temperature and, say, display it as plain text on an LCD? What if we want to tweet the result for the whole world to see? Or, perhaps you want to control an output remotely by addressing it with a tweet?
This, of course, is where Calvin shines. What happens in the background is the following: When, for example, an input button is pressed, the demo platform (which is actually a collection of 12 interconnected runtimes) is given a new requirement; the requirement that the input should have access to the service or functionality corresponding to that button. That is then matched against the available capabilities of the runtimes, and the input part of the application (the input actor) is moved to a runtime with this particular capability. This is an important step. With the Calvin demo, we have not cut any corners, nor have we cheated in any way. The platform handles dynamic reconfiguration automatically, and resolves the desired location of the actors in real time. You do not have to take our word for this – we will happily show you the Calvin application that controls the dashboard. If there is not enough time at the MWC, make sure you take a look at the next release of Calvin, which is planned for the week after. There, we will disclose all the details necessary to duplicate the software in our demo.
So, when you see the actual demo in action, keep in mind that although it may seem like a complicated way to blink an LED in different colors, there is no smoke and no mirrors
- It's Calvin all the way down.