Test C027 with Xively and Ethernet

Dependencies:   C027 EthernetInterface libxively mbed-rtos mbed HTTPClient

Fork of C027_Xively_Ethernet by Chau Vo

Revision:
8:6ba9cdff119f
Parent:
7:b2eb8b943b63
--- a/main.cpp	Mon Apr 28 20:17:23 2014 +0000
+++ b/main.cpp	Sat May 03 13:36:17 2014 +0000
@@ -67,21 +67,18 @@
     
     char url[64];
     char json[256];
-    char request[512], response[64];
+    char request[256], response[128];
     
     // prepare url
     sprintf(url, "https://api.xively.com/v2/feeds/%d.json", XI_FEED_ID);
     
     // prepare json string
-    sprintf(json,"{\r\n\"location\": {\r\n\"disposition\": \"mobile\",\r\n\"name\": \"Monuriki Island\",\r\n\"exposure\": \"outdoor\",\r\n\"domain\": \"physical\",\r\n\"ele\": \"370000\",\r\n\"lat\": 17.609991828964787,\r\n\"lon\": 177.03402996826173\r\n}\r\n}\r\n");
+    sprintf(json,"{\r\n\"location\": {\r\n\"disposition\": \"mobile\",\r\n\"name\": \"Monuriki Island\",\r\n\"exposure\": \"outdoor\",\r\n\"domain\": \"physical\",\r\n\"ele\": \"370000\",\r\n\"lat\": 17.609991828964787,\r\n\"lon\": 178.03402996826273\r\n}\r\n}\r\n");
     DBG("%s", json);
     int length = 0;
     while (json[length] != 0) length++;
     DBG("json length = %d", length);
     
-    // request header, currently set in HTTPClient
-    //http.setRequestHeader("X-ApiKey", XI_API_KEY);
-    
     // prepare request to PUT
     sprintf(request,"%s", json);
     length = 0;
@@ -90,16 +87,19 @@
 
     // Loop for sending data to Xively
     long unsigned int c = 0; // counter value
-    while(1) {     
+    while(1) {
       xi_set_value_i32(counter, ++c);
         
       DBG("Updating Xively feed %d: %d", XI_FEED_ID, c);
       xi_feed_update(xi_context, &feed);
       
       // location
-      HTTPText requestText(request);
-      HTTPText responseText(response,64);
-      http.post(url,requestText,&responseText);
+      sprintf(response, "X-ApiKey: %s", XI_API_KEY);
+      HTTPTextXively requestText(request);
+      HTTPTextXively responseText(response,128);
+      
+      // prepare specific headers to PUT, put in pDataIn
+      int ret = http.put(url,requestText,&responseText);
       wait(10);
     }
 }