IoT Hub 测试

IoT Hub 参考手册见 https://support.huaweicloud.com/iothub/index.html

IoT Hub 注册

注册 IoT Hub 之前,必须先注册华为云,并完成实名认证。认证完毕以后,访问 IoT平台基础版(IoT Hub),由页面引导注册。

image_1d6dpn9jb10v91lig6lab01v1h9.png-160.1kB
image_1d6dpn9jb10v91lig6lab01v1h9.png-160.1kB

注册完毕后,进入 IoT Hub 产品首页,点击“立即使用”,此时会提示平台的各种接入信息,需要记录下来:

image_1d6dq3pq61e8ceejbd4ql18eim.png-181.9kB
image_1d6dq3pq61e8ceejbd4ql18eim.png-181.9kB

点击“进入管理门户”即可以进入 IoT Hub 管理控制台。以后我们可以使用系统分配给我们的用户名和密码直接从 IoT Hub 管理控制台 入口登陆。

平台使用

平台使用的流程很简单,就如下图所示,先创建应用,然后创建产品模型,最后分两条线,一条线完成设备相关的开发和调试,另一条线完成应用的开发和调试。

image_1d6dqkoail1u12mr18q61e5k25h13.png-10kB
image_1d6dqkoail1u12mr18q61e5k25h13.png-10kB

创建应用和创建产品的操作,均是手动在 IoT Hub 管理控制台中完成。IoT Hub 只支持创建一个应用,可以参考 开发文档 操作,也可以随便创建:

image_1d6dsk49q3ci1n741310u7j147n5b.png-66.1kB
image_1d6dsk49q3ci1n741310u7j147n5b.png-66.1kB

产品模型也是,也可以参考 开发文档 来操作,也可以随便创建:

image_1d6dr1d6v12nk1g6c1hf22166m51t.png-64.5kB
image_1d6dr1d6v12nk1g6c1hf22166m51t.png-64.5kB

应用接入

使用应用模拟器模拟登陆,完成应用接入。应用模拟器是一个 Java 程序,基于 JDK1.8,因此事先需要安装 JDK1.8。JDK1.8 可以从 这里 下载,安装完 JDK 后,可以参考 这篇文章 配置 Java 环境变量。

JDK 环境安装配置完成后,可以从 这里 下载应用模拟器。模拟器运行后的界面如下。如果看不到输入框,把程序最大化即可。

image_1d6ds3d7r1aom1ourfspq3d16334.png-12.7kB
image_1d6ds3d7r1aom1ourfspq3d16334.png-12.7kB
属性 备注
Platform IP 49.4.80.153 上面记录的
Port 8743 上面记录的
App ID yIdtfm1fQ9uE2Jlk48zw708tf7Qa 管理控制台进入应用列表,为“应用ID”字段的值
App Secret urAOb19X7mX0ajvfTyXvwuZHIIEa 系统自动生成的秘钥,如忘记可重置

注:登陆过程调用了 OceanConnect 的 北向鉴权 API,该 API 的输入参数包括 appIdsecret

登陆成功以后进入模拟器主界面:

image_1d6ds5e8a1h2ujb6muqa7nfb74u.png-102.4kB
image_1d6ds5e8a1h2ujb6muqa7nfb74u.png-102.4kB

注册设备

注册设备有两种方式,一种是直接在管理控制台里面操作,另外一种是调用北向 API。这里肯定是尝试调用 API:

image_1d6drirhp1iptk0e1e2stcd12dr2a.png-156.2kB
image_1d6drirhp1iptk0e1e2stcd12dr2a.png-156.2kB
属性 备注
Product ID 3a6e739b-28db-4e8e-83cc-b20c8b6d6896 从管理控制台进入产品模型,查看产品模型的“产品ID”字段
Node ID TESTxxx 需要构造一个全网唯一的号,作为设备的唯一标识
pre Secret 111111 随便填,跟随设备的预置密钥,作为DTLS安全鉴权码

注:设备注册过程调用了 OceanConnect 的 注册直连设备 API,该 API 的必选参数为 nodeId

该设备注册成功后,将在“设备->所有设备”列表中显示出来。注意此时的这个设备,是我们虚拟的,目前还并不存在其实体。

image_1d6dt1e1tji3hblchs47419u95r.png-78.9kB
image_1d6dt1e1tji3hblchs47419u95r.png-78.9kB

设备接入

根据设备接入物联网平台的协议类型,划分为两种场景:

  • 使用CoAP或LWM2M协议接入:在此场景下,设备可以通过集成NB-IoT模组实现与物联网平台的对接。在快速入门中,以CoAP设备模拟器(点击获取)为例进行说明。

  • 使用MQTT/MQTTS协议接入:在此场景下,设备可以通过集成Agent Lite SDK实现与物联网平台的对接。在快速入门中,以MQTT设备模拟器(点击获取)为例进行说明。

因为上面创建的产品模型使用的是 CoAP 协议,因此下载 CoAP 模拟器。打开CoAP协议模拟器,根据提示,选择是否开启DTLS加密传输。

image_1d6dtllb311g717ru883b9bcsf7l.png-5.1kB
image_1d6dtllb311g717ru883b9bcsf7l.png-5.1kB

如果选择“是”,则需要在模拟设备接入时,填写“IP地址”、“设备标识码”、“设备密钥”。“IP地址”在IoT平台管理控制台查看(类型:设备对接信息,协议:coaps),“设备标识码”和“设备密钥”在注册设备时设置。

如果选择“否”,则需要在模拟设备接入时,填写“IP地址”、“设备标识码”。“IP地址”在IoT平台管理控制台查看(类型:设备对接信息,协议:coap),“设备标识码”在注册设备时设置。(注:按钮上写的是“注册设备”,实则这个设备之前已经注册过了。现在的操作实际上是设备接入 OceanConnect)

image_1d6dtvaqpckb1via1l10sh31lr682.png-30.1kB
image_1d6dtvaqpckb1via1l10sh31lr682.png-30.1kB

登录管理门户,选择“设备->所有设备”,查看设备状态是否已经转换为“在线”。

注:MQTT 设备接入,可以参考 在线文档

数据上报

设备接入物联网平台后,可以向物联网平台上报数据。通过物联网平台的设备影子功能,可以查看设备最近一次上报的数据。

打开 CoAP 协议模拟器,在“数据”区域填写上报的数据,点击“发送数据”:

image_1d6evo8e6hsfnrfrr11gis44q9.png-94kB
image_1d6evo8e6hsfnrfrr11gis44q9.png-94kB

登录管理门户,选择“设备->所有设备”,在“设备影子”中查看CoAP设备模拟器上报的数据。

image_1d6evrq041pou11rh17kg1rcg1pfd16.png-63.9kB
image_1d6evrq041pou11rh17kg1rcg1pfd16.png-63.9kB

注1:因为 OceanConnect 并不知道上报数据的格式,因此显示出来就是一个 RawData 类型,其值也不是我们上传的数字。

注2:MQTT 设备上报数据,可以参考 在线文档

推荐阅读更多精彩内容