Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: WIZnetInterface mbed
Fork of espyun by
Diff: main.cpp
- 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);
}
