Pubnub demo for AT&T IoT Starter Kit. Functionally similar to the Flow demo.

Dependencies:   FXOS8700CQ MODSERIAL mbed

http://pubnub.github.io/slides/workshop/pictures/broadcast.png

Pubnub demo for AT&T IoT Starter Kit

This demo is functionally similar to the Flow demo, so you can find general information here: https://developer.mbed.org/users/JMF/code/Avnet_ATT_Cellular_IOT/.

The only difference is that we use Pubnub to publish the measurements and subscribe to receiving the instructions to set the LED.

Settings

Pubnub related settings are:

Pubnub settings in `config_me.h`

PUBNUB_SUBSCRIBE_KEY
PUBNUB_PUBLISH_KEY
PUBNUB_CHANNEL

All are documented in their respective comments.

Pubnub context class

Similar to Pubnub SDKs, we provide a Pubnub context class. It is defined in pubnub.h header file and implemented in pubnub.cpp.

It provides only the fundamental "publish" and "subscribe" methods. They are documented in the header file.

This class is reusable in other code (it is not specific to this demo), it has a very narrow interface to the AT&T IoT cellular modem code. For example of use, you can look at the main() (in main.c).

Sample of published data

Published message w/measurement data

{"serial":"vstarterkit001","temp":89.61,"humidity":35,"accelX":0.97,"accelY":0.013,"accelZ":-0.038}

Don't worry, nobody got burnt, the temperature is in degrees Fahrenheit. :)

Publish a message (from, say, the Pubnub console http://pubnub.com/console) of the form {"LED":<name-of-the-color>} on the channel that this demo listens to (default is hello_world) to turn the LED to that color on the Starter Kit:

Turn LED to red

{"LED":"Red"}

Turn LED to green

{"LED":"Green"}

Turn LED to blue

{"LED":"Blue"}

Revisions of config_me.h

Revision Date Message Actions
81:a5df87708b9a 2016-09-02 First version that works, forked from official AT&T IoT starter kit repository. File  Diff  Annotate
69:5a3414cc7531 2016-08-11 Added code for Xadow GPS. Not done sending to Flow Designer yet. File  Diff  Annotate
68:6e311c747045 2016-08-11 Added Avnet copyright headers on all source files. File  Diff  Annotate
58:c417fbc39c22 2016-07-29 Made TEMP_HUMIDITY_ACCELEROMETER the sensor selection default, as the FLOW project now tests for those File  Diff  Annotate
55:3abf9e3f42e6 2016-07-28 Added virtual sensors. This uses the USB Rx unless you un-comment USE_VIRTUAL_SENSORS. Also reverted to mbed 119 because of problems. File  Diff  Annotate
51:d9e5952545da 2016-07-24 Changed back to ATT server (from last commit, was google). File  Diff  Annotate
50:8ac42961458c 2016-07-24 Made sockread char buffer larger to handle more data coming back from a server. For now, 10*1500 bytes. File  Diff  Annotate
23:d6ceeb6d85ed 2016-07-13 Added text to config_me. Also moved the sensor update definition there. File  Diff  Annotate
21:d0038d14ee7c 2016-07-13 Cleaned up config_me.h a little and added some comments for the user variables. More comments need to be added. Cleaned up some of my unused debug code at the bottom of main(). File  Diff  Annotate
15:61df4a452d38 2016-07-13 Added JSON parsing and displaying the LED color File  Diff  Annotate
13:df9c49662797 2016-07-12 TEMP_HUMIDITY only is the default File  Diff  Annotate
12:7c94ec5069dc 2016-07-12 Fixed GET string format and added 3 options for the sensors to be read. File  Diff  Annotate
11:e6602513730f 2016-07-12 Fixed I2C issues. ; a) Removed stop between HTS221 address and read; b) The latest MBED uses the slave address differently from the legacy. Stick with the old for now and fixed the HTS221 address to BF instead of 5F.; c) Made I2C definitions externs. File  Diff  Annotate
4:f83bedd9cab4 2016-07-11 Added a sensors file that will write the FRDM-K64F motion sensor and the values from the SiLabs PMOD into a structure. File  Diff  Annotate
2:0e2ef866af95 2016-07-10 Adding in WNC code from Fred File  Diff  Annotate