热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

移远EC20模组MQTT连接阿里云平台

移远EC20模组MQTT连接阿里云平台,Go语言社区,Golang程序员人脉社

一.实现原理
在开始操作前说一下MQTT的实现的原理,MQTT协议(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,是为大量计算能力有限,且工作在低带宽,不可靠的网络的远程传感器和控制设备通讯而设计的协议
利用MQTT协议是一种基于二进制消息的发布/订阅编程模式的消息协议,下面的应用程序先在阿里云IoT平台订阅(Subscribe)一个Topic成功,然后自己向该Topic做发布(Publish)动作,阿里云IoT平台收到之后,就会原样推送回这个应用程序,因为该程序之前已经通过订阅(Subscribe)动作成为该Topic的一个接收者,发布到这个Topic上的任何消息,都会被推送到已订阅该Topic的所有终端上

二.注册登陆阿里云账户
https://www.aliyun.com/
1.产品->物联网->物联网设备接入,点击进入
在这里插入图片描述
2.进入管理控制台
在这里插入图片描述
如果没有开通阿里云物联网平台的,需要先开通一下,免费的。

三.创建产品和设备
1.登录物联网平台控制。
2.创建产品。
左侧导航栏选择设备管理 -> 产品。在产品管理页面,单击创建产品。
在这里插入图片描述
单击完成。产品将自动出现在产品列表中。
3.创建设备。
左侧导航栏选中设备管理 > 设备,进入设备管理页面。
单击添加设备。选中上一步创建的产品,输入设备名称(DeviceName),设置设备备注名,单击完成。
在这里插入图片描述
记录设备证书内容。设备证书包含ProductKey、DeviceName和DeviceSecret。设备证书是设备后续与物联网平台交流的重要凭证。

四.设备上阿里云
此处用到的调试工具是串口调试助手,网上很多这种工具。

1.AT+CGATT? //查询附着和分离GPRS业务,返回+CGATT:1附着状态,返回+CGATT:0分离状态
2.AT+CREG? //查询网络注册信息,返回+CREG:0,1成功注册上网络,返回+CREG:0,2正在注册,返回+CREG:0,5处于漫游状态
3.AT+CSQ //信号质量查询
在这里插入图片描述
与MQTT有关的AT指令
移远官方文档网址:
https://download.csdn.net/download/qq_42908042/11445459
4.AT+QMTCFG="recv/mode",0,0,1 //配置为接受模式
5.AT+QMTCFG="aliauth","0","ProductKey","DeviceName","DeviceSecret" //配置阿里云上的设备信息
6. AT+QMTOPEN=0,"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 //为MQTT客户机打开网络

在这里插入图片描述
7.AT+QMTCOnN=0,"DeviceName" //连接MQTT服务器
在这里插入图片描述
此时,阿里云物联网平台的设备已经连接上
注:返回+QMTCONN:0,0,0才成功,返回其他参数则重复4,5,6步
在这里插入图片描述
8.AT+QMTSUB=0,1,"/a10hC2CWMGC/device1/user/get",0 //订阅服务器主题
在这里插入图片描述
主题地址查看方式:点击设备旁的查看,进入Topic列表
在这里插入图片描述
服务器端发布消息到EC20,点击发布消息
在这里插入图片描述
EC20模组收到消息
在这里插入图片描述
9.

AT+QMTPUBEX=0,0,0,0,"/sys/a10hC2CWMGC/device1/thing/event/property/post",51   //发布消息到阿里云服务器

在这里插入图片描述
在这里插入图片描述
我看移远的官方文档发现设备发布消息使用的是AT+QMTPUBEX,而不是AT+QMTPUB,本人也试过AT+QMTPUB,发现确实出现问题。AT+QMTPUBEX最后一个参数是数据的长度,可以自己使用函数strlen()去查看自己的数据长度是多少。
在这里插入图片描述
接下来输入自己的数据
在这里插入图片描述
现在讲一下数据哪里来,格式是什么样
点击产品->查看设备对应的产品->功能定义->添加功能
也可以自定义功能,一定要记住标识符,这是数据能否上场成功的一个关键要素。
在这里插入图片描述

这里数据的格式是JSON格式,但是发现EC20模组发送数据内容中不能包含双引号。而JSON格式里的字符串是用双引号隔开的,后面发现干脆不用双引号阿里云就能解析成功。
此时设备上的数据已经成功上传到阿里云
在这里插入图片描述


推荐阅读
author-avatar
feify_fei512_478
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有