for orginal PCB

Dependencies:   EthernetInterface SCP1000 WebSocketClient mbed-rtos mbed

Fork of ku-make_sensor201302 by Satoshi Motoyama

Committer:
kumajoi
Date:
Thu Dec 06 17:44:24 2012 +0000
Revision:
0:d368632c8662
Child:
1:de9966da02f1
for MakeFairTokyo2012

Who changed what in which revision?

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