设备本地日志上传
设备可将本地的日志上传到物联网平台,之后您就可以在平台上方便地查看设备记录的日志,
注意: 使用设备文件上传接口前,请先后台应用管理-api应用,创建api应用, 记录下appId 和appSecret,以方便后面计算签名。
设备上传本地日志
设备上传本地日志,目前仅提供了http上传方式
请求address示例: http://xxx/api/senthink/aep/open/nodes/v1/localLog/upload
注意:请求头的Content-Type为multipart/form-data
请求头:
请求头 | 是否必须 | 说明 | 示例 |
---|---|---|---|
appId | 是 | 应用id | 60db2cecf2a6f7261142be20 |
sign | 是 | 计算的签名值(参考示例) | 60db2cecf2a6f7261142be20 |
nonce | 是 | 随机字符串(可以使用时间戳) | 1624977281203 |
请求体参数见下表:
参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
level | Text | 是 | 1 | 紧急程度 0 低 1 中等 2 紧急 |
productId | Text | 是 | 2EE9CD74 | 产品id |
openId | Text | 是 | B5869C8F | open id |
simpleTime | Text | 是 | 1610615712188 | 采集时间,毫秒级时间戳 |
file | File | 是 | 文件 | 文件,暂时不限制文件格式 |
nodeEui | Text | 是 | 122223 | 设备号 |
签名计算示例
step1: 将请求参数拼接成字符串(文件除外) 得到 str = "level:1,productId:2EE9CD74,openId:B5869C8F,simpleTime:1610615712188,nodeEui:122223"
step2: 字符串拼装之后计算md5 sign = MD5( appId(应用的appId) + appSecret(应用的appSecret) + str(第一步计算出的字符串) + nonce(随机数)) 经过以上2步,我们得到计算的sign值。 只需要在请求Header上添加上,请求即可。
注意: 同一个sign 一小时之内只能请求一次,所以每次请求之前,需要修改随机数nonce计算出新的sign值。
示例:
上面参数列表中得到的字符串 (appId+appSecret+str+nonce) 得
"60db2cecf2a6f7261142be2059212651ED98576401B92B09BDDB5DE2level:1,productId:2EE9CD74,openId:B5869C8F,simpleTime:1610615712188,nodeEui:1222231624977281203"
md5 之后得到 sign = "60db2cecf2a6f7261142be20"
通过Postman模拟设备日志的上传
打开Postman,填充请求地址和请求体,请注意标红的部分
点击Send发送请求,成功的话会显示以下结果,且可在云平台查看设备本地日志