Upload to cosm (pachube) from mbed.
Dependencies: EthernetInterface SCP1000 WebSocketClient mbed-rtos mbed
thank you for http://mbed.org/forum/bugs-suggestions/topic/3956/ thread.
Use AMS302,LM61BIZ,CHS-GSS,SCP-1000 and StarBoard Orange.
main.cpp
- Committer:
- kumajoi
- Date:
- 2012-12-06
- Revision:
- 0:d368632c8662
- Child:
- 1:de9966da02f1
File content as of revision 0:d368632c8662:
#include "mbed.h" #include "TextLCD.h" #include "SCP1000.h" #include "EthernetInterface.h" #include "Websocket.h" DigitalOut myled(LED1); TextLCD lcd(p24, p25, p26, p27, p28, p29, p30);; AnalogIn light_in(p20); AnalogIn temp_in(p19); AnalogIn humid_in(p18); SCP1000 scp1000(p11,p12,p13,p14); void splash(); void splash() { lcd.cls(); lcd.locate(0, 0); lcd.printf("ku-make sensor"); lcd.locate(0, 1); lcd.printf("@kumajoi"); wait(0.3); } int main() { splash(); const char apikey[] = "xxxxxxxxxxxxxxxxxxxxxx"; //your apikey const char feed[]= "/feeds/00000"; //your feed URL char cms[512]; char recv[512]; int token = 0; EthernetInterface eth; eth.init(); eth.connect(); wait(5); lcd.cls(); printf("IP Address is %s\n\r", eth.getIPAddress()); lcd.printf("IP Address is %s\n\r", eth.getIPAddress()); while (1) { Websocket ws("ws://api.cosm.com:8080/feeds/"); ws.connect(); if(ws.read(recv)) { printf("rcv: %s\r\n", recv); } float r_light, r_temp, r_humid, r_hpa; float light, temp, humid, hpa; light = light_in; temp = temp_in; humid = humid_in; hpa = scp1000.readPressure(); r_light = light * 3.3 * 5 / 0.013; r_temp = temp * 3.3 * 100 - 60; r_humid = humid * 3.3 * 100; r_hpa = hpa / 100; lcd.cls(); lcd.locate(0, 0); lcd.putc(0xB5); lcd.putc(0xDD); lcd.putc(0xC4); lcd.putc(0xDE); lcd.printf("%2.0f",r_temp); lcd.putc(0xDf); lcd.putc('C'); lcd.printf(" %4.0fhPa", r_hpa); lcd.locate(0, 1); lcd.putc(0xBC); lcd.putc(0xC2); lcd.putc(0xC4); lcd.putc(0xDE); lcd.printf("%2.0f%% ",r_humid); lcd.locate(9, 1); lcd.printf("%4.0f", r_light); lcd.putc(0xD9); lcd.putc(0xB8); lcd.putc(0xBD); myled = 1; sprintf (cms,"{\"method\" : \"put\",\"resource\" : \"%s\",\"params\" : {},\"headers\" : {\"X-ApiKey\":\"%s\"},\"body\" :{\"version\" : \"1.0.0\",\"datastreams\" : [{\"id\" : \"3\",\"current_value\" : \"%4.0f\"},{\"id\" : \"4\",\"current_value\" : \"%4.0f\"},{\"id\" : \"5\",\"current_value\" : \"%3.0f\"},{\"id\" : \"6\",\"current_value\" : \"%3.0f\"}]},\"token\" : \"0x%d\"}\r\n",feed,apikey,r_hpa,r_light,r_temp,r_humid,token); //set your ID and value printf ("%s\r\n",cms); token++; int res = ws.send(cms); myled= 0 ; wait(5); if(ws.read(recv)) { printf("rcv: %s\r\n", recv); wait(1); } ws.close(); wait(300); } }