标题: W806物联网通讯教程一(W806+ESP8266+DHT11+Onenet) [打印本页]
作者: qzc0927 时间: 2021-11-11 13:49
标题: W806物联网通讯教程一(W806+ESP8266+DHT11+Onenet)
这段时间工作比较忙,两周没写文章了,这次分享是使用W806开发板,通过ESP8266将温湿度数据上传到Onenet,ESP8266这个模块比较大众,本身也支持openmcu,这里主要是是使用AT固件,跟单片进行进行通讯,因为使用AT指令的应用比较多,所以实验下W806开发板和ESP8266的通讯。
1:硬件环境准备W806开发板:
DHT11温湿度模块:
WIFI模块ESP8266:
杜邦线若干:
2:软件环境开发2.1:温湿度信息获取如何驱动dht11温湿度模块,请查看下面这篇具体的文章,公众号上有讲。
2.2:AT指令通讯ESP8266的通讯指令有很多,我说下具体需要用到的几条命令。发送AT命令的时候,需要注意换行。
下面具体说下几条要用到的AT指令:
2.3.1:AT应答指令2.3.2:关闭回显2.3.3:查看软件版本2.3.4:设置工作模式
2.3.5:加入热点2.3.6:连接Onenet服务器2.3.7:设置透传数据2.3.8:准备发送数据2.3.9:将温湿度数据上传在串口发送框下,发送自己的信息数据。
具体代码实现:
void esp8266_atcmd_queue(void)
{
uint8_t ret;
char send_buf[512]={0};
char data_len[32]={0};
char data_buf[]="{\"datastreams\":[{\"id\":\"temp\",\"datapoints\":[{\"value\":22}]},{\"id\":\"humi\",\"datapoints\":[{\"value\":65}]}]}";
//发送AT应答
if (sendCommand("AT\r\n", "OK\r\n", 3000, 5) == 0);
else print_Error_Code(1);
Delay_ms(100);
//关闭回显
if (sendCommand("ATE0\r\n", "OK\r\n", 3000, 5) == 0);
else print_Error_Code(2);
Delay_ms(100);
if (sendCommand("AT+CWJAP=\"替换你自己的WIFI热点名\",\"替换你自己的wifi密码\"\r\n", "OK\r\n",3000, 5)==0);
else print_Error_Code(4);
Delay_ms(100);
if (sendCommand("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n", "CONNECT", 10000, 5)==0);
else print_Error_Code(5);
Delay_ms(100);
if (sendCommand("AT+CIPMODE=1\r\n", "OK\r\n", 3000, 10)==0);
else print_Error_Code(6);
Delay_ms(10);
if (sendCommand("AT+CIPSEND\r\n", ">", 3000, 10)==0);
else print_Error_Code(7);
Delay_ms(10);
strcpy(send_buf, "POST /devices/替换你自己的onenet的设备号/datapoints HTTP/1.1");
strcat(send_buf, "\r\n");
strcat(send_buf, "api-key:替换你子的密钥");
strcat(send_buf, "\r\n");
strcat(send_buf, "Host:api.");
strcat(send_buf, "\r\n");
sprintf(data_len,"Content-Length:%d",strlen(data_buf));
strcat(send_buf, data_len);
strcat(send_buf, "\r\n");
strcat(send_buf, data_buf);
if (sendCommand(send_buf, "succ", 3000, 10)== 0)
{
memset(send_buf, 0, sizeof(send_buf));//清缓存数据
printf("send_data_ok\r\n");
}
}3:Onenet环境配置3.1:登录Onenet平台https://open.iot.10086.cn/console/
3.2:进入产品https://open.iot.10086.cn/develop/global/product/#/public?protocol=3&other=1
3.3:选择http协议Onenet里面协议有很多,我这里选择http协议来进行说明。
3.4:创建产品添加产品信息如下:
创建完成之后,查看产品页面。
进入设备列表,进行添加设备,完成如下:
3.5:获取API和密钥,代码编写要用到跟代码里面的信息要一一对应。
4:物联网数据上传就是将获取到的温湿度数据进行上传,你也可以添加自己的驱动数据上传。
5:实验现象查看设备里面的数据流信息,数据已经上传,双11这一天。
温度历史数据:
湿度历史数据:
实物图:
视频地址:
https://www.bilibili.com/video/BV19h411t73F?share_source=copy_web
作者: liuliangdt 时间: 2021-11-13 00:23
楼主你好!我昨天也买了一块一样的W806芯片开发板,打开CDK后傻眼了。纯英语软件没几个认识的单词,折腾了一下午也没把W806芯片工程建好。你能不能用CDK软件从零开始建一个能顺利编译W806芯片的空工程结构教程?教程要尽量详细,步骤要连续清晰。现在网上我还没找到W806芯片从零步骤开始建工程的教程,做好了以后就是零基础入门教程了,为后人在造轮子。
作者: hhdsdy 时间: 2021-11-13 00:50
哈哈,还好我当初忍住诱惑没买,多花一点钱买ESP32模块自己做小系统板,用Arduino还是很方便的
作者: michaelchain 时间: 2021-11-29 02:53
这种能看懂么
https://github.com/IOsetting/wm-sdk-w806/blob/main/README.cn.md
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |