Team 6
Dependencies: HTTPClient PowerControl SNICInterface_mod mbed-rtos mbed
Fork of HTTPClient_WiFi_HelloWorld by
main.cpp@10:4f206e833249, 2015-02-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |