Sample program for using Pubnub on AT&T IoT Starter Kit (which has the WNC modem)

Dependencies:   Pubnub_mbed2_sync WNCInterface mbed-rtos mbed

Fork of WNCInterface_M2XMQTTdemo by Avnet

Committer:
sveljko
Date:
Thu Nov 10 22:44:09 2016 +0000
Revision:
8:57a5d7fbba6d
Parent:
6:853f6aac9a9d
Child:
10:f05fb235b75b
Sample program for using Pubnub on AT&T IoT Stater Kit (with the WNC modem)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 0:b476b3f6cb65 1 #include "mbed.h"
JMF 0:b476b3f6cb65 2 #include "WNCInterface.h"
JMF 0:b476b3f6cb65 3
sveljko 8:57a5d7fbba6d 4 #include "pubnub_sync.h"
JMF 0:b476b3f6cb65 5
sveljko 8:57a5d7fbba6d 6 #define CRLF "\r\n"
JMF 0:b476b3f6cb65 7
JMF 0:b476b3f6cb65 8 WNCInterface eth;
JMF 1:ceb54785e67c 9 MODSERIAL pc(USBTX,USBRX,256,256);
JMF 0:b476b3f6cb65 10
sveljko 8:57a5d7fbba6d 11 extern "C" int myprintf(char *, ...) { return 0; }
JMF 1:ceb54785e67c 12
sveljko 8:57a5d7fbba6d 13 int main()
sveljko 8:57a5d7fbba6d 14 {
sveljko 8:57a5d7fbba6d 15 pc.baud(115200);
sveljko 8:57a5d7fbba6d 16 pc.printf(CRLF CRLF "Pubnub Test starting..." CRLF);
sveljko 8:57a5d7fbba6d 17
sveljko 8:57a5d7fbba6d 18 pc.printf("init() returned 0x%04X" CRLF, eth.init(NULL,&pc));
sveljko 8:57a5d7fbba6d 19 eth.connect();
sveljko 8:57a5d7fbba6d 20 pc.printf("IP Address: %s" CRLF, eth.getIPAddress());
sveljko 8:57a5d7fbba6d 21 eth.doDebug(1);
JMF 0:b476b3f6cb65 22
sveljko 8:57a5d7fbba6d 23 pubnub_t *pbp = pubnub_alloc();
sveljko 8:57a5d7fbba6d 24 pubnub_init(pbp, "demo", "demo");
sveljko 8:57a5d7fbba6d 25
sveljko 8:57a5d7fbba6d 26 while (true) {
sveljko 8:57a5d7fbba6d 27 pubnub_res rslt = pubnub_publish(pbp, "hello_world", "\"Hello world from MBed WNC!\"");
sveljko 8:57a5d7fbba6d 28 if (rslt != PNR_STARTED) {
sveljko 8:57a5d7fbba6d 29 pc.printf("Failed to start publishing, rslt=%d"CRLF, rslt);
sveljko 8:57a5d7fbba6d 30 }
sveljko 8:57a5d7fbba6d 31 else {
sveljko 8:57a5d7fbba6d 32 rslt = pubnub_await(pbp);
sveljko 8:57a5d7fbba6d 33 if (rslt != PNR_OK) {
sveljko 8:57a5d7fbba6d 34 pc.printf("Failed to finished publishing, rslt=%d"CRLF, rslt);
sveljko 8:57a5d7fbba6d 35 }
sveljko 8:57a5d7fbba6d 36 else {
sveljko 8:57a5d7fbba6d 37 pc.printf("Published! Response from Pubnub: %s"CRLF, pubnub_last_publish_result(pbp));
sveljko 8:57a5d7fbba6d 38 }
sveljko 8:57a5d7fbba6d 39 }
sveljko 8:57a5d7fbba6d 40
sveljko 8:57a5d7fbba6d 41 rslt = pubnub_subscribe(pbp, "hello_world", 0);
sveljko 8:57a5d7fbba6d 42 if (rslt != PNR_STARTED) {
sveljko 8:57a5d7fbba6d 43 pc.printf("Failed to start subscribing, rslt=%d"CRLF, rslt);
sveljko 8:57a5d7fbba6d 44 }
sveljko 8:57a5d7fbba6d 45 else {
sveljko 8:57a5d7fbba6d 46 rslt = pubnub_await(pbp);
sveljko 8:57a5d7fbba6d 47 if (rslt != PNR_OK) {
sveljko 8:57a5d7fbba6d 48 pc.printf("Failed to finished subscribing, rslt=%d"CRLF, rslt);
sveljko 8:57a5d7fbba6d 49 }
sveljko 8:57a5d7fbba6d 50 else {
sveljko 8:57a5d7fbba6d 51 pc.printf("Subscribed! Received messages follow: %s"CRLF);
sveljko 8:57a5d7fbba6d 52 while (char const *msg = pubnub_get(pbp)) {
sveljko 8:57a5d7fbba6d 53 pc.printf("subscribe got: %s"CRLF, msg);
sveljko 8:57a5d7fbba6d 54 }
sveljko 8:57a5d7fbba6d 55 }
sveljko 8:57a5d7fbba6d 56 }
sveljko 8:57a5d7fbba6d 57 wait_ms(1000);
sveljko 8:57a5d7fbba6d 58 }
JMF 0:b476b3f6cb65 59 }
JMF 0:b476b3f6cb65 60