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

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

3天内不再提示

Lierda NB860+云平台让万物互联更简单

物联网观察 来源:物联网观察 作者:物联网观察 2022-06-13 16:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

  本文将描述如何使用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示例流程

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

  Lierda X平台操作流程


  ※ 用户注册

  1、访问https://account.xiot.senthink.com/login,点击注册按钮,进入注册页面

  2、填写注册信息,完成注册

  3、完成信息认证,开通物联网平台

图1 注册页面

  ※ 设备接入前准备事项

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

  1、在平台提供的管理后台注册一个硬件厂商账号,云平台会为该账号分配一个厂商的唯一标识OpenID;

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

  3、设备接入利尔达IoT基础服务平台之前,必须要将基础参数烧录进设备。

  *至此,接入前的准备工作完成!

  ※ 注册,创建产品设备

  前提条件:已在利尔达IoT基础服务平台注册账号。

图2 产品创建页面

  步骤1:创建产品

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

  2、在云平台页面,找到产品管理,单击产品管理进入产品详情页面。在中间导航栏,选择创建产品,单击创建产品,如下图所示。

图3 产品创建

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

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

  2、在产品管理页面,找到对应的产品,单击产品进入产品详情页面。

  3、在产品页面,找到需要自定义Topic类的产品,并单击对应操作栏中的查看按钮。

  4、在产品详情页面,单击Topic类详情 > 自定义Topic > 定义Topic类。

  5、配置参数,单击确认。

图4 新建topic

  步骤3:创建设备

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

  2、在左侧导航栏,选择设备管理 > 设备列表。

  3、在设备页面,单击添加设备。

  4、在添加设备对话框中,输入设备信息,单击确认。

图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可在设备详情页查看。

  示例: 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域中包含的内容及说明如下所示:

  平台收到入网请求后,根据当前产品类型是免注册还是预注册,重新计算 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 定义为平台回复设备的入网请求的响应码。

  响应码定义如下表所示:

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

  设备成功入网后,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"}

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

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

审核编辑:符乾江

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

    关注

    1

    文章

    1532

    浏览量

    41666
  • 利尔达
    +关注

    关注

    1

    文章

    271

    浏览量

    10473
  • NB-IoT
    +关注

    关注

    414

    文章

    1453

    浏览量

    188691
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MediaTek芯片打造万物智联的基石

    作为无晶圆厂半导体设计公司,MediaTek 每年为大量设备提供芯片,包括手机、电脑、平板、汽车及物联网产品等。先进的芯片技术,为万物智能互联世界搭建起坚实的基础。
    的头像 发表于 11-07 15:18 456次阅读

    5G与6G:从“万物互联“到“智能无界“的跨越

    的深刻变革。它们之间究竟有哪些关键差异?这些差异又将如何改变我们的生活?让我们一起揭开这场通信革命的面纱。 5G:万物互联的基石 5G(第五代移动通信技术)是继4G之后的下一代移动通信技术,它为我们的生活
    发表于 10-10 13:59

    华为携手共赢万物互联的智能时代

    9月20日,在华为全联接大会2025(HUAWEI CONNECT 2025)上,华为常务董事汪涛在主题演讲中表示,面向万物互联的智能时代,华为坚持“创新引领,开源开放,共创智能世界生态新选择
    的头像 发表于 09-20 15:54 1480次阅读

    低代码联网平台是什么?看完这篇,你就领先一步

    联网技术快速渗透各行各业的今天,低代码联网平台正成为打通设备互联、数据分析与业务应用的核心载体。它并非
    的头像 发表于 08-14 15:16 540次阅读

    零代码 + 零成本:联网低代码平台普通人玩转 “万物互联

    如今,免编程、零成本的IoT联网平台正在打破技术壁垒,普通用户无需代码基础,就能通过拖拽、配置等简单操作搭建场景化应用。这种“平民化”的技术赋能,不仅降低了
    的头像 发表于 08-08 17:43 474次阅读

    联网平台解决方案:破解行业痛点,赋能场景落地

    的精准种植,从城市的智能交通到家庭的安防监控,联网平台解决方案正在用技术破解各领域的效率瓶颈。解决方案的核心价值,在于将碎片化的设备数据转化为可执行的决策依据,
    的头像 发表于 08-08 17:43 997次阅读

    联网平台的作用有哪些?万物互联

    、城市管理、民生服务等诸多领域的运作模式。 一、设备互联的“翻译官”:打破异构设备的通信壁垒 联网的核心是“万物互联”,但现实中设备的多样性和协议的碎片化,使得“连接”成为首要难题。
    的头像 发表于 08-07 18:00 776次阅读

    IoT平台解决方案中,联网平台有哪些核心功能?

    万物互联的时代,联网设备数量呈爆炸式增长。据权威机构预测,全球活跃的联网设备数量将在2025年突破300亿大关。在这片数字洪流之中,
    的头像 发表于 08-06 16:22 578次阅读

    从功能到优势:联网低代码平台智能应用开发变简单

    万物互联的时代,联网平台早已不是技术人员专属的“专业工具”,而是成为普通人也能轻松上手的“智能应用搭建平台”。核心价值在于打破设备壁垒、
    的头像 发表于 08-01 17:09 751次阅读

    华为携手产业伙伴共赢万物智联新时代未来

    ,IoT与AI融合共生智能无处不在、无所不达。他进一步在发言中表示“实现万物智联需要具备三大关键要素:全场景物联,所有对象可连接;全超宽网络,所有数据联
    的头像 发表于 06-23 16:53 878次阅读

    IoT无线组网模块,万物互联的底层通信基石

    随着联网(IoT)技术在“快车道”上持续飞驰,一场“交互革命”正在人们的日常出行与工作学习等生活场景中加速爆发。从智能家居到智慧城市,从智慧交通到工业自动化,联网(IoT)技术凭借着万物
    的头像 发表于 05-09 09:51 1171次阅读
    IoT无线组网模块,<b class='flag-5'>万物</b><b class='flag-5'>互联</b>的底层通信基石

    火山引擎2025“大模型+智能硬件”机智特邀研讨会圆满收官 共绘万物智能产业蓝图

    4月19日下午,由机智与字节跳动旗下火山引擎联合主办的「擎启大模型:从万物互联万物智能——2025大模型+智能硬件特邀研讨会」,在深圳湾字节跳动公司圆满举行。这场聚焦AIoT行业智
    的头像 发表于 04-24 11:10 1200次阅读
    火山引擎2025“大模型+智能硬件”机智<b class='flag-5'>云</b>特邀研讨会圆满收官 共绘<b class='flag-5'>万物</b>智能产业蓝图

    麻了!6440万物联网智慧路灯,我会……

    麻了!6440万物联网智慧路灯,我会……
    的头像 发表于 04-10 08:43 564次阅读
    麻了!6440<b class='flag-5'>万物</b>联网智慧路灯,我会……

    DeepSeek加持,宇视科技升级发布“万物X”全链路智能引擎

    近日,宇视继去年在全行业率先推出“万物搜”后,基于AIoT行业大模型-“梧桐”多模态大模型技术底座,再度重磅升级发布「万物X」,大模型能力价值落地广泛真实场景。 「万物X」以梧桐大模
    的头像 发表于 03-13 15:36 968次阅读

    万物相连通讯:共绘万物互联蓝图

    陈立同先生,探讨无线通讯技术领域的创新发展之路。随着无线互联网通讯技术的飞速发展,万物互联的愿景正在逐步变为现实。从繁忙的工业生产线到日常生活的细微之处,无线互联
    的头像 发表于 01-15 11:00 955次阅读
    <b class='flag-5'>万物</b>相连通讯:共绘<b class='flag-5'>万物</b><b class='flag-5'>互联</b>蓝图