当前位置:   article > 正文

8266与onenet平台进行数据交互(基于MQTT协议)(附源码)_onenet esp8266 mqtt light

onenet esp8266 mqtt light

(时间有限,我就不解释代码的各个函数了,直接上手怎么操作,使用代码,代码在文末)

运行环境:AiThinker_IDE(Eclipse c/c++)

串口助手:AiThinker Serial Tool V1.2.3

烧录工具:ESPFlashDownloadTool_v3.6.3

一、设计目标

        1.esp8266通过mqtt协议接入onenet平台

        2.对传感器数据进行上传并在平台显示

        3.对接收的命令进行分析

二、平台创建产品和设备

 1.打开onenet官方网站OneNET - 中国移动物联网开放平台 (10086.cn)登陆注册

  2.打开控制台选择多协议接入

  3.点击添加产品,协议选择MQTT,其他任意

  4.点击添加设备,鉴权信息自行设置

 

 三、硬件代码

        1.根据自己的实际开发板准备相关硬件(TTL转USB等)

        2. 使用官方的SDK:ESP8266_NONOS_SDK-2.2.1

        3.官方SDK中有mqtt例程代码,将其复制到根目录下

 

        4.打开sep_mqtt_proj/include/mqtt_config.h修改以下参数

  1. #define MQTT_HOST "183.230.40.39" // MQTT服务端域名,无需更改
  2. #define MQTT_PORT 6002 // 网络连接端口号,无需更改
  3. #define MQTT_CLIENT_ID "904206359" // 更改为自己设备的"Device_ID"
  4. #define MQTT_USER "491119" // 更改为设备ID
  5. #define MQTT_PASS "******" // 更改为你自己设置的设备鉴权信息
  6. #define STA_SSID "Redmi" // WIFI名称
  7. #define STA_PASS "11111111" // WIFI密码

        5.*注意

        user_main中函数mqttConnectedCb 为mqtt连接成功时  订阅一个主题,发布一个数据点,根据自己的实际需求进行修改

  1. void mqttConnectedCb(uint32_t *args)
  2. {
  3. MQTT_Client* client = (MQTT_Client*)args; // 获取mqttClient指针
  4. INFO("MQTT: Connected\r\n");
  5. MQTT_Subscribe(client, "thingspanel.telemetry4444", 0); // 订阅主题"thingspanel.telemetry",QoS=0
  6. Humi_pubMQTTmsg(16,client);//上传数据点
  7. }

         6.*上传数据节点格式

        这一部分是最应该注意的,一定要去文档查看onenet的官方对mqtt协议的报文格式设定,代码里我已经写好的处理的函数

 下面是对数据格式处理的函数

  1. void pubMQTTmsg(uint32_t data,MQTT_Client* client){
  2. os_sprintf(tmp,"{\"data\":%d}",data);
  3. uint16_t streamLen= strlen(tmp);
  4. d[0]='\x03';
  5. d[1] = (streamLen >> 8);
  6. d[2] = (streamLen & 0xFF);
  7. os_sprintf(msg,"%c%c%c%s",d[0],d[1],d[2],tmp);
  8. MQTT_Publish(client, "$dp", (uint8_t*)msg, streamLen+3, 0, 0);
  9. }

四、编译烧录

        1.打开烧录软件,选择8266,选择生成的bin文件,分别烧录到对应地址

 

         2.复位开发板查看结果

打开onenet控制台,点击设备详情中的数据流可以看到数据点已经上传成功 !

使用平台进行命令的下发

 

查看串口调试助手中的输出日志,可以看到命令接收成功!

 五、项目源码

 源代码已经上传到百度网盘,如有错误欢迎各位指出,如果有问题也欢迎各位留言。

链接:https://pan.baidu.com/s/1PJgNgn2LG7cupx3-YucWDg 
提取码:p2vu 
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/754639
推荐阅读
相关标签
  

闽ICP备14008679号