posted data are here => http://shokai.mag.keio.ac.jp/sensor-storage/shokai/cds/recent

Dependencies:   mbed lwip

Committer:
shokai
Date:
Sun Apr 25 13:30:49 2010 +0000
Revision:
1:f2d0019c7d6f
Parent:
0:969bf1c3d310

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shokai 0:969bf1c3d310 1 #include "mbed.h"
shokai 0:969bf1c3d310 2 #include "HTTPClient.h"
shokai 0:969bf1c3d310 3 #include <string>
shokai 0:969bf1c3d310 4 using namespace std;
shokai 0:969bf1c3d310 5
shokai 0:969bf1c3d310 6 Serial pc(USBTX, USBRX);
shokai 0:969bf1c3d310 7
shokai 0:969bf1c3d310 8 DigitalOut led1(LED1); // blink
shokai 0:969bf1c3d310 9 DigitalOut led2(LED2); // blink when http-post
shokai 0:969bf1c3d310 10 DigitalOut led3(p11); // represent ADC value
shokai 0:969bf1c3d310 11
shokai 0:969bf1c3d310 12 AnalogIn adc(p15);
shokai 0:969bf1c3d310 13 float ain;
shokai 0:969bf1c3d310 14
shokai 0:969bf1c3d310 15 HTTPClient http; // use DHCP
shokai 0:969bf1c3d310 16
shokai 1:f2d0019c7d6f 17 const string api_uri = "http://shokai.mag.keio.ac.jp/sensor-storage/shokai/cds/";
shokai 0:969bf1c3d310 18 const string mbed_name = "shokai-mbed01";
shokai 0:969bf1c3d310 19 const string sensor_name = "CdS";
shokai 0:969bf1c3d310 20
shokai 0:969bf1c3d310 21 void blink_led(DigitalOut led, int num){
shokai 0:969bf1c3d310 22 for(int i=0; i < num*2; i++){
shokai 0:969bf1c3d310 23 led = !led;
shokai 0:969bf1c3d310 24 wait(0.1);
shokai 0:969bf1c3d310 25 }
shokai 0:969bf1c3d310 26 }
shokai 0:969bf1c3d310 27
shokai 0:969bf1c3d310 28 void post_sensor_value(){
shokai 0:969bf1c3d310 29 blink_led(led2, 2);
shokai 0:969bf1c3d310 30 char query[256] = "";
shokai 0:969bf1c3d310 31 char result[4096] = ""; // 4kb
shokai 0:969bf1c3d310 32 sprintf(query, "name=%s&%s=%f", mbed_name.c_str(), sensor_name.c_str(), (float)ain);
shokai 0:969bf1c3d310 33 pc.printf("post:%s => %s\n", query, api_uri.c_str());
shokai 0:969bf1c3d310 34 http.post(api_uri.c_str(), query, result, 4096);
shokai 0:969bf1c3d310 35 pc.printf("%s\n", result);
shokai 0:969bf1c3d310 36 blink_led(led2, 2);
shokai 0:969bf1c3d310 37 }
shokai 0:969bf1c3d310 38
shokai 0:969bf1c3d310 39 int main(void){
shokai 0:969bf1c3d310 40 led1 = 1;
shokai 0:969bf1c3d310 41 int count = 0;
shokai 0:969bf1c3d310 42 while(1) {
shokai 0:969bf1c3d310 43 ain = adc;
shokai 0:969bf1c3d310 44 pc.printf("sensor:%f\n", float(ain));
shokai 0:969bf1c3d310 45 led1 = !led1; // blink LED
shokai 0:969bf1c3d310 46 if(ain > 0.1) led3 = 0; // represent CdS value
shokai 0:969bf1c3d310 47 else led3 = 1;
shokai 0:969bf1c3d310 48 if(count > 20){
shokai 0:969bf1c3d310 49 post_sensor_value();
shokai 0:969bf1c3d310 50 count = 0;
shokai 0:969bf1c3d310 51 }
shokai 0:969bf1c3d310 52 count++;
shokai 0:969bf1c3d310 53 wait(0.5);
shokai 0:969bf1c3d310 54 }
shokai 0:969bf1c3d310 55 }