找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10541|回复: 3
打印 上一主题 下一主题
收起左侧

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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:91471 发表于 2021-11-13 00:23 | 只看该作者
楼主你好!我昨天也买了一块一样的W806芯片开发板,打开CDK后傻眼了。纯英语软件没几个认识的单词,折腾了一下午也没把W806芯片工程建好。你能不能用CDK软件从零开始建一个能顺利编译W806芯片的空工程结构教程?教程要尽量详细,步骤要连续清晰。现在网上我还没找到W806芯片从零步骤开始建工程的教程,做好了以后就是零基础入门教程了,为后人在造轮子。
回复

使用道具 举报

板凳
ID:88256 发表于 2021-11-13 00:50 | 只看该作者
liuliangdt 发表于 2021-11-13 00:23
楼主你好!我昨天也买了一块一样的W806芯片开发板,打开CDK后傻眼了。纯英语软件没几个认识的单词,折腾了 ...

哈哈,还好我当初忍住诱惑没买,多花一点钱买ESP32模块自己做小系统板,用Arduino还是很方便的
回复

使用道具 举报

地板
ID:912806 发表于 2021-11-29 02:53 | 只看该作者
liuliangdt 发表于 2021-11-13 00:23
楼主你好!我昨天也买了一块一样的W806芯片开发板,打开CDK后傻眼了。纯英语软件没几个认识的单词,折腾了 ...

这种能看懂么
https://github.com/IOsetting/wm-sdk-w806/blob/main/README.cn.md
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表