技术标签: mqtt如何判断设备离线 mqtt 串口 mqtt调试助手 mqtt调试工具 华为云平台 mqtt profile 文件 stm32连接阿里云mqtt
点击上方蓝色字体,关注我们
1
硬件基础
最近调测移柯L620 NB-IoT模组, 特申请调测L620开发板(L620_ EVB),其专门为评估和测试L620模块而设计的,用于帮助开发人员进行开发、调试、测试L620模块。下图及其标注显示了L620开发板的主要功能。
L620是一款封装小,性能稳定可靠,LCC封装的NB-IoT模块,支持3GPP R13/R14规范下涵盖的低频/中频/高频全频段运作。L620的尺寸仅为17.6*15.8*2.3mm,可以满足客户对小尺寸模块产品的需求,同时方便客户减小产品尺寸并优化产品成本;采用的LCC封装可通过标准的SMT设备实现模块的快速生产,使其特别适用于各种IoT产品和设备中。
其特性如下:
1
云端部署
第1步:登录中国移动OneNet官网,注册账号。
填写注册信息。
OneNET提供企业认证、个人认证两种认证方式,注册账号完成后,用户可以可以根据实际需要选择一种方式进行认证,不同的认证等级具有不同的资源使用权限。
第2步:进入开发者中心,基于MQTT协议,创建物联网产品,这里使用旧版的MQTT协议,在多协议接入中(为什么不使用最新的MQTT物联网套件服务?臣妾没调通啊!,后期追更)。
填写产品信息,从这里开始,请各位小伙伴仔细参照云端的开发文档,理解相关的配置属性,即使官网的文档可读性真的差劲。
添加产品成功。
第3步:创建产品下的设备,准备创建两个设备。
创建设备:Sub_Node,鉴权信息为:1234。
创建设备:Pub_Node,鉴权信息为:5678。
创建成功后为离线状态,可以查看其详细信息。
NB-IoT云端通信将会使用到的核心参数。
全部创建完成后,可以查看产品概况信息。
1
软件调测
使用OneNet平台提供的调测软件进行测试。
下载完成后,查看打开MQTT软件,软件具体说明如下:
要想理解深刻,请一定、一定要读开发文档,举个例子,服务器IP、端口是多少?开发文档中有明确说明。
订阅、发布测试
第1步:打开MQTT调测软件,分别创建:Sub_Node和Pub_Node两个模拟设备应用。
第2步:Sub_Node虚拟设备开启设备订阅Topic,Pub_Node虚拟设备开启设备发布Topic,实现Pub_Node虚拟设备发布Topic后,Sub_Node虚拟设备可以订阅接收到Topic。
此时可以在Sub_Node虚拟设备的收到的Topic中查看到Pub_Node虚拟设备发送的Topic数据。
由说明文档可知,可自定义创建Topic,Topic名字,只能由英文,下划线,反斜杠组成,最长1024个字符,同一产品下topic name不重复,每个产品最多100个Topic。
设备通过发送HTTP请求进行topic的创建操作;
平台收到请求后创建topic并返回结果。
请求及响应定义如下:
订阅过程解析如下: 说明文档中对订阅和取消订阅也进行了说明,具体如下所示。
设备发起订阅请求.(报文格式参考4.9);
平台收到请求后更新topic列表;
平台给设备回复SubAck. (报文格式参考4.10);
注:subscribe的request qos级别可以为0、1、2。
取消订阅过程解析如下:
设备发起取消订阅请求. (报文格式参考4.11);
平台收到请求后更新topic列表;
平台给设备回复UnSubAck. (报文格式参考4.12)。
OneNet平台指令接收调测
随便关闭其中一个MQTT虚拟设备,保留一个可以实现下述操作,这里我保留Sub_Node虚拟设备。
在OneNet更多操作中点击下发命令。
这里我下发字符串类型数据。
在虚拟设备中可以查看到下发的数据。
可以对下发的数据进行响应回复。
如何得到Tocpic的呢 ,请参考相关手册,这里不再赘述,有疑问的小伙伴可以下方留言交流。
OneNet平台上传数据点
上传数据点有7种数据类型和3种Qos级别,具体方式参见说明文档。
这里我使用第3种数据类型上传数据点,Qos级别默认为0,也就是设备发布Qos0消息(上报数据点),平台收到上报数据点后保存起来。数据流会自动创建sensor节点,并保存数值。
4
L620模组调测
订阅、发布测试
第1步:打开串口调试助手,查看模组的入网配置信息,指令如下:
AT+CEREG? //检查网络状态+CEREG: 0,2OKCT-Self Register: Have already registered!AT+CESQ //检查信号质量+CESQ: 34,0,255,255,26,58OKAT*MBAND? //查看频道*MBAND: 5OKAT+CIICR //启动与NB-IoT网络的无线连接OK+IP: 10.214.60.155
第2步:网络配置无误后,与OneNet平台建立MQTT连接,这里使用OneNet平台上的Sub_Node节点完成下述操作。
AT+EMQNEW="183.230.40.39","6002",12000,2000 //建立新的MQTT连接
+EMQNEW: 0OK
指令解析如下:
AT+EMQCON=0,4,"571461182",1000,0,0,"296803","1234" //发送MQTT连接包OK
指令解析如下:
建立连接成功后可以看到云端设备是在线状态。
第3步:建立Topic订阅,订阅Topic为”pub_topic“的消息,指令如下所示:
AT+EMQSUB=0,"pub_topic",1 //Topic订阅OK
指令解析如下:
第4步:建立Topic发布,发布Topic为”pub_topic“的消息(字符串、十六进制转换在线工具),指令如下所示:
AT+EMQPUB=0,"pub_topic",0,0,0,22,"68656c6c6f20776f726c64" //Topic发布,发送hello world的十六进制OK
指令解析如下:
数据点订阅、发布
之前使用MQTT工具上传数据点,云端会自动在相应的设备中建立该数据点,接下来使用OneNet平台数据流模板创建数据点,并简要讲解其的使用。
第1步:添加数据流模板。
基于数据流模板创建的数据点是公共的,此时可以看到设备Sub_Node和Pub_Node均有sensor_1122数据点。
第2步:订阅数据点,指令如下所示:
AT+EMQSUB=0,"/571461182/sensor",1 //数据点订阅OK
"/571461182/sensor"参数参照说明文档,具体如下所示:
第3步:若修改数据点数值原理以及操作和发布一致,指令如下所示:
AT+EMQPUB=0,"$dp",1,0,0,42,"0300127b2273656e736f725f31313232223a38387d" //发送数据点{
"sensor_1122":88}OK
Sub_Node设备下的sensor_1122数据点效果如下所示:
这条指令较为复杂,具体解析如下:
数据点的Topic为 ”$dp“,参照说明手册,具体如下:
长度为42,后面的数据为字符串类型,每一位都是一个字符长度,共42位:"0300127b2273656e736f725f31313232223a38387d"
"0300127b2273656e736f725f31313232223a38387d" 代表含义参照下表,我使用的是数据类型3上传数据点,03代表数据点类型为第3种;0012代表后面数据字符的长度,后面的数据都是十六进制共18个,转换为十六进制是12,低位数据足够装载,故0012(转换为十六进制由于AT+EMQPUB指令只可以发十六进制,参照该指令说明);7b2273656e736f725f31313232223a38387d是{"sensor_1122":88}字符串的十六进制。
移远BC20模组使用LwM2M协议接入华为IoT平台
移远BC95使用CoAP协议接入华为IoT平台
AI人脸识别身份认证系统(4)—人脸识别
文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...
文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档
文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子
文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud
文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换
文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装
文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者
文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be and th_normalized plane coordinates
文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取
文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面
文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思
文章浏览阅读240次。conan简单使用。_apt install conan