我是靠谱客的博主 机智电话,最近开发中收集的这篇文章主要介绍8266与onenet平台进行数据交互(基于MQTT协议)(附源码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

运行环境: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修改以下参数

#define MQTT_HOST			"183.230.40.39" // MQTT服务端域名,无需更改	
#define MQTT_PORT       	6002    		// 网络连接端口号,无需更改		
#define MQTT_CLIENT_ID   	"904206359"	// 更改为自己设备的"Device_ID"		
#define MQTT_USER        	"491119" 			// 更改为设备ID				
#define MQTT_PASS        	"******" 	// 更改为你自己设置的设备鉴权信息			

#define STA_SSID 			"Redmi"    	// WIFI名称					
#define STA_PASS 			"11111111" 	// WIFI密码					

        5.*注意

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

void mqttConnectedCb(uint32_t *args)
{
    MQTT_Client* client = (MQTT_Client*)args;	// 获取mqttClient指针
    INFO("MQTT: Connectedrn");
    MQTT_Subscribe(client, "thingspanel.telemetry4444", 0);	// 订阅主题"thingspanel.telemetry",QoS=0

	Humi_pubMQTTmsg(16,client);//上传数据点

}

         6.*上传数据节点格式

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

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

void pubMQTTmsg(uint32_t data,MQTT_Client* client){
   os_sprintf(tmp,"{"data":%d}",data);
   uint16_t streamLen= strlen(tmp);

   d[0]='x03';
   d[1] = (streamLen >> 8);
   d[2] = (streamLen & 0xFF);
   os_sprintf(msg,"%c%c%c%s",d[0],d[1],d[2],tmp);

   MQTT_Publish(client, "$dp", (uint8_t*)msg, streamLen+3, 0, 0);

}

四、编译烧录

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

 

         2.复位开发板查看结果

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

使用平台进行命令的下发

 

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

 五、项目源码

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

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

最后

以上就是机智电话为你收集整理的8266与onenet平台进行数据交互(基于MQTT协议)(附源码)的全部内容,希望文章能够帮你解决8266与onenet平台进行数据交互(基于MQTT协议)(附源码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部