https://github.com/ryantm/attcarhomehackathon

Dependencies:   EthernetInterface LM75B M2XStreamClient jsonlite mbed-rtos mbed

Dependents:   clothesItReceiver

Fork of m2x-demo-all by AT&T M2X Team

Revision:
1:225ed64c9353
Parent:
0:38a7a8cae773
Child:
2:3bec0454c754
--- a/main.cpp	Fri Feb 21 21:12:15 2014 +0000
+++ b/main.cpp	Sun Sep 07 20:33:58 2014 +0000
@@ -5,9 +5,20 @@
 #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 feedId[] = "c6eabf437b8c69efbb4e4a8d5c60c04d"; // Feed you want to post to
+char m2xKey[] = "10bc8a4dc4a37c5dc549b41ffaa6d6c1"; // Your M2X access key
+char streamName[] = "danger_bit"; // Stream you want to post to
+
+DigitalOut garage(PTB9);
+
+
+/*
+char feeidId[] = "08a3bceeee7e7bfa32340aadd282ea23"; // Feed you want to post to
+char m2xKey[] = "41e5905679b7a6fa668303e00da65826"; // Your M2X access key
+char streamName[] = "garagecommand"; // Stream you want to post to
+*/
+int danger = 0;
 
 char name[] = "<location name>"; // Name of current location of datasource
 double latitude = 33.007872;
@@ -18,11 +29,24 @@
 M2XStreamClient m2xClient(&client, m2xKey);
 
 EthernetInterface eth;
-LM75B tmp(p28,p27);         // I2C Temperature Sensor
+//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);
+  
+  if(index == 0)
+  {
+    danger = atoi(value);
+    
+    if (danger == 1)
+    {
+        printf("Carbonmonoxide levels are dangerous. \n");
+        garage = 0;
+        
+    }
+    
+  }
 }
 
 void on_location_found(const char* name,
@@ -44,32 +68,34 @@
 
   char amb_temp[6];
   
+  garage = 1;
+  
   while (true) {
   
     // read temp
-    sprintf(amb_temp, "%0.2f", tmp.read());
+    //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) ;
+    //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);
+    int response = m2xClient.fetchValues(feedId, streamName, on_data_point_found, NULL);
     printf("Fetch response code: %d\r\n", response);
-    if (response == -1) while (true) ;
+    //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) ;
+    //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) ;
+    //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);
+    // wait 5 secs and then loop
+    delay(5000);
   }
 }
\ No newline at end of file