Upload to cosm (pachube) from mbed. (No LCD)

Dependencies:   EthernetInterface WebSocketClient mbed-rtos mbed

Upload to cosm (pachube) from mbed. thank you for http://mbed.org/forum/bugs-suggestions/topic/3956/ thread.

Use AMS302,LM61BIZ,CHS-GSS.

Use LCD, SCP-1000 version is here. http://mbed.org/users/kumajoi/code/ku-make_sensor/

Committer:
kumajoi
Date:
Thu Dec 06 18:45:22 2012 +0000
Revision:
0:0db90eb53590
for MakeFaireTokyo2012

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kumajoi 0:0db90eb53590 1 #include "mbed.h"
kumajoi 0:0db90eb53590 2 #include "EthernetInterface.h"
kumajoi 0:0db90eb53590 3 #include "Websocket.h"
kumajoi 0:0db90eb53590 4
kumajoi 0:0db90eb53590 5 DigitalOut myled(LED1);
kumajoi 0:0db90eb53590 6 AnalogIn light_in(p20);
kumajoi 0:0db90eb53590 7 AnalogIn temp_in(p19);
kumajoi 0:0db90eb53590 8 AnalogIn humid_in(p18);
kumajoi 0:0db90eb53590 9
kumajoi 0:0db90eb53590 10 int main()
kumajoi 0:0db90eb53590 11 {
kumajoi 0:0db90eb53590 12 const char apikey[] = "xxxxxxxxxxxxxxxxxxxxxxx"; // your apikey
kumajoi 0:0db90eb53590 13 const char feed[]= "/feeds/00000"; // //your feed URL
kumajoi 0:0db90eb53590 14 char cms[512];
kumajoi 0:0db90eb53590 15 char recv[512];
kumajoi 0:0db90eb53590 16 int token = 0;
kumajoi 0:0db90eb53590 17 EthernetInterface eth;
kumajoi 0:0db90eb53590 18 eth.init();
kumajoi 0:0db90eb53590 19 eth.connect();
kumajoi 0:0db90eb53590 20 wait(5);
kumajoi 0:0db90eb53590 21 printf("IP Address is %s\n\r", eth.getIPAddress());
kumajoi 0:0db90eb53590 22
kumajoi 0:0db90eb53590 23 while (1) {
kumajoi 0:0db90eb53590 24 Websocket ws("ws://api.cosm.com:8080/feeds/");
kumajoi 0:0db90eb53590 25 ws.connect();
kumajoi 0:0db90eb53590 26 if(ws.read(recv)) {
kumajoi 0:0db90eb53590 27 printf("rcv: %s\r\n", recv);
kumajoi 0:0db90eb53590 28 }
kumajoi 0:0db90eb53590 29
kumajoi 0:0db90eb53590 30 float r_light, r_temp, r_humid;
kumajoi 0:0db90eb53590 31 float light, temp, humid;
kumajoi 0:0db90eb53590 32
kumajoi 0:0db90eb53590 33 light = light_in;
kumajoi 0:0db90eb53590 34 temp = temp_in;
kumajoi 0:0db90eb53590 35 humid = humid_in;
kumajoi 0:0db90eb53590 36
kumajoi 0:0db90eb53590 37 r_light = light * 3.3 * 5 / 0.013;
kumajoi 0:0db90eb53590 38 r_temp = temp * 3.3 * 100 - 60;
kumajoi 0:0db90eb53590 39 r_humid = humid * 3.3 * 100;
kumajoi 0:0db90eb53590 40
kumajoi 0:0db90eb53590 41 myled = 1;
kumajoi 0:0db90eb53590 42 sprintf (cms,"{\"method\" : \"put\",\"resource\" : \"%s\",\"params\" : {},\"headers\" : {\"X-ApiKey\":\"%s\"},\"body\" :{\"version\" : \"1.0.0\",\"datastreams\" : [{\"id\" : \"0\",\"current_value\" : \"%4.0f\"},{\"id\" : \"1\",\"current_value\" : \"%3.0f\"},{\"id\" : \"2\",\"current_value\" : \"%3.0f\"}]},\"token\" : \"0x%d\"}\r\n",feed,apikey,r_light,r_temp,r_humid,token);
kumajoi 0:0db90eb53590 43 //set your ID and value
kumajoi 0:0db90eb53590 44 printf ("%s\r\n",cms);
kumajoi 0:0db90eb53590 45 token++;
kumajoi 0:0db90eb53590 46 int res = ws.send(cms);
kumajoi 0:0db90eb53590 47 myled= 0 ;
kumajoi 0:0db90eb53590 48 wait(5);
kumajoi 0:0db90eb53590 49
kumajoi 0:0db90eb53590 50
kumajoi 0:0db90eb53590 51 if(ws.read(recv)) {
kumajoi 0:0db90eb53590 52 printf("rcv: %s\r\n", recv);
kumajoi 0:0db90eb53590 53 wait(1);
kumajoi 0:0db90eb53590 54 }
kumajoi 0:0db90eb53590 55
kumajoi 0:0db90eb53590 56 ws.close();
kumajoi 0:0db90eb53590 57 wait(300);
kumajoi 0:0db90eb53590 58
kumajoi 0:0db90eb53590 59 }
kumajoi 0:0db90eb53590 60 }