This tutorial was originally published on rexstjohn.com. Rex St John is a mobile software engineer living in Seattle’s Capitol Hill neighborhood who has worked on a wide variety of enterprise and consumer mobile applications including touch walls, games, mobile sales tools and more.
What follows is a tutorial outlining how to get up and running with PubNub on a Raspberry Pi running Raspbian. I have created this tutorial to walk through the process of getting up and running with PubNub for the purpose of connected device / embedded device demonstrations at the upcoming Wearable Computing AT&T Hackathon.
Step 1: Have a Raspberry Pi configured and running Raspbian
This should be relatively straightforward, your OS does not honestly have to be Raspbian but that is what I am using to go through this process. More than likely any common Linux distribution will be fine.
In my case I ordered a basic Raspberry Pi development kit which comes complete with an HDMI cable, an SD card, a mini-usb power supply and a plastic shell to keep you from shorting out the motherboard.
You will need to have a PubNub account…logged in and activated as a developer (free!).
Also make sure you have (obviously) some type of internet connection whether it be a WiFi Nub or ethernet cable. Assuming your Pi is plugged in, turned on and connected to the internet…proceed from there.
Create and navigate to a folder on your Desktop or other such desired location in the terminal. Much of this information can already be found on the GitHub page for the Raspberry Pi C client for PubNub here: https://github.com/pubnub/c.
On your standard command line run:
You will also need to run the following commands to install the libraries necessary to “make” or build the PubNub C libary
Next, browse to your “C” folder which you just cloned from GitHub where the PubNub C libraries now should reside
Step 3: Test Your Pub / Sub Connection
Time to try a publish / subscribe communication between your Pi and PubNub.
Open example-sync-demo.c with your favorite editor
Now change the following lines to match your PubNub pub / sub credentials. These credentials should be on your PubNub API dashboard:
Next, customize your message which you are publishing to something you will recognize (line 27):
Next, you will need to build a “.o” file by running “make” while in the examples directory. The result should be example-sync-demo.o.
Run this file in the terminal with: ./example-sync-demo
You should see the following: