IOT_LAB_WiFi_ldr_2Channels

Dependencies:   ESP8266 mbed

Committer:
RITVIK_DAVE
Date:
Tue Apr 04 10:01:53 2017 +0000
Revision:
0:84c939401c34
commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RITVIK_DAVE 0:84c939401c34 1 #include "mbed.h"
RITVIK_DAVE 0:84c939401c34 2 #include "ESP8266.h"
RITVIK_DAVE 0:84c939401c34 3
RITVIK_DAVE 0:84c939401c34 4 Serial pc(USBTX,USBRX);
RITVIK_DAVE 0:84c939401c34 5
RITVIK_DAVE 0:84c939401c34 6 //POT sensor
RITVIK_DAVE 0:84c939401c34 7 AnalogIn pot(PTB1);
RITVIK_DAVE 0:84c939401c34 8
RITVIK_DAVE 0:84c939401c34 9 //wifi UART port and baud rate
RITVIK_DAVE 0:84c939401c34 10 ESP8266 wifi(PTE0, PTE1, 115200);
RITVIK_DAVE 0:84c939401c34 11
RITVIK_DAVE 0:84c939401c34 12 //buffers for wifi library
RITVIK_DAVE 0:84c939401c34 13 char snd[255],resp[1000];
RITVIK_DAVE 0:84c939401c34 14 char http_cmd[300], comm[300];
RITVIK_DAVE 0:84c939401c34 15
RITVIK_DAVE 0:84c939401c34 16 int timeout = 8000; //timeout for wifi commands
RITVIK_DAVE 0:84c939401c34 17
RITVIK_DAVE 0:84c939401c34 18 //SSID and password for connection
RITVIK_DAVE 0:84c939401c34 19 #define SSID "me" //"AmeyaHotspot"//"IoTServer" //"AmeyaHotspot" //"Xperia S_f19d"
RITVIK_DAVE 0:84c939401c34 20 #define PASS "123123123" //"12345678" //"iotserver" //"12345678" //"profpappu"
RITVIK_DAVE 0:84c939401c34 21
RITVIK_DAVE 0:84c939401c34 22 //Remote IP
RITVIK_DAVE 0:84c939401c34 23 #define IP "184.106.153.149"
RITVIK_DAVE 0:84c939401c34 24 //#define IP "https://api.thingspeak.com"
RITVIK_DAVE 0:84c939401c34 25 //#define IP "192.168.0.25"
RITVIK_DAVE 0:84c939401c34 26 //waterlevelue global variable
RITVIK_DAVE 0:84c939401c34 27 float waterlevel = 0;
RITVIK_DAVE 0:84c939401c34 28
RITVIK_DAVE 0:84c939401c34 29 //Public and private keys for phant
RITVIK_DAVE 0:84c939401c34 30 char* Update_Key1 = "KW85FFJJPQ5CW3KE";
RITVIK_DAVE 0:84c939401c34 31 char* Update_Key2 = "6A0KQQKFBPJKLAFT";
RITVIK_DAVE 0:84c939401c34 32
RITVIK_DAVE 0:84c939401c34 33 //char* Private_Key = "GPoWnRM60yidrB0e1pXD";
RITVIK_DAVE 0:84c939401c34 34
RITVIK_DAVE 0:84c939401c34 35 //Wifi init function
RITVIK_DAVE 0:84c939401c34 36 void wifi_initialize(void){
RITVIK_DAVE 0:84c939401c34 37
RITVIK_DAVE 0:84c939401c34 38 pc.printf("******** Resetting wifi module ********\r\n");
RITVIK_DAVE 0:84c939401c34 39 wifi.Reset();
RITVIK_DAVE 0:84c939401c34 40
RITVIK_DAVE 0:84c939401c34 41 //wait for 5 seconds for response, else display no response receiveed
RITVIK_DAVE 0:84c939401c34 42 if (wifi.RcvReply(resp, 5000))
RITVIK_DAVE 0:84c939401c34 43 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 44 else
RITVIK_DAVE 0:84c939401c34 45 pc.printf("No response");
RITVIK_DAVE 0:84c939401c34 46
RITVIK_DAVE 0:84c939401c34 47 pc.printf("******** Setting Station mode of wifi with AP ********\r\n");
RITVIK_DAVE 0:84c939401c34 48 wifi.SetMode(1); // set transparent mode
RITVIK_DAVE 0:84c939401c34 49 if (wifi.RcvReply(resp, timeout)) //receive a response from ESP
RITVIK_DAVE 0:84c939401c34 50 pc.printf("%s",resp); //Print the response onscreen
RITVIK_DAVE 0:84c939401c34 51 else
RITVIK_DAVE 0:84c939401c34 52 pc.printf("No response while setting mode. \r\n");
RITVIK_DAVE 0:84c939401c34 53
RITVIK_DAVE 0:84c939401c34 54 pc.printf("******** Joining network with SSID and PASS ********\r\n");
RITVIK_DAVE 0:84c939401c34 55 wifi.Join(SSID, PASS);
RITVIK_DAVE 0:84c939401c34 56 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 57 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 58 else
RITVIK_DAVE 0:84c939401c34 59 pc.printf("No response while connecting to network \r\n");
RITVIK_DAVE 0:84c939401c34 60
RITVIK_DAVE 0:84c939401c34 61 pc.printf("******** Getting IP and MAC of module ********\r\n");
RITVIK_DAVE 0:84c939401c34 62 wifi.GetIP(resp);
RITVIK_DAVE 0:84c939401c34 63 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 64 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 65 else
RITVIK_DAVE 0:84c939401c34 66 pc.printf("No response while getting IP \r\n");
RITVIK_DAVE 0:84c939401c34 67
RITVIK_DAVE 0:84c939401c34 68 pc.printf("******** Setting WIFI UART passthrough ********\r\n");
RITVIK_DAVE 0:84c939401c34 69 wifi.setTransparent();
RITVIK_DAVE 0:84c939401c34 70 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 71 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 72 else
RITVIK_DAVE 0:84c939401c34 73 pc.printf("No response while setting wifi passthrough. \r\n");
RITVIK_DAVE 0:84c939401c34 74 wait(1);
RITVIK_DAVE 0:84c939401c34 75
RITVIK_DAVE 0:84c939401c34 76 pc.printf("******** Setting single connection mode ********\r\n");
RITVIK_DAVE 0:84c939401c34 77 wifi.SetSingle();
RITVIK_DAVE 0:84c939401c34 78 wifi.RcvReply(resp, timeout);
RITVIK_DAVE 0:84c939401c34 79 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 80 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 81 else
RITVIK_DAVE 0:84c939401c34 82 pc.printf("No response while setting single connection \r\n");
RITVIK_DAVE 0:84c939401c34 83 wait(1);
RITVIK_DAVE 0:84c939401c34 84 }
RITVIK_DAVE 0:84c939401c34 85
RITVIK_DAVE 0:84c939401c34 86 void wifi_send(void){
RITVIK_DAVE 0:84c939401c34 87
RITVIK_DAVE 0:84c939401c34 88 pc.printf("******** Starting TCP connection on IP and port ********\r\n");
RITVIK_DAVE 0:84c939401c34 89 wifi.startTCPConn(IP,80); //cipstart
RITVIK_DAVE 0:84c939401c34 90 wifi.RcvReply(resp, timeout);
RITVIK_DAVE 0:84c939401c34 91 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 92 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 93 else
RITVIK_DAVE 0:84c939401c34 94 pc.printf("No response while starting TCP connection \r\n");
RITVIK_DAVE 0:84c939401c34 95 wait(1);
RITVIK_DAVE 0:84c939401c34 96
RITVIK_DAVE 0:84c939401c34 97 //create link
RITVIK_DAVE 0:84c939401c34 98 if(waterlevel>127)
RITVIK_DAVE 0:84c939401c34 99 sprintf(http_cmd,"/update?api_key=%s&field1=%f",Update_Key1,waterlevel);
RITVIK_DAVE 0:84c939401c34 100 else
RITVIK_DAVE 0:84c939401c34 101 sprintf(http_cmd,"/update?api_key=%s&field1=%f",Update_Key2,waterlevel);
RITVIK_DAVE 0:84c939401c34 102 pc.printf(http_cmd);
RITVIK_DAVE 0:84c939401c34 103
RITVIK_DAVE 0:84c939401c34 104 pc.printf("******** Sending URL to wifi ********\r\n");
RITVIK_DAVE 0:84c939401c34 105 wifi.sendURL(http_cmd, comm); //cipsend and get command
RITVIK_DAVE 0:84c939401c34 106 if (wifi.RcvReply(resp, timeout))
RITVIK_DAVE 0:84c939401c34 107 pc.printf("%s",resp);
RITVIK_DAVE 0:84c939401c34 108
RITVIK_DAVE 0:84c939401c34 109 pc.printf("No response while sending URL \r\n");
RITVIK_DAVE 0:84c939401c34 110
RITVIK_DAVE 0:84c939401c34 111 //wifi.SendCMD("AT+CIPCLOSE"); //Close the connection to server
RITVIK_DAVE 0:84c939401c34 112 //wifi.RcvReply(resp, timeout);
RITVIK_DAVE 0:84c939401c34 113 //pc.printf("%s", resp);
RITVIK_DAVE 0:84c939401c34 114 }
RITVIK_DAVE 0:84c939401c34 115
RITVIK_DAVE 0:84c939401c34 116 int main () {
RITVIK_DAVE 0:84c939401c34 117
RITVIK_DAVE 0:84c939401c34 118
RITVIK_DAVE 0:84c939401c34 119 wifi_initialize();
RITVIK_DAVE 0:84c939401c34 120
RITVIK_DAVE 0:84c939401c34 121 while (1) {
RITVIK_DAVE 0:84c939401c34 122 waterlevel = 255*pot.read();
RITVIK_DAVE 0:84c939401c34 123 pc.printf("Current waterlevel is = %.3f \r\n", waterlevel);
RITVIK_DAVE 0:84c939401c34 124
RITVIK_DAVE 0:84c939401c34 125 wifi_send();
RITVIK_DAVE 0:84c939401c34 126 wait(2);
RITVIK_DAVE 0:84c939401c34 127 }
RITVIK_DAVE 0:84c939401c34 128 }
RITVIK_DAVE 0:84c939401c34 129