华为云IoT物联网平台快速入门 您所在的位置:网站首页 华为云平台部署价格 华为云IoT物联网平台快速入门

华为云IoT物联网平台快速入门

2024-06-04 16:05| 来源: 网络整理| 查看: 265

一、导读

听说华为云IoT物联网平台很好用,今天带大家一起来体验一下。

以 设备接入模拟器 为例,本文将使用MQTT原生协议设备接入华为云IoT物联网平台,并通过MQTT客户端模拟器,快速验证是否可以与华为云IoT物联网平台服务交互、发布和订阅消息。

image.png

二、设备接入

首先,访问华为云官网:https://www.huaweicloud.com/

选择 产品 选项卡,切换到 IoT物联网 页面,点击 设备接入IoTDA(安全可靠接入海量设备) 服务模块

image.png

2.1 购买服务

设备接入服务的主页为:https://www.huaweicloud.com/product/iothub.html

华为云的设备接入服务可以提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力

image.png

点击 价格计算器,可以看到华为云贴心的为 中小微企业 提供了 免费单元S0,它支持1000台设备同时在线,最大消息上下行10TPS,同时每日消息数上限为1万条

image.png

了解了产品价格后,我们回到产品主页,点击红色的 免费试用 按钮,免费试用S0单元。

image.png

填入以下信息

实例名称(必填):实例的唯一ID 标签:对于拥有大量云资源的用户,可以通过给云资源打标签,快速查找具有某标签的云资源 示例描述:用来描述你这个实例的具体功能

image.png

填写完成后,点击 立即创建 按钮,即可完成实例的创建,并会自动跳转到 IoTDA 实例页面。

可以看到当前实例是 基础版(原共享实例)

实例描述如下:针对小型企业客户场景,设备并发性能要求较低

image.png

image.png

2.2 创建产品

在设备接入页面左侧,点击 产品 按钮,来到产品功能页面。

可以看到华为云对产品的定义是:在物联网平台中,某一类具有相同能力或特征的设备的合集被称为一款产品。

image.png

点击红色的 创建产品 按钮,填写以下内容

产品名称:设备接入测试 协议类型: mqtt(默认) 数据格式: json(默认) 设备类型: 标准类型(默认) 设备类型:电热水器(设备类型选好后,会自动为你填写行业和其子行业)

image.png

如果你觉得这些类型都不符合你的产品,还可以切换到 自定义类型,来创建更为符合您应用场景的产品

image.png

点击 确定 后,产品创建成功。它会弹出一个产品创建成功的提示对话框,同时 底部的产品列表 中也会出现该条产品的记录

image.png

在对话框中点击 查看详情,可以看到这个产品的模型定义、插件开发、在线调试、Topic 管理 等功能

image.png

image.png

2.3 自定义模型 2.3.1 添加服务

产品页面往下拉,可以看到 模型定义 的二级页面

image.png

华为云有对产品模型做出定义,具体解释如下

产品模型用于描述设备具备的能力和特性,平台提供多种方式定义产品模型; 如果没有定义产品模型,设备上报数据时平台仅直接转发,不做解析

因此,我们需要点击“自定义模型”按钮,添加服务。填入如下信息即可

服务ID 服务类型 服务描述

image.png

点击确定后,服务创建成功

image.png

2.3.2 新增属性

下面为该服务添加一个属性。点击中央的 新增属性 按钮,输入如下信息

属性名称 属性描述 数据类型 访问权限 取值范围 步长 单位

image.png

至此,服务已创建成功

image.png

2.3.3 添加命令

点击添加命令 按钮,给命令起一个名字

image.png

新增请求参数,和前面填写的温度一样即可

image.png

响应参数设置为布尔值,来标识修改是否成功

image.png

2.4 注册设备

在设备接入页面,展开 设备 选项卡,点击 所有设备,默认展示的就是如下设备列表

image.png

按实际情况天下如下信息 (注意:不能使用中文标点符号)

image.png

输入密码,点击确定后,就会为你创建一个出一个新设备了

注意:这里显示的设备ID,是产品ID + 下划线 + 设备ID

image.png

可以看到这里设备已经创建好了,但是还未激活

image.png

点击 详情 按钮,可以看到设备具体的描述信息

image.png

未激活旁边有个问号,点它,可以看到未激活的具体定义(这点做的还是很不错的),如下

未激活:已在平台上完成设备注册但真实设备还未接入平台。请根据设备初始化操作完成设备的接入

image.png

点击 复制 按钮,复制设备ID,后面需要用到

661bc67d7bdccc0126d132db_abcdefghijklmnopqrstuvwxyz

image.png

2.5 调试设备 2.5.1 创建虚拟设备用于调试

切换到产品选项卡,进入我们刚刚创建的产品。然后切换到在线调试页面

image.png

点击新增测试设备按钮,设备类型切换成虚拟设备

image.png

点击确定,虚拟设备创建成功

image.png

我这里创建了一台虚拟设备、一台真实设备,用于调试。在虚拟设备这行,点击操作列的调试按钮,进入在线调试页面。

image.png

在该页面设置:服务、命令、参数后,下拉页面到最下,点击发送。这里可以看到,应用模拟器 通过 IoT平台 将指令下发给了 设备模拟器,日志记录如图

image.png

点击IoT平台右上角的消息条数,可以展开消息跟踪面板,在这里可以看到平台收发的整个消息流

image.png

也可以在左侧切换到监控运维选项卡,点击消息跟踪按钮,查看更详细的业务流转情况

image.png

2.5.2 真实设备需要用模拟器调试

回到设备列表页面,点击对应设备操作栏下面的 调试 按钮,进入在线调试页面

image.png

这里设备还是未激活状态,点击右上角的选择设备

image.png

选中前面创建的热水器设备(从旁边的黄色字来看,可以得知:这是一个真实设备),点击确定按钮

image.png

依次填写:服务、命令 和 参数,然后滚动条拉到底部,点击发送按钮。

可以看到报错了,错误如下

下发同步命令(修改温度)失败 设备不在线。您可以根据错误码进行问题定位及处理 展开错误码及错误信息 错误码:IOTDA.014016 错误信息:Operation not allowed. The device is not online.

image.png

这是因为,我们当前创建的设备是一个真实设备。因此,它必须在线才能访问(如果你要测试命令的收发,建议创建虚拟设备)

2.5.2.1 下载模拟器

下面我们将以MQTT.fx为例,介绍以MQTT原生协议接入物联网平台。MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。

华为云提供了专门的帮助文档,指导您如何安装MQTT模拟器,地址为:https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0052.html

image.png

点击对应链接,下载模拟器即可。当前版本为:mqttfx-1.7.1-windows-x64.exe

image.png

点击后是一个安装界面,依次点击下一步即可

image.png

image.png

image.png

image.png

image.png

image.png

mqttfx 的默认安装位置在C盘:C:\Program Files\mqttfx,进入该目录

image.png

双击 mqttfx.exe 打开应用程序

image.png

切换到所有设备列表,选中我们的设备,在操作栏点击详情按钮

image.png

在详情页中,点击查看MQTT连接参数

image.png

具体参数如下

image.png

2.5.2.2 连接华为云IoT平台

在 MQTT.fx 软件中,点击设置按钮,如下图

image.png

点击左下角的加号,新增一个配置项

image.png

如图,填写地址和端口

地址:b424f17906.iot-mqtts.cn-north-4.myhuaweicloud.com 端口:8883

image.png

在所有设备页面,找到我们创建的真实设备,将设备ID复制过去

image.png

点击进入设备详情页面,点击MQTT连接信息,将用户名、密码复制过去(注意:MQTT软件要切换到 User Credentials 选项卡),最后点击OK按钮确认

image.png

回到主页面,点击Connect按钮,连接到华为云IoT平台

image.png

如果有报错,可以切换到日志页面,查看详细问题

image.png

Connection lost 的解决办法是 —— 将我们之前填写的 8883 端口改为 1883

image.png

image.png

打印出onConnect,并且标志变为绿色就说明连接成功

image.png

连接成功后,回到设备页,就可以看到该设备在线的标识了

image.png

2.5.2.3 订阅消息

点击操作栏的调试按钮,编辑并发送指令给设备。这里虽然模拟器会打印消息日志,但是IoT平台报错如下

命令请求超时,请确认设备是否收到平台的请求并订阅正确的topic且回复正确的响应给平台。您可以根据错误码进行问题定位及处理 展开错误码及错误信息 错误码:IOTDA.014111 错误信息:{{0}}

image.png

image.png

需要复制这个Topic (commands后面的内容用#号替代)

$oc/devices/661bc67d7bdccc0126d132db_abcdefghijklmnopqrstuvwxyz/sys/commands/#

image.png

这个Topic也可以在产品页面的Topic管理选项卡中找到

image.png

贴入 Substribe 页面,点击订阅。然后回到在线调试页面,点击发送,即可收到日志了

image.png

2.5.2.4 发布消息

切换到Publish页面,topic的前面都跟我们之前复制的订阅的事件是一样的,只不过sys后面改为properties/report

$oc/devices/661bc67d7bdccc0126d132db_abcdefghijklmnopqrstuvwxyz/sys/properties/report

Topic的定义,可以查阅华为云官方文档:https://support.huaweicloud.com/api-iothub/iot_06_v5_3004.html

本例用的是设备上报属性,这个Topic

image.png

填入以下信息。注意:service_id要改为你的服务名称,properties也要改为你的属性列表,event_time表示上报时间

{ "services" : [{ "service_id" : "测试服务001", "properties" : { "温度" : 15 }, "event_time" : "20240415T200433Z" } ] }

点击发布按钮

image.png

切换到消息跟踪选项卡,可以看到已经成功接收到消息了。这里提示失败,是因为中文解析乱码,它不认得导致的

image.png

image.png

回到产品页面,将模型ID修改为英文,同时也将属性和命令修改为英文

image.png

image.png

在消息跟踪这里,可以看到上报属性成功了

image.png

image.png

MQTT模拟器日志如下

image.png

更详细的教程可以查看华为云官方帮助文档:https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0056.html

image.png

image.png

三、总结

万物互联可谓是未来的趋势,鸿蒙系统就是在这个背景下被打造出来的。而华为的IoT平台,非常适合新手入门和老手快速对接设备、协议。

通过本文对华为云IoT平台由浅入深的讲解,你应该能大体上了解华为云的IoT平台了吧。俗话说一图胜千言,送上一个我对设备接入华为云IoT平台的脑图

image.png

我正在参加【有奖征文 第29期】零代码零硬件玩转华为云IoT物联网平台多场景 链接:https://bbs.huaweicloud.com/blogs/423245



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有