for orginal PCB
Dependencies: EthernetInterface SCP1000 WebSocketClient mbed-rtos mbed
Fork of ku-make_sensor201302 by
main.cpp@2:a8935c580ace, 2012-12-06 (annotated)
- Committer:
- kumajoi
- Date:
- Thu Dec 06 17:49:24 2012 +0000
- Revision:
- 2:a8935c580ace
- Parent:
- 1:de9966da02f1
- Child:
- 3:49cc55a3a463
for MakeFaireTokyo2012
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:de9966da02f1 | 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 | 2:a8935c580ace | 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 | } |