ESP8266——OneNet的GET指令及C语言代码 Posted on 2018-01-26 | Post modified: 2019-10-16 | In IoT Words count in article: 354 | Reading time ≈ 2 GET指令的HTTP数据报文 1234GET /devices/你的设备号/datastreams/你的数据流名称 HTTP/1.1\r\nHost: api.heclouds.com\r\napi-key: 你的apikey\r\n\r\n 我更改了ESP8266的波特率,改成了4800的; 1AT+UART=4800,8,1,0,0\r\n //更改esp8266的波特率 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 #include "reg52.h" typedef unsigned int uint; typedef unsigned char uchar;#define DATASIZE 110sbit LED = P2^0;uchar datalen = 0;uchar value;uchar cnt = 0;uchar recbuffer[DATASIZE]; void Delay600ms() //@12.000MHz{ unsigned char i, j, k; i = 5; j = 144; k = 71; do { do { while (--k); } while (--j); } while (--i);} void UsartInit(void) { SCON = 0x50; TMOD = 0x20; PCON = 0x80; TH1 = 0xF3; TL1 = 0xF3; ES = 1; EA = 1; TR1 = 1;}void SendUart(uchar value) { ES = 0; SBUF = value; while(!TI); TI = 0; ES = 1;}void SendString(uchar *str) { while(*str != '\0') { SendUart(*str); str++; } }void wificonnection() { SendString("AT\r\n"); //SendString("AT+CWMODE=1\r\n"); //SendString("AT+RST"); SendString("AT+CWJAP=\"****\",\"******\"\r\n"); Delay600ms(); Delay600ms(); }void TCPconnection() { SendString("AT+CIPMUX=0\r\n"); Delay600ms(); Delay600ms(); SendString("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n"); Delay600ms(); Delay600ms(); SendString("AT+CIPMODE=1\r\n"); Delay600ms(); Delay600ms(); SendString("AT+CIPSEND\r\n"); Delay600ms(); Delay600ms();}void check() { SendString("GET /devices/******/datastreams/*** HTTP/1.1\r\n"); SendString("Host: api.heclouds.com\r\n"); SendString("api-key: ********************\r\n\r\n"); Delay600ms(); }void main() { UsartInit(); wificonnection(); TCPconnection(); while(1) { check(); Delay600ms(); if(value == '1') LED = 0; else if(value == '0') LED = 1; } } void Usart() interrupt 4 { uchar rec; if(RI != 0) { rec = SBUF; RI = 0; } if(rec == '{') cnt = 1; if(cnt == 1) { if(rec != '}') { recbuffer[datalen++] = rec; } else { cnt = 0; value = recbuffer[datalen - 1]; //SendString(recbuffer); //SendString("\r\n"); //SendUart(value); //SendString("\r\nok\r\n"); datalen = 0; } }} ------ 本文结束 ------