华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接相关的知识,希望对你有一定的参考价值。

文章目录

⛳️ 准备工作

本篇博客我们将通过 Python 语言实现物联网平台(华为 IoTDA)的连接,主要使用的模块是官方提供的 Python SDK,对接目标为应用侧 API 对接。

华为 IoTDA 应用侧 API 是指,物联网平台把自身丰富的管理能力通过 API 的形式对外开放,包括产品管理、设备管理、设备组管理、标签管理、设备 CA 证书管理、设备影子、设备命令、设备消息、设备属性、订阅管理、规则管理、批量任务等,帮助用户快速构筑基于物联网平台的行业应用。

正式开始前先安装华为云核心库 + IoTDA 服务库,命令如下:

# 核心库
pip install huaweicloudsdkcore

# IoTDA服务库
pip install huaweicloudsdkiotda

官方手册中关于 Python SDK 的实践时从查询设备列表开始的,其流程如下:

  • 创建认证。
  • 创建 IoTDAClient 实例并初始化。
  • 实例化请求对象。
  • 调用查询设备列表接口。

接下来我们的实践也遵循该流程。

第一步:创建华为云账号访问密钥 ID(Access Key ID)

调用华为云的任何 API,都需要先注册访问密钥,地址在控制台右侧个人 ID 位置。

我的凭证 > 访问密钥 页面上创建和查看 AK/SK 值,如果无密钥值,需要新增,步骤如下图所示。

注意:下载文件保存该值,关闭页面无法再次查看 AK/SK 值。

⛳️ 查看设备列表

下面实现 查询设备列表的对接,先看一下示例代码,这里并未直接复制官方代码,原因是我们学习阶段使用的是基础版,需参照注释修改 Region 对象的注册形式。

包括模块导入的完整代码如下所示,前文涉及的四个步骤已经添加到注释中。

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.auth.credentials import DerivedCredentials
from huaweicloudsdkiotda.v5.region.iotda_region import IoTDARegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkiotda.v5 import *

if __name__ == "__main__":
    ak = "你的 AK"
    sk = "你的 SK"
	# 创建认证。
    credentials = BasicCredentials(ak, sk).with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
	# 创建 IoTDAClient 实例并初始化。
    client = IoTDAClient.new_builder().with_credentials(credentials).with_region(
        IoTDARegion.value_of("cn-north-4")).build()

    try:
    	# 实例化请求对象。
        request = ListDevicesRequest()
        # 调用查询设备列表接口。
        response = client.list_devices(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

运行代码如出现下图内容,即打印出设备清单数据,表示接口已经打通,配置无问题。

⛳️ 查看产品列表

通过下述代码,可以查看华为 IoTDA 下面的产品列表。核心修改 try...except 部分代码。

    try:
        request = ListProductsRequest()
        response = client.list_products(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

运行代码拿到产品清单

华为云最新版 API Explorer,可以查看到设备接入 (IoTDA) 接口查阅。

https://console.huaweicloud.com/apiexplorer/#/apidoc/IoTDA

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 733 篇原创博客

从订购之日起,案例5年内保证更新

以上是关于华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接的主要内容,如果未能解决你的问题,请参考以下文章

大型物联网平台如何来保障亿级设备安全连接上云?

C#编写上位机连接华为云平台IoTDA

HI3861学习笔记(25)——接入华为云物联网平台IoT

最佳实践|Apache Pulsar 在华为云物联网之旅

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?

华为云平台创建产品+注册设备