OneNet5.0 新版产品应用开发API调用指南(三) 应用开发API

本文档详细介绍了OneNet5.0的应用开发流程,包括创建项目、添加设备、调用API及数据流转。同时,阐述了项目分组的创建、鉴权Token计算方法。此外,提供了项目、分组和设备的相关API调用示例,如项目概况、设备状态查询、属性设置等,帮助开发者更好地进行物联网应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用开发API 入口:

https://openapi.heclouds.com/common?action=具体接口名称&version=1

第一部分 应用开发流程及项目分组

一. 应用开发流程

https://open.iot.10086.cn/doc/iot_platform/book/application-develop/application-process.html

1. 创建项目

2. 进入项目添加设备

3. 调用API

本篇文章的主题

4. 数据流转

此项内容会单独写一篇文章

二. 项目分组

1. 分组

项目中,我们可以创建分组,这样是的设备被分组管理,方便区分业务权限, 非常推荐使用

分完组后可以添加设备

我们看到有分组ID和分组key

想到第一篇中的设备鉴权描述, 确实是可以以项目/分组进行鉴权的

这样我们可以做到 客户1用自己的鉴权管理自己的设备的效果.

2. 分组鉴权的Token计算

根据文档, 我修改了这个程序,实测可用

import base64
import hmac
import time
from urllib.parse import quote

def token(projectid,groupid,access_key):

    version = '2020-05-29'

    res1 = 'projectid/%s' % projectid
    res2 = '/groupid/%s' % groupid
    res = res1+res2

    # 用户自定义token过期时间
    et = str(int(time.time()) + 3600*24*365)

    # 签名方法,支持md5、sha1、sha256
    method = 'sha1'

    # 对access_key进行decode
    key = base64.b64decode(access_key)

    # 计算sign
    org = et + '\n' + method + '\n' + res + '\n' + version
    sign_b = hmac.new(key=key, msg=org.encode(), digestmod=method)
    sign = base64.b64encode(sign_b.digest()).decode()

    # value 部分进行url编码,method/res/version值较为简单无需编码
    sign = quote(sign, safe='')
    res = quote(res, safe='')

    # token参数拼接
    token = 'version=%s&res=%s&et=%s&method=%s&sign=%s' % (version, res, et, method, sign)

    return token

if __name__ == '__main__':
    projectid = 'Sd5MPm'
    groupid = 'HkhwSb'
    access_key = 'MjE5OWIwYzJmZGU5ZDVmMjY1NTQyNmY4ZjM5M2ZjMjY='

    print(token(projectid,groupid,access_key))
    while(1):
        pass

第二部分 项目相关API

一. 项目概况

https://open.iot.10086.cn/doc/iot_platform/book/api/application/queryStatistics.html

这是一个GET请求 参数是项目ID

返回结果:

二. 项目集成产品列表

https://open.iot.10086.cn/doc/iot_platform/book/api/application/queryProductList.html

这是一个GET请求 参数是项目ID

返回如下, 说明我们这个项目里只有1类产品

三. 项目集成设备列表

https://open.iot.10086.cn/doc/iot_platform/book/api/application/queryDeviceList.html

参数可限定查询的范围, 根据自己的需求选择

结果:

{
    "data": {
        "list": [
            {
                "created_time": "2020-10-19T03:59:05.365Z",
                "device_name": "esp_mqtts_003",
                "from": 1,
                "last_time": null,
                "node_type": 1,
                "product_id": "IaiJ9078ZN",
                "product_name": "esp_mqtts_test",
                "status": 1
            },
            {
                "created_time": "2020-10-19T03:43:14.953Z",
                "device_nam
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值