# 导入 IoT 账号

# 简介

IoT 账号是指机械设备上的通用唯一识别码(UID)。在 Cat.1 设备的通话功能集成过程中,您需要用到这些 UID 作为参数传递给接口函数。

本文将指导您将 UID 导入到菊风后台。您可以在两种导入方式中任选一种:

# 前提条件

确保已经联系菊风开启自助导入 IoT 账号的权限。

# 通过接口导入

# 准备参数

在通过接口导入账号的过程中,您会用到两个参数:域 ID原始AppId。这两个参数需要在 IoT 控制台获取。

  1. 登录菊风云 IoT 控制台后,访问 基本信息 (opens new window) 获取原始域 ID

  2. 访问 服务管理 (opens new window) - 操作 - 应用管理。在安全信息一栏中获取原始AppID

    image-20210326105133564

# 请求地址

导入 IOT 账号的请求地址格式为:https://developer.juphoon.com/cloud_api/cn/message/?c=PIOTserverapi&a=P_import_iotdata_api&domainId=<处理后的域ID>&appId=<处理后的应用ID>&time=<当前时间>&sant=<盐值>&token=<校验token>

在地址中需要填入五个参数:

参数 类型 说明
domainId string 原始域 ID 经过 特殊算法 后得到的字符串
appId string 控制台中的原始 AppID 经过 特殊算法 后得到的字符串
time int 访问接口的Unix 时间戳,例如:1616728059。前后三分钟内有效
sant int 盐值,用于 特殊算法 的参数,需要使用 1-8 中的任意整数
token string 根据指定算法生成的校验 token。

其中有部分参数需要通过 特殊算法 计算得到,该算法为:将原始数值 value 左移对应盐值 sant 的位数,然后进行 base64 加密。以 php 代码为例:

domainId = base64_encode(domainIdvalue << sant);
appid = base64_encode(appIdvalue << sant);

准备参数 章节您应该已经获取了 原始域 ID原始 AppID。例如在 sant 取 3 的情况下:

原始域ID,103684 在经过上述算法处理后,得出 domianId 应等于 ODI5NDcy;
原始AppID,17 在经过上述算法处理后,得出 appid 应等于 MTM2;

time 参数为当前的 Unix 时间戳,您可以在 这里 (opens new window) 获取当前 Unix 时间戳,并且了解到不同编程语言生成 Unix 时间的方式。

token 参数的生成算法为:将 原始的域ID数值原始的 AppID 数值AppKey密钥time按序连接,然后进行 MD5 加密(32位小写)。下面是生成 token 的伪代码:

domainIdvalue = 10xxx7;
appIdvalue = 1;
appkey = f9c7bxxxxxxx6753a234409c;
密钥 = f1H5xxxxxxxxI76p4;
time = 1596595533;
token = MD5(10xxx71f9c7bxxxxxxx6753a234409cf1H5xxxxxxxxI76p41596595533);

# 请求数据

向接口地址发送 post 请求,请求数据格式需要满足以下条件:以 data 为键,以 uid 数组为值。

{"data":["portal001","portal002","portal003","portal004"]}

# 请求结果

在发送请求成功后会收到返回值:

参数 类型 说明
code boolean true为接口调用成功,false则为失败
message string 接口调用失败时返回该字段
exists_dev 重复导入的设备数据数组
error_dev 导入错误的设备数据数组

# 通过控制台导入

  1. 登录菊风云 IoT 控制台。

    img

  2. 访问 服务管理 (opens new window) - 操作 - 账号导入 ,点击导入 打开导入弹框。

    img

  3. 打开弹框后,点击 csv 模板说明及下载

    image-20210326113354374

  4. 下载 csv 模板,并按照要求修改模板文件后上传 csv 文件即可导入账号。

    image-20210326113621307

最后更新时间: 2021/3/26 15:03:35