0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Lierda云管端协作让万物互联更简单(一)

利尔达科技集团 来源:利尔达科技集团 作者:利尔达科技集团 2022-04-02 17:28 次阅读

随着物联网行业的快速发展,涌现出越来越多物联网云服务平台。如何快速实现应用开发,如何管理,如何让设备快速上云,成为关注的焦点。

本文将描述如何使用NB860系列模组通过MQTT指令快速接入利尔达IoT基础服务平台,并介绍两者数据交互操作流程,详细的AT交互流程可以帮助用户或开发人员尽快完成相关的应用开发。

所需产品

本次接入的利尔达IoT基础服务平台是我司自主研发的云平台,为设备提供安全可靠的连接管理能力,整合物联网产业链上下游,向下连接智能设备,向上承接物联网应用,形成端到云完整链路物联网解决方案,赋能企业各类IOT场景接入。

另外用到的利尔达NB860/MB960/MB260系列模组是基于5G NB-IoT芯片自主开发的第三代NB-IoT模组。该款模组集高性价比、高安全性和低功耗等优点于一身,新增蓝牙、OpenCPU、GNSS定位等能力,为智能表计、智能烟感、智能停车、智慧路灯等百万级成熟NB-IoT应用提供了更优选择。

利尔达NB860/MB960/MB260系列模组支持TCP/UDP、MQTT、LwM2M等多种协议接入云平台,为行业应用开发提供了更多的可能性。今天文章第一期将为大家介绍利尔达NB860模组基于MQTT协议快速接入利尔达IoT基础服务平台,实现数据交互。

快速上云设备端完整AT示例流程

//配置服务器IP及域名

AT+MQTTCFG="host",0,"mqtt.xiot.senthink.com",1883

OK

//配置客户端标识

AT+MQTTCFG="clientid",0,"B6E092A55031428493AF6AAD6D694AD5"

OK

//连接服务器

[11:31:16.270]发→◇AT+MQTTCONN=0,0,0,"5D6A3E7E-35884709-865186050012583","6387E4120EDD5A214F9A07D4BD2FB051"

+MQTTCONNACK: 0,0,0

OK

//订阅MQTT消息AT+MQTTSUB=0,1,"/sys/5D6A3E7E/35884709/865186050012583/downlink",1

+MQTTSUBACK: 0,1,0

OK

//设备请求入网

AT+MQTTPUB=0,1,0,0,"/sys/device/join","{"MessageId": 1231,"HeaderCtrl": 2,"Mode": 1,"Nonce": 123,"Payload": {"OpenID": "5D6A3E7E", "ProductID": "35884709","NodeEui": "865186050012583","ClientID": "B6E092A55031428493AF6AAD6D694AD5", "Type": 2,"Sign": "1fb6a0da"}}"

[11:40:42.489]收←◆+MQTTPUBACK: 0,1,0

OK

//收到服务器下发数据

+MQTTRECV: 0,3,1,0,/sys/5D6A3E7E/35884709/865186050012583/downlink,{"HeaderCtrl":2,"Mode":1,"Nonce":14,"Payload":{"Code":0,"SessionID":"75FC7DC3"},"MessageId":1231}

//上发设备端数据AT+MQTTPUB=0,1,0,0,"/sys/5D6A3E7E/35884709/865186050012583/uplink","{ "MessageId" : 1231,"HeaderCtrl":4,"Mode":1,"Nonce":10,"Payload":"CB96395F5065FD121D88B1593EFE"}"+MQTTPUBACK: 0,1,0

OK

//收到服务器下发数据

+MQTTRECV: 0,4,1,0,/sys/5D6A3E7E/35884709/865186050012583/downlink,{"MessageId":1231,"HeaderCtrl":4,"Code":"200","Msg":"SUCCESS"}

+MQTTRECV: 0,5,1,0,/sys/5D6A3E7E/35884709/865186050012583/downlink,{"HeaderCtrl":7,"Mode":0,"Nonce":48,"Payload":"wwdwdwd","MessageId":751504437}

pYYBAGJIFmSATDuuAACDYSEZ2Xs885.png

如上图所示,示例流程展示了设备在配置及连接后进行收发数据的调试操作,在实际应用开发中通过开发MCU代码适配参数,即可完成了订阅推送(应用APP/Web)前所有开发工作,下文将以上步骤给大家做详细讲解。

Lierda X平台操作流程

※ 用户注册

1.访问https://account.xiot.senthink.com/login,点击注册按钮,进入注册页面2.填写注册信息,完成注册3.完成信息认证,开通物联网平台

poYBAGJIFm2APeuxAACvM6vn590283.png

图1 注册页面

※ 设备接入前准备事项

设备在接入利尔达IoT基础服务平台之前,需要先完成下事项:

1.在平台提供的管理后台注册一个硬件厂商账号,云平台会为该账号分配一个厂商的唯一标识OpenID;2.注册厂商账号后,需要在平台提供的管理后台上创建一个产品类,云平台会为该产品分配一个产品的唯一标识 ProductID 以及产品的密钥 ProductKey(用于入网加密以及会话 Key 的更新,注意保密!);3.设备接入

利尔达IoT基础服务平台

之前,必须要将基础参数烧录进设备。*至此,接入前的准备工作完成!

※ 注册,创建产品设备

提条件:

已在利尔达IoT基础服务平台注册账号。

poYBAGJIFneAfooaAACTpSvlHdE783.png

图2 产品创建页面

步骤1:创建产品

1.登录物联网平台控制台2.在云平台页面,找到产品管理,单击产品管理进入产品详情页面。在中间导航栏,选择创建产品,单击创建产品,如下图所示。

poYBAGJIFoCAGNRvAACTNCj8h3s923.png

图3 产品创建

步骤2:设置物模型、topic消息等,添加自定义Topic

1.登录物联网平台控制台。2.在产品管理页面,找到对应的产品,单击产品进入产品详情页面。3.在产品页面,找到需要自定义Topic类的产品,并单击对应操作栏中的查看按钮。4、在产品详情页面,单击Topic类详情 > 自定义Topic > 定义Topic类。5、配置参数,单击确认。

poYBAGJIFoaAWgKtAADZ26xhp44178.png

图4 新建topic

步骤3:创建设备

1、登录物联网平台控制台。

2、在左侧导航栏,选择设备管理>设备列表。3、在设备页面,单击添加设备。4、在添加设备对话框中,输入设备信息,单击确认。

pYYBAGJIFpCAeenxAACpecirV4w420.png

图5 设备创建

执行结果

设备注册成功后,将自动弹出设备证书弹框。您可以查看、一键复制设备证书信息,包含DeviceID、DeviceSecret、OpenID、ProductID和ProductKey,是设备与物联网平台进行通信的重要身份认证,建议您妥善保管。

后续步骤

1.在设备列表页,单击对应设备,进入设备详情页。您可以查看设备证书信息、数据加密密钥、继承产品的基础信息、禁用/启用设备、设备状态、激活时间、最后在线/离线时间等。2.在设备详情页,可对设备在线调试、远程配置和日志分析。3.在设备列表页,可以删除不再使用的设备。删除设备不可撤回,请谨慎操作。

至此,平台侧操作已全部完成。

※ 设备侧操作

上电检查流程

1.AT //判断模组是否上电开机成功2.AT+CFUN=1 //关闭飞行模式3.AT+CEREG? //判断PS域附着状态,第二个参数为1或5表示附着正常。

设置服务端IP或域名

使用AT+MQTTCFG="host",0,"host_name",1883命令设置服务端IP或域名。其中,:服务端的IP或域名:1~2000字节字符串。LierdaX平台MQTT接入默认域名为:mqtt.xiot.senthink.com,1883。

示例

AT+MQTTCFG="host",0,"mqtt.xiot.senthink.com",1883

设置客户端标识

使用AT+MQTTCFG="clientid",,命令设置客户端标识连接ID:取值0~2。客户端标识符:字符串类型,1~128字节字符串。贤芯平台clientid可在设备详情页查看。

poYBAGJIFqOAHYa2AABBiVlfuSk834.png

示例

AT+MQTTCFG="clientid",0,"ACF37***************EA9F3582"

连接服务端

使用AT+MQTTCONN=,,,,命令连接服务端,在收到+MQTTCONNACK: 0,0,0 OK即已经成功连接上平台。连接ID:取值0~2。 SSL TCP连接使能:0:不采用;1:采用SSL TCP连接。will_flag 遗嘱标志,取值0或1:0:不带遗嘱;1:CONNECT报文带有遗嘱。用户名:0~512字节的字符串。密码:0~512字节的字符串。注:贤芯平台登录账号以及密码在创建设备时自动生成,可在设备详情页查看。

示例

AT+MQTTCONN=0,0,0,"5*******-********-8************3","7*******************AB2C2"


订阅MQTT消息

使用AT+MQTTSUB=,,,[,,]

[,,]命令订阅消息,已经订阅成功的消息可在平台上的设备topic列表查看。

< Link_ID >连接ID:取值0~2。

报文标识符:取值1~65535。

主题名:0~512字节字符串。一次最多可订阅3个主题。

订阅消息QOS等级:取值0~2。

示例

AT+MQTTSUB=0,1,"/sys/5********/*********/86**********83/downlink",1

收←◆

+MQTTSUBACK: 0,1,0

OK


设备请求入网(Join)

设备上报的通用入网 Topic:/sys/device/join

设备在进行正式的数据通信之前,必须先向 IoT 平台请求入网。设备应主动与 IoT 平台建立 TCP Socket 链接。在成功建立链接后,设备必须向平台发送请求入网数据帧,以让平台为设备分配通信资源;否则平台将拒绝与设备进行通信。

请求入网数据帧使用的 Command 为 2;数据帧格式和内容如下所示:

{ "MessageId" : 1231,

"HeaderCtrl":2, //命令码

"Mode":0, //0:不加密, 1:加密

"Nonce":10, //1-128随机数

"Payload":{

"OpenID":"E0C040B1",

"ProductID":"A4BC6002",

"NodeEui":"....", //设备标识

"ClientID":"....", //认证后返回的 ClientID "Type":0, //0:一型一密免注册,1:一型一密预注册,2:一机一密预注册

"Sign":"FE448731"

}

}

设备向 IoT 平台发起的入网请求数据帧中包含了Payload域,用于携带额外的信息。Payload域中包含的内容及说明如下所示:

poYBAGJIFriAT4slAACsPgNBQWA807.png

平台收到入网请求后,根据当前产品类型是免注册还是预注册,重新计算 Sign 并与设备上报的 Sign 值进行对比,不同类型设备的 Sign 计算规则详见2.4小节。

平台收到设备的入网请求数据帧并成功认证设备身份后,会为该设备分配通信资源,然后使用同样的Command(2)响应设备。IoT平台返回Topic :/sys/{openId}/{productId}/{deviceId}/downlink,响应设备入网请求的数据如下:

{ "HeaderCtrl":2, //命令码

"MessageId" : 1231,

"Mode":0, //0:不加密, 1:加密

"Nonce":10, //1-128随机数

"Payload":{

"Code":0,

"SessionID":"4655434B"

}

}

Join指令的 Code 说明:对于设备请求入网指令(Join),Code 定义为平台回复设备的入网请求的响应码。

响应码定义如下表所示:

poYBAGJIFsaAdgfUAACq_PrLtX4424.png

如果设备发送了入网请求,等待超时后没有收到平台的任何回复,则有可能是网络问题导致数据丢失,建议检查网络并重试。只有响应码(Code)值为0的时候,响应数据中的 Payload 中所携带的 SessionID 才是 IoT 平台分配的有效的 SessionID:

poYBAGJIFtCAfvmZAAAxKcFNrKs461.png

设备成功入网后,IoT平台返回了 SessionID。设备需要使用入网安全密钥ProductKey和本次回复中的随机数Nonce来计算生成后续与 IoT平台进行通信过程中用于加密用户应用数据的密钥(SessionKey),计算方法如下描述(伪代码):

加密方式:AES128_ECB_PKCS5Padding SessionKey = ENCRYPT( ProductKey , SessionID + Nonce);

示例

ProductKey :A0 1A 24 79 67 25 73 DF 84 53 7D F4 C7 3D 3F CC

SessionID:46 55 43 4B

Nonce(123):7B

则拼接结果为:46 55 43 4B 7B 加密运算结果为:40 8C 79 0F 85 BF 60 E6 D4 F1 C1 3C 6A 5C 4C 8B SessionKey = 408C790F85BF60E6D4F1C13C6A5C4C8B

如果使用非加密模式进行应用数据的传输,则可以忽略此步骤,即不需要计算 SessionKey 的值。

特别注意:设备的入网请求数据如果设置了Mode 为1,则平台会在设备心跳和设备数据上行时检查设备的SessionKey是否过期,如果平台监测到设备的SessionKey过期,则会主动更新设备SessionKey并下发给设备;如果入网请求数据设置了 Mode 位为0,则平台不会检查设备的 SessionKey 是否过期。

入网sing值计算请参考文档《Lierda_NB860&MB960&MB260_Application_Notes_MQTT对接Lierda X平台》

备注

设备每次与 IoT 平台建立新的 MQTT 链接后(首次连接或者断线重连),都必须向平台重新请求入网,否则平台将拒绝与设备进行通信。


数据交互

通过AT+MQTTPUB=,,,,,命令向平台发布消息。

连接ID:取值0~2。

报文标识符:取值1~65535。

发布消息QOS等级:取值0~2。

保留标志:取值0~1。

主题名:0~512字节字符串。

有效载荷:0~1500字节字符串。

示例

AT+MQTTPUB=0,1,0,0,"/sys/5********/*********/86**********83/uplink","{ "MessageId" :

1231,"HeaderCtrl":4,"Mode":1,"Nonce":10,"Payload":"CB963****************EFE"}"

[11:06:12.040]收←◆

[11:06:12.060]收←◆

+MQTTPUBACK: 0,1,0

OK

[11:06:13.680]收←◆

+MQTTRECV:0,8,1,0,/sys/5********/*********/86**********83/downlink,{"MessageId":1231,"HeaderCtrl":4,"Code":"200","Msg":"SUCCESS"}

+MQTTRECV:0,9,1,0,/sys/5********/*********/86**********83/uplink_ack,{"MessageId":1231,"HeaderCtrl":4,"Code":"200","Msg":"SUCCESS"}

设备上报数据可在运行日志中查看;下发透传数据可在在线调试中实现。

poYBAGJIFueAZC9pAAH7CrI6fUg531.png

至此,我们已完成基于MQTT协议的端(Lierda NB860模组)到云(Lierda X平台)对接并实现数据交互功能。下一期我们将介绍NB860模组配合X平台进行云云对接快速上云,敬请期待。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云平台
    +关注

    关注

    1

    文章

    1266

    浏览量

    38830
  • MQTT
    +关注

    关注

    5

    文章

    647

    浏览量

    22392
收藏 人收藏

    评论

    相关推荐

    大华股份与万物签署战略合作协议

    近日,大华股份与万物空间科技服务股份有限公司(以下简称“万物”)签署战略合作协议。双方将重点围绕园区安全、服务生态合作,尤其在弱电智能化服务、居家安全服务、人力外包服务、园区消防远
    的头像 发表于 10-31 15:26 235次阅读

    华盛昌携手我的万物集培训圆满落幕

    2024年10月19日下午,场别开生面的培训与活动启动仪式在我的万物集(以下简称“万物集”)总部召开。此次活动旨在通过线上线下相结合的方式,为我的万物集的销售团队提供更为专业的配电柜
    的头像 发表于 10-27 15:00 235次阅读

    智联万物 共创鸿蒙|芯海科技赋能OpenHarmony统互联

    10月12-13日,“第三届OpenHarmony技术大会”在上海世博中心盛大开幕。作为国内开源操作系统届的年度盛事,本次大会以“技术引领筑生态万物智联创未来”为主题,汇聚了全球众多开源操作系统技术
    的头像 发表于 10-13 08:05 245次阅读
    智联<b class='flag-5'>万物</b> 共创鸿蒙|芯海科技赋能OpenHarmony统<b class='flag-5'>一</b><b class='flag-5'>互联</b>

    IP地址与5G时代的万物互联

    准确地找到彼此并进行数据交换。没有IP地址,万物互联将无从谈起。IP地址在5G时代的重要性不言而喻。 IP地址与5G时代的万物互联 方面,
    的头像 发表于 09-27 09:56 258次阅读
    IP地址与5G时代的<b class='flag-5'>万物</b><b class='flag-5'>互联</b>

    万物互联“卷”起来,存储器件如何引领未来?

    2024 第二十二届国际联网展今天在深圳盛大开幕,AI、计算以及智能联 2.0 等前沿科技再次汇聚于此,成为业界瞩目的焦点。在这个万物皆可互联
    发表于 08-28 11:13 706次阅读
    <b class='flag-5'>万物</b><b class='flag-5'>互联</b>“卷”起来,存储器件如何引领未来?

    深开鸿王成录:万物智联,开源打开未来新想象

    (OpenHarmony)是面向万物互联时代的操作系统,将会对各行各业的数字化与智能化转型带来哪些新想象?王成录:当前,我们正处于万物智联的时代,“人与人”相连转变为“人与人
    的头像 发表于 07-13 08:33 382次阅读
    深开鸿王成录:<b class='flag-5'>万物</b>智联,开源打开未来新想象

    芯闻速递 | HDC2024:海思携手OpenHarmony,共启万物智联新篇章

    芯垂直整合、丰富生态应等多个维度,为鸿蒙统生态带来极致流畅、高效无缝的体验,为开发者带来进入鸿蒙生态的多品类开发平台,共启万物智联新篇章。 海思5+2产品生态解决方案 全速推进鸿蒙生态构建 从万物
    的头像 发表于 06-23 13:03 893次阅读
    芯闻速递 | HDC2024:海思携手OpenHarmony,共启<b class='flag-5'>万物</b>智联新篇章

    中国安徽蚌埠传感谷:为万物创造“五官”

    中国安徽蚌埠传感谷:为万物创造“五官”
    的头像 发表于 06-19 18:05 786次阅读
    中国安徽蚌埠传感谷:为<b class='flag-5'>万物</b>创造“五官”

    隔空微电子:uA级60G雷达SoC芯片,万物感知简单万物联接智能

    电子发烧友网报道(文/李宁远)2024年5月17日,由中国半导体行业协会集成电路设计分会和芯原微电子(上海)股份有限公司主办的“第十四届松山湖中国IC创新高峰论坛”在东莞松山湖举办。隔空微电子(深圳)有限公司销售副总裁张珍伟在论坛上介绍了全球首款uA级超低功耗的60G毫米波雷达SoC系列芯片AT60LF。
    的头像 发表于 05-17 15:36 1072次阅读
    隔空微电子:uA级60G雷达SoC芯片,<b class='flag-5'>让</b><b class='flag-5'>万物</b>感知<b class='flag-5'>更</b><b class='flag-5'>简单</b>,<b class='flag-5'>让</b><b class='flag-5'>万物</b>联接<b class='flag-5'>更</b>智能

    联网+uwb定位:打通万物互联最后0.1米

    互联网时代进入联网时代?百科词条里对于“联网”的描述如下:联网(IoT,Internetofthings)即“万物相连的
    的头像 发表于 05-13 12:04 1030次阅读
    <b class='flag-5'>物</b>联网+uwb定位:打通<b class='flag-5'>万物</b><b class='flag-5'>互联</b>最后0.1米

    以创新技术驱动万物智联,“Tuya Developer Day”引航CES 2024新潮流

    如何构建安全、可持续的万物智联世界。【涂鸦智能展厅】涂鸦智能延续CES2024“AIITogether,AIIOn”的主基调,以“AllTogether,All
    的头像 发表于 01-13 08:15 599次阅读
    以创新技术驱动<b class='flag-5'>万物</b>智联,“Tuya Developer Day”引航CES 2024新潮流

    力控元申ThingNet联中枢平台中的“模型”

    万物互联的时代,需要对接不同厂商的设备,由于缺乏统标准,协议开发重复且难以规模化。海量设备数据解析困难,缺乏结构化处理,使得数据价值难以挖掘。联网产业链内部复杂,包括模组、芯片、
    的头像 发表于 01-11 14:15 809次阅读
    力控元申ThingNet<b class='flag-5'>物</b>联中枢平台中的“<b class='flag-5'>物</b>模型”

    万物生 | 良信 · 集智 Magic Link Power品鉴会圆满收官

    12月20日,“智万物生” 良信 · 集智 Magic Link Power品鉴会在上海隆重举行,百余位嘉宾们欢聚堂,共同探讨智能配电发展趋势与前景,展望未来新蓝图,共同见证行业的新里程碑
    的头像 发表于 12-28 15:11 368次阅读
    智<b class='flag-5'>云</b>起 <b class='flag-5'>万物</b>生 | 良信 · 集智 Magic Link Power品鉴会圆满收官

    万物互联时代,Wi-Fi如何解决多设备信道拥堵问题?

    的智能设备提出了更高的信号传输要求。而作为Wi-Fi 6的核心技术,OFDMA与MU-MIMO的出现,问题得以解决。并且在Wi-Fi 7中,MLO与MRU技术的出现,万物
    的头像 发表于 12-11 01:17 3172次阅读

    万物传感科技两款创新产品荣获优秀产品奖

    近日,深圳万物传感科技有限公司在深圳高交会上大放异彩。
    的头像 发表于 11-22 09:10 631次阅读