Spice up your Pi for IoT development
Developers seeking to enter the IoT market quickly discover that creating a nifty device is not enough. No matter how clever, the device is only one part of a larger system that includes such things as gateways, servers, analytics, web services, and even mobile apps. Developers without the resources to provide all these elements must find them elsewhere, which can make for integration challenges. Something new has entered the market, though, which will solve those challenges for you, especially if your device design is based on the Raspberry Pi.
Platforms that IoT developers can leverage to support their device designs are not new. Companies like ThingWorx, Google, and Apple along with consortia like the Allseen Alliance are offering platforms that they hope will attract users and build an ecosystem of interoperable devices around their platform as a common standard. But nearly all of the platforms available require the IoT device be custom designed and programmed to operate with that platform.
A company called myDevices offers an alternative. Its platform, released in October, is device-agnostic, supporting a wide variety of wireless technologies as well as standard data communications protocols such as CoAP, MQTT, and the REST API. The platform will adapt to the device rather than forcing the device to conform to it. It will also let devices using the platform talk with one another, serving as a translator.
Whatever platform a developer chooses, however, there remains a lot of work to in order to create a device that can utilize the platform. That includes building and configuring the device, deciphering and coding for APIs to interact with the platform, and the like. Until now, that is.
myDevices has just released Cayenne, a tool for developers and makers to rapidly configure a complete IoT system, including mobile apps, rules engines, and analytics, starting with a widely-available development board – the Raspberry Pi. And you don't even need to work at configuring the Pi. Cayenne is designed to automatically discover any Pi connected to the same network as the host computer, then download its agents into the Pi. When the Pi reboots, it is ready to serve as the basis of an IoT device.
Cayenne provides developers with a host of capabilities for turning that Pi into a fully functioning IoT system node. Cayenne will automatically detect any sensors connected to the Pi and make their data available on a drag-and-drop configurable data display dashboard in a choice of numeric and graphical formats. Another dashboard gives developers full access to the Pi's GPIO resources for rapid configuration and sensing. Triggers allow events on one device invoke action on another device, or send messages via SMS or email. The tool also automatically configures a mobile or web-based app to replicate the dashboard.
A mobile app with configurable widgets is automatically available when using Cayenne.
In essence, with Cayenne serving as the front-end to their platform, myDevices has turned prototyping of a complete IoT system design using the Raspberry Pi from a lengthy process to a matter of minutes. (the company claims to get a Pi up and online in under seven minutes.) Best of all, developers can get started for free.
For makers creating unique devices or professional developers developing a proof of concept, the approach can be a godsend with how much time, and error-prone effort it can save. For professional developers using a different hardware approach, however, Cayenne may seem the wrong flavor. But that may be a short-lived situation.
Kevin Bromber, CEO of myDevices, told me in an interview last week that the Raspberry Pi is only the beginning. He expects to be licensing his technology to hardware manufacturers to integrate with their devices, so that boards like BeagleBone, Launchpad, and other professional development platforms will also be able to use Cayenne and its associated platform. myDevices is currently working with LoRa manufacturers, for instance, to bring in their MCU boards, Bromber said. He also indicated that an API is scheduled for release soon that will allow developers to bring in their custom boards.
With a platform and front end like myDevices and Cayenne, starting development for the IoT is going to become incredibly easy, promoting an explosion of innovative ideas. Survival of those ideas in the market, of course, still requires a good business model, production-ready design, and a host of other business necessities. But those are well known challenges. What Cheyenne does is to spice up the initial development phase, where an idea first becomes realized.