Team 6

Dependencies:   HTTPClient PowerControl SNICInterface_mod mbed-rtos mbed

Fork of HTTPClient_WiFi_HelloWorld by KDDI Fx0 hackathon

Committer:
daisukekmr
Date:
Sun Feb 15 04:34:59 2015 +0000
Revision:
10:4f206e833249
Parent:
9:95ab3243d929
add light sensor.; make http get request a function.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:0e0debc29569 1 #include "mbed.h"
MACRUM 5:3dbedd084f79 2
MACRUM 3:837766adc429 3 #include "SNIC_WifiInterface.h"
donatien 0:0e0debc29569 4 #include "HTTPClient.h"
MACRUM 3:837766adc429 5 #if defined(TARGET_LPC1768)
MACRUM 3:837766adc429 6 #include "PowerControl/EthernetPowerControl.h"
MACRUM 3:837766adc429 7 #endif
MACRUM 3:837766adc429 8
daisukekmr 10:4f206e833249 9 #include "adc.h" //a+
daisukekmr 10:4f206e833249 10
daisukekmr 6:1273e99a6058 11 #define DEMO_AP_SSID "nad11-10e168"
MACRUM 3:837766adc429 12 #define DEMO_AP_SECURITY_TYPE e_SEC_WPA2_AES
daisukekmr 6:1273e99a6058 13 #define DEMO_AP_SECUTIRY_KEY "18e36c5e791f9"
daisukekmr 7:bf74da76618b 14 #define WAIT 10.0
daisukekmr 10:4f206e833249 15 #define SAMPLE_RATE 150000 // a+
MACRUM 3:837766adc429 16
MACRUM 3:837766adc429 17 C_SNIC_WifiInterface wifi( p9, p10, NC, NC, p30 );
MACRUM 3:837766adc429 18
MACRUM 5:3dbedd084f79 19 #if defined(_DEBUG)
MACRUM 5:3dbedd084f79 20 Serial pc(USBTX, USBRX);
MACRUM 5:3dbedd084f79 21 #endif
MACRUM 5:3dbedd084f79 22
daisukekmr 7:bf74da76618b 23 DigitalIn PIR(p8);
daisukekmr 10:4f206e833249 24 //AnalogIn LIGHT(p20);
donatien 1:d263603373ac 25 HTTPClient http;
donatien 1:d263603373ac 26 char str[512];
donatien 1:d263603373ac 27
daisukekmr 10:4f206e833249 28
daisukekmr 10:4f206e833249 29 int HTTPGET(char* sensortype, int value)
daisukekmr 10:4f206e833249 30 {
daisukekmr 10:4f206e833249 31 //GET data
daisukekmr 10:4f206e833249 32 printf("\nTrying to fetch page...\n");
daisukekmr 10:4f206e833249 33 char buf[128];
daisukekmr 10:4f206e833249 34 sprintf(buf, "http://192.168.179.7/put?type=%s&value=%d",sensortype, value);
daisukekmr 10:4f206e833249 35 int ret = http.get(buf, str, 128);
daisukekmr 10:4f206e833249 36 if (!ret)
daisukekmr 10:4f206e833249 37 {
daisukekmr 10:4f206e833249 38 printf("Page fetched successfully - read %d characters\n", strlen(str));
daisukekmr 10:4f206e833249 39 printf("Result: %s\n", str);
daisukekmr 10:4f206e833249 40 }
daisukekmr 10:4f206e833249 41 else
daisukekmr 10:4f206e833249 42 {
daisukekmr 10:4f206e833249 43 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
daisukekmr 10:4f206e833249 44 }
daisukekmr 10:4f206e833249 45 return(0);
daisukekmr 10:4f206e833249 46 }
daisukekmr 10:4f206e833249 47
donatien 0:0e0debc29569 48 int main()
donatien 0:0e0debc29569 49 {
MACRUM 3:837766adc429 50 #if defined(TARGET_LPC1768)
MACRUM 3:837766adc429 51 PHY_PowerDown();
MACRUM 3:837766adc429 52 #endif
MACRUM 3:837766adc429 53
MACRUM 3:837766adc429 54 wifi.init(); //Use DHCP
donatien 0:0e0debc29569 55
MACRUM 3:837766adc429 56 wait(0.5);
MACRUM 3:837766adc429 57 int s = wifi.disconnect();
MACRUM 3:837766adc429 58 if( s != 0 ) {
MACRUM 3:837766adc429 59 return -1;
MACRUM 3:837766adc429 60 }
MACRUM 3:837766adc429 61
MACRUM 3:837766adc429 62 wait(0.3);
daisukekmr 7:bf74da76618b 63
daisukekmr 7:bf74da76618b 64 // Connect AP
MACRUM 3:837766adc429 65 wifi.connect( DEMO_AP_SSID
daisukekmr 7:bf74da76618b 66 , strlen(DEMO_AP_SSID)
daisukekmr 7:bf74da76618b 67 , DEMO_AP_SECURITY_TYPE
daisukekmr 7:bf74da76618b 68 , DEMO_AP_SECUTIRY_KEY
daisukekmr 7:bf74da76618b 69 , strlen(DEMO_AP_SECUTIRY_KEY) );
MACRUM 3:837766adc429 70 wait(0.5);
daisukekmr 8:846dfefd3110 71 wifi.setIPConfig( true );
daisukekmr 8:846dfefd3110 72 wait(0.5);
MACRUM 3:837766adc429 73 printf("IP Address is %s\n", wifi.getIPAddress());
donatien 0:0e0debc29569 74
daisukekmr 7:bf74da76618b 75 //define var
daisukekmr 10:4f206e833249 76 int num = 0;
daisukekmr 9:95ab3243d929 77 int value;
daisukekmr 7:bf74da76618b 78 char* sensortype;
daisukekmr 10:4f206e833249 79 ADC adc(SAMPLE_RATE, 1);
daisukekmr 7:bf74da76618b 80
daisukekmr 7:bf74da76618b 81 while(1)
donatien 0:0e0debc29569 82 {
daisukekmr 10:4f206e833249 83 if( num == 0)
daisukekmr 7:bf74da76618b 84 {
daisukekmr 10:4f206e833249 85 //for PIR sensor
daisukekmr 10:4f206e833249 86 //GET value from PIR sensor
daisukekmr 10:4f206e833249 87 sensortype = "PIR";
daisukekmr 10:4f206e833249 88 value = PIR;
daisukekmr 10:4f206e833249 89 num = PIR;
daisukekmr 10:4f206e833249 90 HTTPGET(sensortype, value);
daisukekmr 7:bf74da76618b 91 }
daisukekmr 10:4f206e833249 92
daisukekmr 10:4f206e833249 93 //for LIGHT
daisukekmr 10:4f206e833249 94 if(num == 1)
daisukekmr 9:95ab3243d929 95 {
daisukekmr 10:4f206e833249 96 for(int i=0; i<10; i++)
daisukekmr 10:4f206e833249 97 {
daisukekmr 10:4f206e833249 98 //GET value from LIGHT sensor
daisukekmr 10:4f206e833249 99 sensortype = "LIGHT";
daisukekmr 10:4f206e833249 100 // a+
daisukekmr 10:4f206e833249 101 //Set up ADC on pin 20
daisukekmr 10:4f206e833249 102 adc.setup(p20,1);
daisukekmr 10:4f206e833249 103 //Measure pin 20
daisukekmr 10:4f206e833249 104 adc.select(p20);
daisukekmr 10:4f206e833249 105 //Start ADC conversion
daisukekmr 10:4f206e833249 106 adc.start();
daisukekmr 10:4f206e833249 107 //Wait for it to complete
daisukekmr 10:4f206e833249 108 while(!adc.done(p20));
daisukekmr 10:4f206e833249 109 value = adc.read(p20);
daisukekmr 10:4f206e833249 110 printf("Measured value on pin 20 is %04u.\n", value);
daisukekmr 10:4f206e833249 111 HTTPGET(sensortype, value);
daisukekmr 10:4f206e833249 112 wait(0.2);
daisukekmr 10:4f206e833249 113 //GET value from THERMO sensor
daisukekmr 10:4f206e833249 114 /*
daisukekmr 10:4f206e833249 115 sensortype = "THERMO";
daisukekmr 10:4f206e833249 116 value =
daisukekmr 10:4f206e833249 117 printf("THERMO value = %d", value);
daisukekmr 10:4f206e833249 118 HTTPGET(sensortype, value);
daisukekmr 10:4f206e833249 119 wait(0.2);
daisukekmr 10:4f206e833249 120 */
daisukekmr 10:4f206e833249 121 }
daisukekmr 10:4f206e833249 122 num = 0;
daisukekmr 9:95ab3243d929 123 }
donatien 0:0e0debc29569 124 }
daisukekmr 7:bf74da76618b 125
daisukekmr 7:bf74da76618b 126 wifi.disconnect();
donatien 1:d263603373ac 127
donatien 0:0e0debc29569 128 }