When you prototype IoT solutions, it becomes necessary very early in your development phase to use an actual embedded platform to run your software, and to test it in an environment that is as close as possible of what you expect your production environment to be.
As I’m sure you know, there are lots of hardware prototyping platforms out there. In this article you will learn about three very popular options (from the cheapest/tiniest to the most capable) that can help you get started with Eclipse IoT projects in no time, and get pointers to useful docs and tutorials to make the initial setup as simple as possible!
With only 2KB of RAM and 32KB of Flash, the Arduino UNO really is what you would call a constrained device! And yet, the ATmega328P micro-controller powering the Arduino UNO is able to run a full-blown MQTT client, in the form of the Eclipse Paho embedded C Client.
There is a vast ecosystem of micro-controllers compatible with the mbed environment. mbed devices are based on the Cortex-M architecture, and typically have more RAM and Flash than an Arduino UNO. For example, the NXP LPC1768 has 32K of RAM and 512KB of Flash.
Of course, it’s also possible to run a Paho MQTT client, and you can easily get started using the HelloMQTT code sample available from the online compiler.
Ah! The famous credit-card sized computer which more that 3 million units have been sold! With its 900MHz quad-core CPU and 1GB of RAM, the Raspberry Pi 2 is the kind of horse that could power a real-life IoT gateway, bridging sensors and actuators to a backend server.
Eclipse Kura is an open-source framework for building smart IoT gateways that can host and manage Java applications. It is very easy to get started with Kura on a Raspberry Pi as the project team provides a Debian package that can be installed by typing literally just two command lines!
If you’re interested in getting your hands dirty with home automation, Eclipse SmartHome is another project you may want to look at. The integrated distribution of SmartHome, OpenHAB, has a wiki page with all the important things you need to know to optimize the performance of your system.
… and many more!
Of course these are just 3 platforms among many, and as many of our projects are backed by companies whose business is indeed to make sure that the software – be it a protocol stack or a full-blown application framework – can run on heterogeneous hardware platforms, you can usually easily port them to your own platform. Actually, if you have experience with Eclipse IoT projects on other platforms, I’d love to hear from you!