Cayenne, how to manage a frustration of IoT devices

You're deploying IoT devices like a fiend but what you've got is a management problem akin to herding cats. Here's a promising way to get them under control.

cayenne screenshot stack
Credit: Mark Gibbs

Collective nouns are fascinating. You start with the basics — a flock of seagulls, a herd of buffalo, a school of fish, an army of ants — then you move on to the more interesting ones — a lodge of beaver, a mob of kangaroos, a warren of rabbits, a covey of grouse. 

Now we come to the truly great collective nouns: An unkindness of ravens, a murder of crows, a parliament of owls, an implausibility of gnus, an ambush of tigers, and a descent of woodpeckers. We also have collective nouns for things: A box of crayons, a pad of paper, and so on. There are also the invented collective nouns; a purchase of senators, a deficit of economists, a shortage of dwarves, and for all you GoT fans, a weyr of dragons (okay, so that was made up by Anne McCaffrey but it works even better for GoT). 

Finally, there are nouns for which collectives have yet to be minted. Consider devices connected to the Internet of Things; what to call a collection of those? We could be boring and opt for “a flock of IoT devices”, which, although it actually sounds pretty good, isn’t as applicable as “a frustration,” a far more apropos term because once you start to wrangle more than half-a-dozen devices, you’ll find yourself drowning in detail and data. 

You probably won’t be surprised to find I have a solution for you: A service called Cayenne, published by myDevices. Through a Web-based dashboard, Cayenne allows you to manage as many devices as you want (only Raspberry Pi and Arduino boards are currently supported). 

screen shot 2016 07 10 at 1.48.06 pm

The basic Cayenne dashboard for a Raspberry Pi

To get started, you register for a free Cayenne account then install the Cayenne agent software on your IoT devices. For example, on a Raspberry Pi running Debian (I haven’t tried connecting an Arduino yet), you can either start a terminal session and enter:


sudo bash -v

Or, if you’ve downloaded and installed the Cayenne app (available for iOS and Android), the app will scan your network, find known IoT platforms, launch a terminal session (you’ll need to enter your credentials if you’ve changed the default Debian credentials from “pi” and “raspberry”), perform the installation for you, then reboot (note this installation process can take a while whichever way you do it). Once you’ve got the agent software installed, your device will appear on the online Cayenne dashboard as well as in the app dashboards. 

img 0365

Cayenne iOS dashboard 

The remote installation using the app is silent so other than the the minimal status report in the app and a whirling icon, you have no idea what’s going on - don't assume it's borked until at least ten minutes have passed. The third time I installed the agent via the iOS app the process concluded and the RPi rebooted but at the end of the boot sequence, it froze; I have no idea what happened and while I can’t be certain that it was Cayenne’s fault but it did follow on from the agent installation. Unfortunately I didn’t have time to figure out what the problem was so I just installed NOOBS and started again.

Note: I have always installed Raspbian directly but after this installation got damaged I installed  via NOOBS and I found that when I tested my network connection by running ping, I got the error message “ping: icmp open socket: Operation not permitted”. This is a known bug and the solution is to fire up a terminal session and enter sudo chmod u+s /bin/ping and voila! Ping will be working properly.

So, with the RPi now online you can select how the widgets display their data; the choices are gauge, value, or line chart.The dashboard allows you to remotely access your boards via SSH as well as reboot and shut them down. 

screen shot 2016 07 10 at 1.51.15 pm

Defining a Cayenne trigger

You can define events and triggers in the dashboard: Events (currently only reboot and shutdown are available) are executed at specific times with optional notification while triggers are events or notifications that occur when a device goes offline or comes online, or a measured attribute (for example, storage use or temperature) is above or below a certain value. It would be useful to have more actions types to choose from particularly launching a process or application on the board. 

screen shot 2016 07 10 at 3.31.44 pm

Adding a temperature sensor to a Raspberry Pi via the Cayenne dashboard

Using the Cayenne dashboard you can set up additional devices such as temperature, luminosity, pressure, distance, motion, and generic sensors as well as light, motor, valve, relay, and generic actuators and add analog, digital, and PWM extensions. You can also configure the GPIO interface via the dashboard.

screen shot 2016 07 10 at 1.48.47 pm

Raspberry Pi GPIO configuration via theCayenne dashboard 

The iOS app dashboard, oddly, provides more information than the Web dashboard which includes the network throughput (incorrectly labelled "speed"), the number and, in drill-down, lists the running processes, as well as the CPU temperature (this value is available in the Web dashboard but it’s hidden in the CPU Usage drill-down). You’ll notice in the first screenshot of the app above, the dashboard shows three panels for Processes; this is obviously a bug as they all show the same data and you can't remove the unneeded panels. 

img 0364

Cayenne iOS dashboard lists the tasks running under Raspbian on a Raspberry Pi  

Like the Web dashboard, the iOS app supports triggers but for no good reason puts events under the menu entry “schedule”.

screen shot 2016 07 10 at 3.32.46 pm

Sketch generated to connect Arduino to Cayenne dashboard using a Wi-Fi shield

So, bottom line: Way cool. Cayenne is a big, bold concept.

Pro: Free (at present); lots of “how to” documentation.

Con: A few bugs; inconsistent Web and app presentation; data shown in dashboards for CPU and RAM usage is , user experience needs polishing in some areas; terrible Knowledge Base (searching for “arduino" or “raspberry” produces “No results for …”) [UPDATE: myDevices wrote: "for the Cayenne solution we use ... [for] the Knowledge Base" - note that while this has a lot of information, it isn't searchable].

If you’re looking for an IoT management platform, this is a solid, highly functional contender for making a frustration of IoT devices manageable and gets a Gearhead rating of 4.5 out of 5. 

Comments? Thoughts? Email your collective nouns to me or comment below then follow me on Twitter and Facebook.

Must read: Hidden Cause of Slow Internet and how to fix it
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies