
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/
main.cpp@0:0db90eb53590, 2012-12-06 (annotated)
- Committer:
- kumajoi
- Date:
- Thu Dec 06 18:45:22 2012 +0000
- Revision:
- 0:0db90eb53590
for MakeFaireTokyo2012
Who changed what in which revision?
User | Revision | Line number | New 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 | } |