ARM mbed M2X API Client: The ARM mbed client library is used to send/receive data to/from AT&T's M2X service from mbed LPC1768 microcontrollers.

Dependents:   m2x-demo-all M2X_MTS_ACCEL_DEMO M2X_MTS_Accel M2X_K64F_ACCEL ... more

Revision:
13:0d574742208f
Parent:
10:4ce9eba38dbe
Child:
14:205076b587fe
diff -r debf4b2f7960 -r 0d574742208f M2XStreamClient_template.h
--- a/M2XStreamClient_template.h	Fri Sep 26 09:35:10 2014 +0000
+++ b/M2XStreamClient_template.h	Tue Dec 09 14:36:16 2014 +0000
@@ -6,10 +6,10 @@
 int print_encoded_string(Print* print, const char* str);
 
 template <class T>
-int M2XStreamClient::put(const char* feedId, const char* streamName, T value) {
+int M2XStreamClient::updateStreamValue(const char* deviceId, const char* streamName, T value) {
   if (_client->connect(_host, _port)) {
     DBGLN("%s", "Connected to M2X server!");
-    writePutHeader(feedId, streamName,
+    writePutHeader(deviceId, streamName,
                    //  for {"value": and }
                    _null_print.print(value) + 10);
     _client->print("{\"value\":");
@@ -34,7 +34,7 @@
     bytes += print->print(names[i]);
     bytes += print->print("\":[");
     for (int j = 0; j < counts[i]; j++) {
-      bytes += print->print("{\"at\": \"");
+      bytes += print->print("{\"timestamp\": \"");
       bytes += print->print(ats[value_index]);
       bytes += print->print("\", \"value\": \"");
       bytes += print->print(values[value_index]);
@@ -50,16 +50,16 @@
 }
 
 template <class T>
-int M2XStreamClient::postMultiple(const char* feedId, int streamNum,
-                                  const char* names[], const int counts[],
-                                  const char* ats[], T values[]) {
+int M2XStreamClient::postDeviceUpdates(const char* deviceId, int streamNum,
+                                       const char* names[], const int counts[],
+                                       const char* ats[], T values[]) {
   if (_client->connect(_host, _port)) {
     DBGLN("%s", "Connected to M2X server!");
     int length = write_multiple_values(&_null_print, streamNum, names,
                                        counts, ats, values);
-    _client->print("POST /v1/feeds/");
-    print_encoded_string(_client, feedId);
-    _client->println(" HTTP/1.0");
+    _client->print("POST /v2/devices/");
+    print_encoded_string(_client, deviceId);
+    _client->println("/updates HTTP/1.0");
     writeHttpHeader(length);
     write_multiple_values(_client, streamNum, names, counts, ats, values);
   } else {
@@ -103,7 +103,7 @@
 }
 
 template <class T>
-int M2XStreamClient::updateLocation(const char* feedId,
+int M2XStreamClient::updateLocation(const char* deviceId,
                                     const char* name,
                                     T latitude,
                                     T longitude,
@@ -113,8 +113,8 @@
 
     int length = write_location_data(&_null_print, name, latitude, longitude,
                                      elevation);
-    _client->print("PUT /v1/feeds/");
-    print_encoded_string(_client, feedId);
+    _client->print("PUT /v2/devices/");
+    print_encoded_string(_client, deviceId);
     _client->println("/location HTTP/1.0");
 
     writeHttpHeader(length);