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


    ⛳️ 准备工作

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

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

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

    # 核心库
    pip install huaweicloudsdkcore
    
    # IoTDA服务库
    pip install huaweicloudsdkiotda
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

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

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

    我的凭证 > 访问密钥 页面上创建和查看 AK/SK 值,如果无密钥值,需要新增,步骤如下图所示。
    华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接
    注意:下载文件保存该值,关闭页面无法再次查看 AK/SK 值。

    ⛳️ 查看设备列表

    下面实现 查询设备列表的对接,先看一下示例代码,这里并未直接复制官方代码,原因是我们学习阶段使用的是基础版,需参照注释修改 Region 对象的注册形式。
    华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接
    包括模块导入的完整代码如下所示,前文涉及的四个步骤已经添加到注释中。

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

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

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

    ⛳️ 查看产品列表

    通过下述代码,可以查看华为 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行代码拿到产品清单
    华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接

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

    https://console.huaweicloud.com/apiexplorer/#/apidoc/IoTDA
    华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧连接

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

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

  • 相关阅读:
    艾美捷PEG-2000 DMG解决方案
    26-Docker-常用命令详解-docker rmi
    散文翻译语言点精要
    git init报错:‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    DC综合 trip points问题
    Shiro-721反序列化漏洞
    【Python】输入输出与运算符
    前端学习地址_备忘录(随时更新)
    SpringBoot-可视化监控
    ACboy needs your help hdu 1712
  • 原文地址:https://blog.csdn.net/hihell/article/details/127246490