ESP8266, FRDM K64F, Thingspeak

Dependencies:   mbed ESP8266

Files at this revision

API Documentation at this revision

Comitter:
SIT2016
Date:
Mon Jun 06 11:45:26 2016 +0000
Child:
1:2012c31aee1b
Commit message:
Uploading POT value to local phant server using ESP8266;

Changed in this revision

ESP8266.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ESP8266.lib	Mon Jun 06 11:45:26 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/quevedo/code/ESP8266/#77388e8f0697
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jun 06 11:45:26 2016 +0000
@@ -0,0 +1,97 @@
+#include "mbed.h"
+#include "ESP8266.h"
+ 
+Serial pc(USBTX,USBRX);
+AnalogIn pot(PTB0); // pir senor input
+ESP8266 wifi(PTE0, PTE1, 115200); // baud rate for wifi
+char snd[255],rcv[1000];
+char http_cmd[300];
+ 
+//#define IP "data.sparkfun.com" 
+//#define IP "184.106.153.149"
+#define IP "192.168.0.39"
+ 
+float val = 0; //global variable
+
+char* Public_Key = "Xb3ovW3grvIMo31jd8p0HmPEba3O";
+char* Private_Key = "LPZe7qZLg7t0NnWbYD2XHrmB2AMq";
+
+/************ WiFi INTIALIZATION *********/
+ 
+void wifi_initialize(void);
+void wifi_send(void);
+ 
+int main () {
+    
+
+ wifi_initialize();
+ 
+    while (1) {
+       
+    val = pot.read();
+    pc.printf("\r\nPotentiometer value=%.3f \r\n", val);
+    pc.printf("Sending WiFi information\n\r");
+    wifi_send();
+    wait(4);
+    }
+}
+    
+void wifi_initialize(){
+    
+    pc.baud(9600);   
+    pc.printf("SET mode to AP\r\n");
+    wifi.SetMode(1);    // set ESP mode to 1
+    wifi.RcvReply(rcv, 1000);    //receive a response from ESP
+    pc.printf("%s",rcv);    //Print the response onscreen
+    pc.printf("Conneting to AP\r\n");
+    wifi.Join("Eduvance_WiFi", "eduvance");     // Your wifi username & Password 
+    wifi.RcvReply(rcv, 1000);    //receive a response from ESP
+    pc.printf("%s", rcv);    //Print the response onscreen
+    wait(8);     //waits for response from ESP
+    pc.printf("Getting IP\r\n");    //get IP addresss from the connected AP
+    wifi.GetIP(rcv);    //receive an IP address from the AP
+    pc.printf("%s", rcv);
+    wait(5); // Delay 5 sec to give the pir time to get snapshut of the surrounding
+    pc.printf("Initializing WiFi\r\n"); 
+}
+
+void wifi_send(void){
+
+    strcpy(snd,"AT+CIPMODE=0");//Setting WiFi into MultiChannel mode
+    wifi.SendCMD(snd);
+    //pc.printf(snd);
+    wifi.RcvReply(rcv, 3000);
+    pc.printf("%s", rcv);
+    
+    //WIFI updates the Status to Thingspeak servers//
+    strcpy(snd,"AT+CIPMUX=1");//Setting WiFi into MultiChannel mode
+    wifi.SendCMD(snd);
+    //pc.printf(snd);
+    wifi.RcvReply(rcv, 3000);
+    pc.printf("%s", rcv);
+    
+    sprintf(snd,"AT+CIPSTART=4,\"TCP\",\"%s\",8080",IP); //Initiate connection with server
+    wifi.SendCMD(snd);
+    //pc.printf(snd);
+    wifi.RcvReply(rcv, 3000);
+    pc.printf("%s", rcv);
+    
+    sprintf(http_cmd,"GET /input/%s?private_key=%s&val=%0.2f HTTP/1.0\n\n",Public_Key,Private_Key,val); //Post values 
+    pc.printf("%d",strlen(http_cmd));
+    strcpy(snd,"AT+CIPSEND=4,105");    //Send Number of open connections,Characters to send 
+    wifi.SendCMD(snd);
+    //pc.printf(snd);
+    wifi.RcvReply(rcv, 3000);
+    pc.printf("%s", rcv);
+    
+    sprintf(snd,"GET /input/%s?private_key=%s&val=%0.2f HTTP/1.0\n\n",Public_Key,Private_Key,val); //Post values 
+    strcpy(snd, http_cmd);
+    pc.printf("%s",http_cmd);
+    wifi.SendCMD(http_cmd);
+    wifi.RcvReply(rcv, 3000);
+    pc.printf("%s", rcv);
+    
+    //wifi.SendCMD("AT+CIPCLOSE"); //Close the connection to server
+    //wifi.RcvReply(rcv, 3000);
+    //pc.printf("%s", rcv);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Jun 06 11:45:26 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file