post sensor data to esp yun

Dependencies:   WIZnetInterface mbed

Fork of espyun by root root

Revision:
8:472cd389f3eb
Parent:
7:bda2a6a118f7
Child:
9:b5c8b5e14195
--- a/main.cpp	Wed Nov 09 09:25:49 2016 +0000
+++ b/main.cpp	Fri Nov 25 01:38:01 2016 +0000
@@ -8,15 +8,13 @@
 AnalogIn myInA1(A1);
 int socketPort = 8000;
 int httpPort = 80;
-
+char g_buffer[500];
+    
 Serial pc(PA_13,PA_14);
 
 int MallocSize = 800*sizeof(char);
-//bool socket_GET(TCPSocketConnection &conn);
 bool http_GET(TCPSocketConnection &conn);
 bool http_POST(TCPSocketConnection &conn,int vall);
-//bool socket_POST(TCPSocketConnection &conn,int vall);
-//bool closeConnect(TCPSocketConnection &conn);
 void receive_dht11();
 unsigned char receive_byte();
 void button_led();
@@ -44,7 +42,7 @@
 unsigned int  U8FLAG;
 static unsigned char num = 4;
 const char receive_module[4][5] = {"Led", "Gas", "Hum", "Temp", };
-#if 1
+
 int main() { 
     int phy_link;
     pc.printf("Wait a second...\r\n");
@@ -102,62 +100,12 @@
     pc.printf("out the program!\r\n");
     return 0;                     
 }
-#else
 
-int main() { 
-    pc.printf("Wait a second...\r\n");
-    uint8_t mac_addr[6] = {0x78, 0x08, 0xDC, 0x1c, 0xa8, 0x95}; 
-    
-    EthernetInterface eth;
-    eth.init(mac_addr); //Use DHCP
-    eth.connect();
-    pc.printf("start IP Address is %s\r\n", eth.getIPAddress());
-    eth.ethernet_link();
-    pc.printf("IP Address is %s\r\n", eth.getIPAddress());
-
-    TCPSocketConnection conn;
-    
-    
-    while(true)
-    {   
-        int ret = 0;
-        pc.printf("start http_post\r\n");
-        //ret = conn.connect("192.168.1.41", 10086);
-        ret = conn.connect("iot.espressif.cn", httpPort);
-        
-        pc.printf("connect ret=%d\n",ret);
-        ret = conn.send_all("asdfghh", 7);//http_cmd for http,pJSON for 
-        pc.printf("send ret=%d\n",ret); 
-        wait(1.0f);
-        ret = conn.close();
-        pc.printf("close ret=%d\n",ret);  
-        wait(1.0f);
-    }
-    
-           
-    eth.disconnect();
-    pc.printf("out the program!\r\n");
-    return 0;                     
-}
-
-#endif
 /*http POST*/
 bool http_POST(TCPSocketConnection &conn, int val)
 {
     pc.printf("%s():%d\n",__FUNCTION__, __LINE__);
-    //wait(0.5);
-    /*if(conn.is_connected()){
-        pc.printf("connect is already ok!\r\n");    
-    }else{pc.printf("%s():%d\n",__FUNCTION__, __LINE__);
-        if(!conn.connect("iot.espressif.cn", httpPort)) //80 for http,8000 for socket
-            pc.printf("connect OK!\r\n");
-        else{
-            pc.printf("connct ERR!\r\n");
-            out = true;
-            return false;    
-        }
-    }*///conn.connect("iot.espressif.cn", httpPort);
-    
+
     cJSON* http_post=NULL;  
     http_post = cJSON_CreateObject();    
     if(NULL == http_post)
@@ -218,19 +166,6 @@
     buffer = (char *)malloc(MallocSize);
     if(!buffer)pc.printf("malloc buffer err\r\n");
 
-    /*int ret;
-    pc.printf("6666\r\n");
-    while (true) 
-    {
-        wait(1);pc.printf("%s():%d\n",__FUNCTION__, __LINE__);
-        ret = conn.receive_all(buffer, MallocSize-1);pc.printf("%s():%d\n",__FUNCTION__, __LINE__);
-        pc.printf("ret = %d\r\n",ret);
-        if (ret <= 0) {
-            ;//break;
-        }
-        buffer[ret] = '\0';
-        pc.printf("Received %d chars from server: %s\n", ret, buffer);     
-    }*/
     pc.printf("http_POST OUT\r\n");
 
     free(pJSON_http_post);
@@ -255,37 +190,25 @@
         }
     }
     
-    char http_cmd[] = "GET /v1/datastreams/Led/datapoint/ HTTP/1.1\r\nUser-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3\r\n"\
+    const char http_cmd[] = "GET /v1/datastreams/Led/datapoint/ HTTP/1.1\r\nUser-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3\r\n"\
                       "Host:iot.espressif.cn\r\nAccept: */*\r\nAuthorization: token b1e92cf17fe4482647924941949ab2b07ffab548\r\n\r\n";
     
     conn.send_all(http_cmd, strlen(http_cmd));//http_cmd for http,pJSON for socket,should be three changes
     pc.printf("%s\r\n",http_cmd);
     
-    //char *buffer = NULL;
-    //buffer = (char *)malloc(MallocSize);
-    //if(!buffer)pc.printf("malloc buffer err\r\n");
-    char buffer[500];
     int ret;
 
     while (true) {
         wait(1);
-        ret = conn.receive(buffer, 500-1);
+        ret = conn.receive(g_buffer, 500-1);
         pc.printf("ret = %d\r\n",ret);
         if (ret <= 0) {
             break;
         }
-        buffer[ret] = '\0';
-        pc.printf("Received %d chars from server: %s\n", ret, buffer);     
+        g_buffer[ret] = '\0';
+        pc.printf("Received %d chars from server: %s\n", ret, g_buffer);     
     }
     pc.printf("http_GET OUT\r\n");
-    /* 
-    if(conn.close()){
-        pc.printf("conn.close OK\r\n");    
-    }else{
-        pc.printf("conn.close ERR\r\n");    
-    }
-    */
-    //free(buffer);
     return true;
 }
 
@@ -345,12 +268,6 @@
             check=num_check;
         }
     }
-    
-    //pc.printf("humidity [H] -out--%d\r\n", RH);
-    //pc.printf("humidity [L] -out--%d\r\n", RL);
-    //pc.printf("temperature [H] -out--%d\r\n", TH);
-    //pc.printf("temperature [L] -out--%d\r\n", TL);
-    
     receive_dht11Timeout.attach(&receive_dht11,0.2f);
 }