OneM2M Platform Implementation

I just finished integrating a demonstrator system that implements the OneM2M standards for connected devices, using the oneMPOWER platform. It’s a very complex, enterprise-level protocol and suite of specifications, and is designed for seriously large systems.

In my personal engineering approach, I tend toward reducing problem sets toward simplicity, much along the lines of Chuck Moore’s philosophical underpinnings of the Forth language. (I’ll dig into more of that in another post…) But there are certain use cases out there for complexity, too.

You can read about this here, but beware! It’s not for the faint of heart:


Warding Off Winter With TI CC2650, Beaglebone Black, and a Nest Thermostat

Winter is coming, and the Northeastern United States where I live can get cold! And the houses are often old and drafty. So I built a wireless sensor system tied to a Nest thermostat to keep me cozy, wherever I am in the house, instead of keeping my thermostat cozy, bolted to its wall.

I did this with Texas Instruments’ Sensortags, a Beaglebone Black, DeviceHive for device registration and management, and a Nest thermostat.

This one was coded up using Python to speak Bluetooth LE to the Sensortags, and JavaScript on Node.js to do the device registration and telemetry messaging.

Yeah, they call it Bluetooth Smart now, but I don’t like that name! LE for me. 😉

DeviceHive managed the device registration for Sensortags, to make it easy to add new tags and wrangle them, and the data service exchange piped the messaging to scriptr for some transform logic in a convenient cloud service. did visualization and Nest control, and Circonus handled data logging and analytics.

Read the articles here:

…and here:

And the code is on GitHub!

This is the video I made to go along with the rest:


Delicious Coffee with a Kinoma Create and PubNub

Update: I have a forthcoming three-part series of articles on Texas Instruments’ e2e blog that dives into some of the hardware engineering behind this, too. I’ll link them here when it’s finally published!

Updated Update, here are the links:
Part 1
Part 2

I’m a coffee snob. I admit it. I’m proud of it. Although, upon reflection I really think it boils down to appreciating deliciousness. And who wouldn’t?


Anyhow, I was able to weave my love of coffee together with another Internet of Things demonstration project, this time coding JavaScript and XML on a Kinoma Create, and building a Pyrex-cased temperature probe with a Texas Instruments LM-35 military-grade analog temperature sensor. The Kinoma reads the temperature sensor, and asynchronously publishes telemetry messages to PubNub. From there, the data service exchange subscribed to the messages and routed them to a number of data services I used for analytics and alerting, including,, and Circonus. As with all these prototypes, it was up and running very fast, and I could iterate rapidly as new insights formed. Powerful stuff, that can really hit your bottom line and time-to-market in good ways.

I discovered my drip coffee maker sucks at temperature regulation, and my pourover and French press technique has improved quite a bit. So has the coffee!

You can read the full article I wrote here. And the code is on GitHub, as well.

This setup was at World Maker Faire 2015 in New York City, at the Kinoma booth. Cool to have some of my creations featured there =)


Motorcycle Crash Alert with Mediatek LinkIt One

Another recent demo I created used the Mediatek LinkIt One, which is an awesome little Arduino-compatible dev board that integrates a ton of useful hardware like GPS, GSM, WiFi, etc. With a tiny bit of code and some cloud data services connected via a flexible message bus, I had a prototype system up and running fast. It’s very simple in the first iteration, parsing NMEA sentences from the GPS unit, extracting data, and sending it off to logic and alerting powered by the data services. I’m still working on refining this, as it’s an itch I want to scratch for my own use.

Here’s the writeup:

I made a video to go with the article, as well: