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.

Committer:
kumajoi
Date:
Sat Feb 09 20:10:09 2013 +0000
Revision:
4:2e051261aef7
Parent:
3:80228f6bc21a
for MakeFaireTokyo2012

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kumajoi 3:80228f6bc21a 1 #include "mbed.h"
kumajoi 3:80228f6bc21a 2 #include "TextLCD.h"
kumajoi 3:80228f6bc21a 3 #include "SCP1000.h"
kumajoi 3:80228f6bc21a 4 #include "EthernetInterface.h"
kumajoi 3:80228f6bc21a 5 #include "Websocket.h"
kumajoi 3:80228f6bc21a 6
kumajoi 3:80228f6bc21a 7 DigitalOut myled(LED1);
kumajoi 3:80228f6bc21a 8 TextLCD lcd(p24, p25, p26, p27, p28, p29, p30);;
kumajoi 3:80228f6bc21a 9 AnalogIn light_in(p20);
kumajoi 3:80228f6bc21a 10 AnalogIn temp_in(p19);
kumajoi 3:80228f6bc21a 11 AnalogIn humid_in(p18);
kumajoi 3:80228f6bc21a 12 SCP1000 scp1000(p11,p12,p13,p14);
kumajoi 3:80228f6bc21a 13
kumajoi 3:80228f6bc21a 14 void splash();
kumajoi 3:80228f6bc21a 15 void splash()
kumajoi 3:80228f6bc21a 16 {
kumajoi 3:80228f6bc21a 17
kumajoi 3:80228f6bc21a 18 lcd.cls();
kumajoi 3:80228f6bc21a 19 lcd.locate(0, 0);
kumajoi 3:80228f6bc21a 20 lcd.printf("ku-make sensor");
kumajoi 3:80228f6bc21a 21 lcd.locate(0, 1);
kumajoi 3:80228f6bc21a 22 lcd.printf("@kumajoi");
kumajoi 3:80228f6bc21a 23 wait(0.3);
kumajoi 3:80228f6bc21a 24 }
kumajoi 3:80228f6bc21a 25
kumajoi 3:80228f6bc21a 26 int main()
kumajoi 3:80228f6bc21a 27 {
kumajoi 3:80228f6bc21a 28 splash();
kumajoi 3:80228f6bc21a 29
kumajoi 3:80228f6bc21a 30 const char apikey[] = "xxxxxxxxxxxxxxxxxxxxxx"; //Change your apikey
kumajoi 3:80228f6bc21a 31 const char feed[]= "/feeds/00000"; //Change your feed URL
kumajoi 3:80228f6bc21a 32 char cms[512];
kumajoi 3:80228f6bc21a 33 char recv[512];
kumajoi 3:80228f6bc21a 34 int token = 0;
kumajoi 3:80228f6bc21a 35 EthernetInterface eth;
kumajoi 3:80228f6bc21a 36 eth.init();
kumajoi 3:80228f6bc21a 37 eth.connect();
kumajoi 3:80228f6bc21a 38 wait(5);
kumajoi 3:80228f6bc21a 39 lcd.cls();
kumajoi 3:80228f6bc21a 40 printf("IP Address is %s\n\r", eth.getIPAddress());
kumajoi 3:80228f6bc21a 41 lcd.printf("IP Address is %s\n\r", eth.getIPAddress());
kumajoi 3:80228f6bc21a 42
kumajoi 3:80228f6bc21a 43 while (1) {
kumajoi 3:80228f6bc21a 44 Websocket ws("ws://api.cosm.com:8080/feeds/");
kumajoi 3:80228f6bc21a 45 ws.connect();
kumajoi 3:80228f6bc21a 46 if(ws.read(recv)) {
kumajoi 3:80228f6bc21a 47 printf("rcv: %s\r\n", recv);
kumajoi 3:80228f6bc21a 48 }
kumajoi 3:80228f6bc21a 49
kumajoi 3:80228f6bc21a 50 float r_light, r_temp, r_humid, r_hpa;
kumajoi 3:80228f6bc21a 51 float light, temp, humid, hpa;
kumajoi 3:80228f6bc21a 52
kumajoi 3:80228f6bc21a 53 light = light_in;
kumajoi 3:80228f6bc21a 54 temp = temp_in;
kumajoi 3:80228f6bc21a 55 humid = humid_in;
kumajoi 3:80228f6bc21a 56 hpa = scp1000.readPressure();
kumajoi 3:80228f6bc21a 57
kumajoi 3:80228f6bc21a 58 // If you want, please change the value.
kumajoi 3:80228f6bc21a 59 r_light = light * 3.3 * 5 / 0.013;
kumajoi 3:80228f6bc21a 60 r_temp = temp * 3.3 * 100 - 60;
kumajoi 3:80228f6bc21a 61 r_humid = humid * 3.3 * 100;
kumajoi 3:80228f6bc21a 62 r_hpa = hpa / 100;
kumajoi 3:80228f6bc21a 63
kumajoi 3:80228f6bc21a 64
kumajoi 3:80228f6bc21a 65 lcd.cls();
kumajoi 3:80228f6bc21a 66 lcd.locate(0, 0);
kumajoi 3:80228f6bc21a 67 lcd.putc(0xB5);
kumajoi 3:80228f6bc21a 68 lcd.putc(0xDD);
kumajoi 3:80228f6bc21a 69 lcd.putc(0xC4);
kumajoi 3:80228f6bc21a 70 lcd.putc(0xDE);
kumajoi 3:80228f6bc21a 71 lcd.printf("%2.0f",r_temp);
kumajoi 3:80228f6bc21a 72 lcd.putc(0xDf);
kumajoi 3:80228f6bc21a 73 lcd.putc('C');
kumajoi 3:80228f6bc21a 74 lcd.printf(" %4.0fhPa", r_hpa);
kumajoi 3:80228f6bc21a 75 lcd.locate(0, 1);
kumajoi 3:80228f6bc21a 76 lcd.putc(0xBC);
kumajoi 3:80228f6bc21a 77 lcd.putc(0xC2);
kumajoi 3:80228f6bc21a 78 lcd.putc(0xC4);
kumajoi 3:80228f6bc21a 79 lcd.putc(0xDE);
kumajoi 3:80228f6bc21a 80 lcd.printf("%2.0f%% ",r_humid);
kumajoi 3:80228f6bc21a 81 lcd.locate(9, 1);
kumajoi 3:80228f6bc21a 82 lcd.printf("%4.0f", r_light);
kumajoi 3:80228f6bc21a 83 lcd.putc(0xD9);
kumajoi 3:80228f6bc21a 84 lcd.putc(0xB8);
kumajoi 3:80228f6bc21a 85 lcd.putc(0xBD);
kumajoi 3:80228f6bc21a 86
kumajoi 3:80228f6bc21a 87 myled = 1;
kumajoi 3:80228f6bc21a 88 // If you want, change the ID, Number of digits.
kumajoi 4:2e051261aef7 89 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\"},{\"id\" : \"3\",\"current_value\" : \"%4.0f\"}]},\"token\" : \"0x%d\"}\r\n",feed,apikey,r_light,r_temp,r_humid,r_hpa,token);
kumajoi 3:80228f6bc21a 90
kumajoi 3:80228f6bc21a 91 printf ("%s\r\n",cms);
kumajoi 3:80228f6bc21a 92 token++;
kumajoi 3:80228f6bc21a 93 int res = ws.send(cms);
kumajoi 3:80228f6bc21a 94 myled= 0 ;
kumajoi 3:80228f6bc21a 95 wait(5);
kumajoi 3:80228f6bc21a 96
kumajoi 3:80228f6bc21a 97 if(ws.read(recv)) {
kumajoi 3:80228f6bc21a 98 printf("rcv: %s\r\n", recv);
kumajoi 3:80228f6bc21a 99 wait(1);
kumajoi 3:80228f6bc21a 100 }
kumajoi 3:80228f6bc21a 101
kumajoi 3:80228f6bc21a 102 ws.close();
kumajoi 3:80228f6bc21a 103 // If you want, change the Interval.
kumajoi 3:80228f6bc21a 104 wait(300);
kumajoi 3:80228f6bc21a 105
kumajoi 3:80228f6bc21a 106 }
kumajoi 0:d368632c8662 107 }