7 ways to make your IoT-connected Raspberry Pi smarter

The latest IoT tools and services for creating and managing Raspberry Pi devices are amazing!

iot connected raspberry pi intro
Raspberry Pi becomes more powerful

With the explosion of interest in building Internet of Things (IoT) devices based on boards like the Raspberry Pi comes an explosion of tools that make creating RPi-based IoT systems not only easier, but also more powerful. I’ve hand-picked some of the latest, greatest and coolest tools that will make your Raspberry Pi IoT project killer. (And if you’re contemplating your operating systems choices, make sure you check out my Ultimate Guide to Raspberry Pi Operating Systems, Part 1, Part 2, and Part 3 -- 58 choices in total!)

If you know of an IoT tool I’ve missed, a detail that’s wrong, or you’ve had some experience (good or bad) with any of these tools or services, please drop me a note at feedback@gibbs.com. Want to know immediately when the next installment of RPi goodness is published? Sign up and you’ll be the first to know.

iot connected raspberry pi 1
Credit: nodered.org
Node-RED - Wiring for the IoT

Node-RED is a free, open source “tool for wiring together hardware devices, APIs and online services in new and interesting ways,” which is kind of an understatement and leaves out that the software is amazing and way cool. Developed by IBM Emerging Technologies, Node-RED is in its early days but its promise is huge, particularly as its pre-installed in the November 2015 Raspbian (Debian) “Jessie” image and also runs on every major operating system as well. I recently reviewed Node-RED and since then I’ve experimented using it for everything from tracking environmental data to analyzing twitter feeds. You’ve got to try this on your RPi.

iot connected raspberry pi 2
Credit: Counting Cars and Analyzing Traffic with a Raspberry Pi, a Webcam and ThingSpeakthingspeak.com
ThingSpeak - Online IoT data storage for free!

ThingSpeak is a free web service that lets you collect and store sensor data in the cloud and develop Internet of Things applications. The ThingSpeak web service provides apps that let you analyze and visualize your data in MATLAB, and then act on the data. Sensor data can be sent to ThingSpeak from Arduino, Raspberry Pi, BeagleBone Black, and other hardware” (ThingSpeak). ThingSpeak can also Tweet your data, capture and respond to Tweets, perform actions on a schedule, react to defined data conditions, queue commands for IoT devices, and respond and generate to HTTP requests.

iot connected raspberry pi 3
Credit: SiteWhere
SiteWhere - a total IoT management solution

SiteWhere is a free, open source IoT management platform that provides services to ingest, store, process, and integrate device data along with multi-tenancy support, Big Data database services, asset management, and third party service integration. This is a Trump-scale platform (it’s yuuuuggge) and has the potential to power everything from small IoT constellations to megascale enterprise IoT solutions.

iot connected raspberry pi 4
Credit: OpenRemote and Google Play
OpenRemote - the IoT meets home automation

“OpenRemote is an open source project, started back in 2009, with the ambition to overcome the challenges of integration between many different protocols and solutions available for home automation, and offer visualization tools. The challenge has only become bigger and expanded beyond home automation into several other application domains, ranging from building integration, to healthcare, hospitality, entertainment, and public spaces” (OpenRemote). You can install an OpenRemote Controller on a Raspberry Pi to control devices using protocols including AMX, Beckhoff, Z-Wave, Domintell, EnOcean, Philips Hue, Insteon, PanStamp, KNX, Levitron HAI, 1-Wire, Modbus, and even good old X-10. UPnP support is in development. OpenRemote is free for private use, educational purpose, and trials and licenses for commercial use are available.

iot connected raspberry pi 5
Credit: mqtt.org and Bryan Boyd, IBM MessageSight Solutions
MQTT - lightweight, high-performance messaging for the IoT

MQTT is “an ISO standard (ISO/IEC PRF 20922) publish-subscribe based ‘light weight’ messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message” (Wikipedia). MQTT is a great tool for implementing a message service in RPi environments and it’s also available as a node in Node-RED which means it’s built into Raspbian “Jessie”!

iot connected raspberry pi 6
Credit: Ponte
Ponte - a high-performance portal bridge for IoT devices

One of the challenges of IoT is its incredible diversity, so, no matter how wedded to your Raspberry Pi you might be, interconnecting it with other services and devices that don’t speak whatever protocols you have on hand could be a real problem. Solving the interconnection problem is what Ponte was designed for. As you can see from the diagram, Ponte incorporates an MQTT server along with Constrained Application Protocol (CoAP) and HTTP servers on top of the MongoDB, Redis and LevelDB storage engines. Ponte is a work in progress and, in a future release, Ponte will be able to convert between multiple data formats including JSON, MsgPack, Byson, BSON and XML, along with extended security and privacy features.

iot connected raspberry pi 7
Credit: Cayenne and myDevices
Cayenne - a drag and drop IoT project builder

myDevice’s take on managing IoT devices is outstanding. It involves installing a device-side agent that connects with Cayenne’s servers which, in turn, collect, analyze and present the stats and status of the device. Cayenne also includes triggers and alerts for events (e.g. temperature sensor reading above 90F) and corresponding actions (turn on the air conditioning) as well as scheduling of triggers and actions, remote GPIO setup and control, and remote access. When you have a collection of even just a few IoT devices, Cayenne makes keeping track of what’s going on with which board very easy. Cayenne accounts are currently free and enterprise service pricing is by application.