The code uploads analog value to a local phant server running on local network. Make sure to change the IP address to the server IP address. Use the link to dload phant. https://nodejs.org/en/ Run "npm -g install phant" in CMD admin mode. Type "phant" in CMD admin panel to start server.

Dependencies:   ESP8266 mbed

Files at this revision

API Documentation at this revision

Comitter:
janhavi
Date:
Mon May 23 08:56:08 2016 +0000
Commit message:
Local Phant data logging with wifi module 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 May 23 08:56:08 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/quevedo/code/ESP8266/#77388e8f0697
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon May 23 08:56:08 2016 +0000
@@ -0,0 +1,101 @@
+#include "mbed.h"
+#include "ESP8266.h"
+ 
+Serial pc(USBTX,USBRX);
+AnalogIn inputPin(A2); // 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.15"
+ 
+float val = 0; // value to holed the high/low info from pir from pin D2
+int cnt = 0; // counter for motion
+
+char* Public_Key = "jDYlpAdrebHwAaPBmMB8UDaVxmay";
+char* Private_Key = "wydQD8njzwh7m2eZ5YZLUMbrPnb2";
+
+/************ WiFi INTIALIZATION *********/
+ 
+void wifi_initialize(void);
+void wifi_send(void);
+ 
+int main () {
+    
+
+ wifi_initialize();
+    while (1) {
+       
+   val = inputPin.read();
+   pc.printf(" The Sensor is ON And I Detected = %i Till NOW\r\n",cnt);
+   pc.printf("PLEASE STAY AWAY\r\n");
+    pc.printf("Sending WiFi information\n\r");
+    wifi_send();
+   wait(4);
+   cnt++;
+          }
+    }
+    
+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 THINGSPEAK server 
+  wifi.SendCMD(snd);
+  //pc.printf(snd);
+  wifi.RcvReply(rcv, 3000);
+  pc.printf("%s", rcv);
+ 
+  sprintf(http_cmd,"GET /input/%s?private_key=%s&f=%0.2f&t=%0.2f HTTP/1.0\n\n",Public_Key,Private_Key,val,val); //Post values to thingspeak
+  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&f=%0.2f&t=%0.2f HTTP/1.0\n\n",Public_Key,Private_Key,val,val); //Post values to thingspeak
+  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 May 23 08:56:08 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/7c328cabac7e
\ No newline at end of file