Free up to 1MM monthly messages. No credit card required.
Hello world! The kind folks at PubNub were nice enough to let me hijack their blog today. In this tutorial, I’d like to showcase what is possible when we combine PubNub with embedded hardware, in the form of the LaunchPad Development Kits from Texas Instruments.
We are going to use PubNub to stream sensor readings from 4 different sensors (from Seeed Studio) & visualizing those readings on Freeboard.io
Exciting stuff! Within a few minutes, we can easily demonstrate how real-world information can simply become just another variable for web developers & iOS/Android developers to incorporate into their applications. This enables “app-cessories” like a phone-connected tennis racket, or the cloud-enabled crock pot, or maybe (just maybe) we can finally live in a world that has the quintessential “Internet of Things” product — the tweeting fridge!
The brain of this operation is a tiny microcontroller from Texas Instruments. TI offers a broad portfolio of low-cost, easy-to-use microcontroller development kits, called “LaunchPad”. These LaunchPad development kits start at just $9.99 and offer a low-cost & intuitive point of entry for microcontroller development (www.ti.com/launchpad).
These LaunchPad development kits can be programmed using intuitive programming tools, including the easy-to-use Energia IDE (www.energia.nu). Energia is an open source project that is a fork of the popular Wiring framework.
This means a HUGE repository of code examples & libraries will work on these LaunchPad development kits. The same Wiring APIs that you may already be used to will work on these LaunchPad boards (i.e. analogRead(), digitalWrite(), etc). Even the Wiring-based Ethernet & WiFi libraries have been ported over. Energia is open source, cross platform & free.
With the latest version of Energia (v14 & newer), the PubNub library comes pre-packaged with the tool.
So let’s get on with the tutorial!
Once we plug them all together, our hardware is ready to go!
The video below walks through plugging in the hardware:
Download the latest version of Energia @ www.energia.nu/guide
You will want version 14 or newer, since this is when we started to package the PubNub library in Energia. Once installed, go ahead & launch it.
Once launched, we need to configure Energia. First, we need to tell Energia which board we are using. In this tutorial, I am using the TM4C123 LaunchPad. However, the MSP430F5529 LaunchPad can be used as well.
File > Tools > Board > [Select your LaunchPad]
Then, we need to tell Energia which Serial Port we are using:
File > Tools > Serial Port [Select your COM port. Check your computer’s device manager to identify which one.
Now, we can use the example sketch below, which is a modified version of the default “PubNubJsonWifi” example that comes packaged in Energia. A few changes were made to interface with the sensors in our example.
In the example sketch below, we are only publishing data to PubNub. However, the PubNub Energia library also enables the LaunchPad kit to subscribe to specific PubNub channels as well to enable bi-directional communication with the cloud. PubNub also provides several SDKs for different runtimes & environments, which makes it possible for our cloud-connected LaunchPad kits to interface with different environments!
Lastly, this demo is encoding the 4 sensor readings into a JSON message that is published to a single PubNub channel. Alternatively, it is possible for the sketch to publish the individual sensor readings to independent PubNub channels — up to you & your application’s needs!
The video below walks through the software:
In short, the Energia example does a few things:
Now that our LaunchPad is publishing sensor data, let’s visualize it using freeboard.io.
Let’s start to visualize our data! Navigate to freeboard.io & create an account. Freeboard offers PubNub integration as a data source. The video below showcases how to quickly receive data from PubNub. Freeboard offers intuitive JSON parsing, which can break up our incoming sensor data that we can associate to different cloud-side widgets.
That’s a wrap!
Rapid prototyping internet-connected applications are getting easier than ever. The TI LaunchPad development kits, especially when paired with the Grove Starter Kit from Seeed Studio, offer an easy & affordable open source, modular approach to create hardware solutions that can interact to the cloud.
GET STARTED TODAY!
Adrian Fernandez is LaunchPad Product Manager at Texas Instruments.
A Notice of Privacy Practices (NPP) is one of the requirements of HIPAA and helps patients understand their personal data rights.
HIPAA covered entities must follow the five technical safeguards to achieve HIPAA compliance and prevent data corruption.