文档首页> 设备接入 IoTDA> 最佳实践> 设备接入> 设备模拟器快速接入
更新时间:2024-05-24 GMT+08:00

设备模拟器快速接入

本文档以设备接入模拟器为例,介绍以MQTT原生协议接入物联网平台。此模拟器是MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。

前提条件

  • 已注册华为云官方账号。未注册可单击注册页面完成注册。
  • 已开通设备接入服务。未开通则访问设备接入服务,单击“立即使用”后开通该服务。

获取设备接入信息

在设备接入服务控制台获取设备接入平台所需的信息。

  1. 访问设备接入服务,单击“立即使用”进入设备接入控制台。
  2. 单击“立即使用”进入控制台,单击左侧导航栏的“总览”,点击“实例基本信息 - 接入信息”查看设备接入信息,记录域名和端口。

    图1 总览-获取接入信息

    针对不支持用域名接入的设备,通过在cmd命令框中执行“ping 域名”获取IP地址,用IP地址接入平台。由于IP地址不固定,您需要将IP地址做成可配置项。

创建产品

  1. 创建MQTT协议产品(如果已有MQTT协议产品,可跳过此步骤)。
  2. 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”

    图2 产品-创建产品

  3. 创建一个协议类型为MQTT协议、设备类型为StreetLamp的产品,参考页面提示填写参数后,单击“确定”。

    图3 创建产品-MQTT

注册设备

  1. 在设备接入控制台页面,选择左侧导航栏“设备 > 所有设备”,单击页面右上角的“注册设备”

    图4 所有设备-注册设备

  2. 根据页面提示信息填写参数,然后单击“确定”

    参数名称

    说明

    所属资源空间

    确保和所属产品归属在同一个资源空间。

    所属产品

    选择对应产品。

    设备标识码

    即nodeID,设备唯一物理标识。可自定义,由英文字母和数字组成。

    设备名称

    即device_name,可自定义。

    设备认证类型

    选择“密钥”

    密钥

    此处如不填写,物联网平台会自动生成。

    图5 单设备注册-MQTT

  3. 成功注册设备后,平台会自动生成设备ID和密钥,请妥善保管好设备ID(deviceId)和密钥(deviceSecret),用于设备接入。

    图6 设备-注册设备成功

使用模拟器接入

  1. 下载模拟器(默认是64位操作系统),并启动模拟器,如下图:

  2. 界面展示

    1. 模拟器提供了界面显示,填写Server地址、设备ID、设备密钥。请根据实际创建的设备信息填写。
    2. 不同的Server地址SSL加密接入时要与对应的证书文件匹配使用,证书获取请参考获取资源,需要替换certificate文件夹下的证书,如下图:

    3. 用户可以选择设备侧建链时是否为SSL加密,选择Qos方式是0还是1,当前不支持Qos2,可参考使用限制

  3. 新建连接

    设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。单击新建连接按钮,域名、设备ID和密钥正确的情况下,可以看到日志设备连接成功,可在平台查看设备状态,如下图:

    图7 设备列表-设备在线

  4. 订阅Topic

    订阅某topic的设备才能接收broker发布的关于该topic的消息,关于平台预置topic可参考Topic定义

    建链后,如果成功订阅Topic,主界面日志栏显示如下信息:

  5. 发布Topic

    发布Topic是指设备主动向平台上报自己的属性或消息,详细见设备模拟器快速接入文档。

    在模拟器中实现了上报Topic、属性上报功能。

    发布Topic后,Demo界面显示如下:

    设备上报属性成功后可在“设备详情”页面查看到上报的属性:

    图8 查看上报数据-MQTT

  6. 接收下发命令

    模拟器支持接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在控制台设备详情中对该设备进行同步命令下发。下发成功后,在MQTT的回调函数中接收到平台下发给设备的命令。

    例如下发参数名为smokeDetector: SILENCE,参数值为50的命令。

    图9 命令下发-同步命令下发

    同步命令下发成功后,Demo界面显示如下: