从零开始体验IoTDA

从零开始体验IoTDA

话不多收,直接上菜

快速入门

img

从总目录搜索设备接入,点击

然后点击产品数

img

img

创建产品,填写有关信息即可。

由于读者可能没有现成的设备,我们采用官方的烟雾传感器为例。

回到设备接入服务,点击快速体验。

img

选择向导式极速体验

img

img

该界面可以看到有关的设备信息,我们按照操作提示,设置产品名称。

img

创建产品。

按照提示气泡,填写有关信息后注册设备。

img

image-20220116194421124

以Windows10 C#为例,点击下载设备演示包。

img

解压后,打开exe文件。

img

回到控制台,发现设备状态变为在线。

img

img

调整上报频率为1s一次,下发命令。

img

回到控制台,发现设备信息变为一秒变化一次,体验完成。

模型构建

这次我们以智慧灯为例,构建一个模型。

登录管理控制台,点击产品

img

点击创建产品

img

填写有关信息即可

img

创建完成,查看详情。

img

自定义模型

img

img

如上图,填写相关信息。

img

添加属性。

img

如图填写即可,然后确定。

然后添加命令。

img

在命令界面,单击新增输入参数

如图填写

img

新增命令成功

img

注册虚拟设备:在产品界面,单击在线调试

img

新增测试设备,选择虚拟设备

img

img

设备ID

61e407a7de9933029be2e09c_1642339945025

设备密钥

0123456789abcdef

选择调试:

img

在设备模拟器,模拟一个光照强度

img

img

在应用模拟器选择开灯命令发送

img

进阶体验

下面为大家带来基于java的体验

设备接入服务,选择创建产品

img

下载模型文件,该模型文件已开发完毕(由开发产品模型开发完毕的产品模型导出)。详细开发过程指导大家可以参考官网的在线开发产品模型

img

在刚刚创建的产品上传模型文件

img

然后创建设备

img

img

保存设备秘钥,下载JAVA样例

img

导入java工程。

img

修改代码

img

deviceID

img

img

img

img

运行程序,设备变为在线

img

属性上报,由下面的代码实现:

//上报json数据,注意serviceId要与产品模型中的定义对应
String jsonMsg = "{\"services\":[{\"service_id\":\"BasicData\",\"properties\":{\"luminance\":32},\"eventTime\":null}]}";

查看上报结果

img

命令下发,点击API检索和调试

img

按图示步骤调试

img

回到设备侧,查看收到的指令

img

通过云端获取上报数据,点击这里获取Java AMQP接入示例

控制台->规则 创建

img

img

参考如图设置

img

继续创建,设置转发目标AMQP,预置规则

img

img

然后,修改刚刚下载的AMQP代码样例中的参数。

img

img

img

我们可以看到,数据被成功接收,实验成功。

### 配置和使用IoTDA实例中的MQTT协议 #### MQTT协议简介 MQTT是一种轻量级的消息传输协议,专为低带宽、高延迟或不可靠网络环境下的设备设计。该协议允许客户端订阅主题并发布消息给其他客户端[^3]。 #### IoTDA实例概述 华为云IoT平台提供了一种名为IoT Device Access (IoTDA)的服务来管理物联网设备的数据采集与控制。通过IoTDA服务可以轻松地接入各种类型的物理设备,并利用其内置的功能实现高效稳定的物联通讯能力[^5]。 #### 准备工作 在开始之前,请确认已完成以下准备工作: - 已经注册成为华为云用户; - 创建了一个项目用于承载您的IoT应用; - 安装好必要的软件工具链如Python SDK或其他适合的语言版本SDK; #### 获取三元组信息 对于每一个想要连接至IoTDA的外部实体而言,都需要获取一组特定的身份验证凭证——即所谓的“三元组”,它由`ClientId`, `Username` 和 `Password`组成。这些信息可以在创建产品模型时自动生成获得[^4]。 例如,在一个具体的案例中,得到了如下所示的一组三元组: ```plaintext ClientId: 65697df3585c81787ad4da82_stm32_0_0_2023120106 Username: 65697df3585c81787ad4da82_stm32 Password: 12cc9b1f637da8d755fa2cbd007bb669e6f292e3e63017538b5e6e13eef0cf58 ``` #### 编写代码示例 下面是一个简单的Python脚本片段,展示了如何基于上述提到的信息建立与IoTDA间的MQTT会话: ```python import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") client = mqtt.Client() client.on_connect = on_connect # 设置认证参数 client.username_pw_set(username='65697df3585c81787ad4da82_stm32', password='12cc9b1f637da8d755fa2cbd007bb669e6f292e3e63017538b5e6e13eef0cf58') # 建立连接 broker_address = "iot-mqtts.cn-north-4.myhuaweicloud.com" port = 8883 client.connect(broker_address, port) # 开始循环处理网络流量 client.loop_start() try: while True: pass except KeyboardInterrupt: client.disconnect() finally: client.loop_stop(force=True) ``` 这段代码实现了基本的MQTT客户端初始化过程,包括设置回调函数、指定用户名/密码以及启动事件循环等功能。需要注意的是实际部署过程中还需要考虑更多细节比如错误重试机制等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

irrationality

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值