![](/media/cache/group/m2x.jpg.50x50_q85.jpg)
m2x-demo-all will read the temperature from the Application Board, then SEND the value to the specified M2X feed/stream, RETRIEVE the value back, UPDATE the location of the feed, and then RETRIEVE the location. The script will wait 30 seconds and then loop. Make sure to update the feedId and m2xKey values with values for your account.
Dependencies: EthernetInterface LM75B M2XStreamClient jsonlite mbed-rtos mbed
Revision 0:38a7a8cae773, committed 2014-02-21
- Comitter:
- jb8414
- Date:
- Fri Feb 21 21:12:15 2014 +0000
- Commit message:
- initial commit
Changed in this revision
diff -r 000000000000 -r 38a7a8cae773 EthernetInterface.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EthernetInterface.lib Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/EthernetInterface/#6a67d2bddc7c
diff -r 000000000000 -r 38a7a8cae773 LM75B.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LM75B.lib Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/chris/code/LM75B/#6a70c9303bbe
diff -r 000000000000 -r 38a7a8cae773 M2XStreamClient.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/M2XStreamClient.lib Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/ATT-M2X-team/code/M2XStreamClient/#f479e4f4db0e
diff -r 000000000000 -r 38a7a8cae773 jsonlite.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jsonlite.lib Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/citrusbyte/code/jsonlite/#01a2f8de46c8
diff -r 000000000000 -r 38a7a8cae773 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,75 @@ +#include <jsonlite.h> +#include "M2XStreamClient.h" + +#include "mbed.h" +#include "EthernetInterface.h" +#include "LM75B.h" //I2C Temperature Sensor + +char feedId[] = "<feed id>"; // Feed you want to post to +char m2xKey[] = "<m2x api key>"; // Your M2X access key +char streamName[] = "<stream name>"; // Stream you want to post to + +char name[] = "<location name>"; // Name of current location of datasource +double latitude = 33.007872; +double longitude = -96.751614; // You can also read those values from a GPS +double elevation = 697.00; + +Client client; +M2XStreamClient m2xClient(&client, m2xKey); + +EthernetInterface eth; +LM75B tmp(p28,p27); // I2C Temperature Sensor + +void on_data_point_found(const char* at, const char* value, int index, void* context) { + printf("Found a data point, index: %d\r\n", index); + printf("At: %s Value: %s\r\n", at, value); +} + +void on_location_found(const char* name, + double latitude, + double longitude, + double elevation, + const char* timestamp, + int index, + void* context) { + printf("Found a location, index: %d\r\n", index); + printf("Name: %s Latitude: %lf Longitude: %lf\r\n", name, latitude, longitude); + printf("Elevation: %lf Timestamp: %s\r\n", elevation, timestamp); +} + +int main() { + eth.init(); + eth.connect(); + printf("IP Address: %s\r\n", eth.getIPAddress()); + + char amb_temp[6]; + + while (true) { + + // read temp + sprintf(amb_temp, "%0.2f", tmp.read()); + + // post temperature + int response = m2xClient.post(feedId, streamName, amb_temp); + printf("Post response code: %d\r\n", response); + if (response == -1) while (true) ; + + // read temperature + response = m2xClient.fetchValues(feedId, streamName, on_data_point_found, NULL); + printf("Fetch response code: %d\r\n", response); + if (response == -1) while (true) ; + + // update location + response = m2xClient.updateLocation(feedId, name, latitude, longitude, elevation); + printf("updateLocation response code: %d\r\n", response); + if (response == -1) while (true) ; + + // read location + response = m2xClient.readLocation(feedId, on_location_found, NULL); + printf("readLocation response code: %d\r\n", response); + if (response == -1) while (true) ; + + // wait 60 secs and then loop + delay(60000); + } +} \ No newline at end of file
diff -r 000000000000 -r 38a7a8cae773 mbed-rtos.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-rtos/#f88660a9bed1
diff -r 000000000000 -r 38a7a8cae773 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Feb 21 21:12:15 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/824293ae5e43 \ No newline at end of file