# 常规告警Api
适用范围
博灵A4
系列支持通过IP地址直接调用该章节功能
博灵A3
系列仅能通过云服务使用该章节功能
常规Api为报警灯核心功能之一。本章节将讲解如何通过常规Api来触发报警灯进行自定义声光告警。
# 开始使用
首先需要在Api
->Api启停设置
中打开声光播报
功能。
设置好Api Key,以便后续使用,默认 Api key为1qaz2wsx
。设置方法
# 构造请求
该接口的请求地址为:http://<设备IP地址>/api/api/send_msg
请求方式:POST
数据格式:
x-www-form-urlencoded
form-data
json
请求参数:
参数名 | 变量类型 | 说明 | 是否必填 |
---|---|---|---|
led_style | string | led样式参数,详情见下表。 | |
color | json | led颜色数组,支持RGB颜色代码和 W3C规范颜色名称 (opens new window) 举例:["blue"]或者["#00ffff"] 只有转亮支持多颜色数组。 | |
led_flag | json | led样式参数,详情见下表。 | |
text | string | 播报的文本内容,最长150个文字,当前版本超出不会报错,但是会被截断 | |
tts_speed | int | 语音播报速率,范围1~10,不存在则默认中速 | |
sound | int | 声音类型,0:女声;1:男声;默认为女声 | |
play_time | int | 播报时长 当该值存在时,如果超过播报时间没有播报完成,播报内容会被截断。 | |
repeat_count | int | 重复播报次数,默认为:1 | |
tone | string | 铃声编号,该值可在通知组设置中的提示音获得。 | |
time | string | 当前秒级时间戳 该值会参与签名计算。请求时间戳与设备时间误差需在120s以内。 | 是 |
sign | string | 签名字符串,具体算法见生成签名章节。 | 是 |
led相关参数提醒
led_style
、color
、led_flag
这三个参数必须同时使用,如果不用则全都不传。
可选参数提醒
led_style
、color
、led_flag
和text
这两组选项至少要存在一组
# LED样式参数
样式值 | 效果 | 参数下标 | 参数说明 | 推荐值 |
---|---|---|---|---|
15 | 转亮 | 0 | 旋转间隔时间(秒) | [0.03,1] |
1 | 加速因子 | |||
20 | 闪亮 | 0 | 闪亮时间(秒) | [1, 1] |
1 | 熄灯时间(秒) | |||
25 | 常亮 | 无参数,填写[0]进行占位即可 | ||
30 | 脉动 | 无参数,填写[0]进行占位即可 |
# 签名算法
- 在请求参数数组中加入
token
项,值为Api Key,加入time
项,值为当前的时间戳。之后按照key值进行字典升序排列。 - 按排列后顺序进行组合,按照
key
value
进行拼接,得到签名字符串sign_str
。 - 将拼接好后的签名字符串
sign_str
,使用MD5进行散列计算,即可得到签名字符串sign
。
# 签名计算实例
假设要请求的原始参数如下表
参数名 值 led_style 15 color ["#123456"] led_flag [0.1,1] text 好用的声光播报终端 time 1668843530 参数数组中加入
token
和time
参数名 值 led_style 15 color ["#123456"] led_flag [0.1,1] text 好用的声光播报终端 time 1668843530 token 1qaz2wsx 注意
此步骤在请求数组中加入内容,并不是修改真实的请求参数数组,而是为了计算需要所需要的中间步骤!
以key按照字典升序排序,之后对字符串进行拼接,得到签名字符串sign_str
color["#123456"]led_flag[0.1,1]led_style15text好用的声光播报终端time1668843530token1qaz2wsx
对签名上述的字符串进行MD5计算,可以得到签名sign
dc76013f54527b7074e4076e86fba803
将
sign
,time
添加到请求参数中,得到最终的请求参数参数名 值 led_style 15 color ["#123456"] led_flag [0.1,1] text 好用的声光播报终端 time 1668843530 sign dc76013f54527b7074e4076e86fba803 使用Post方式将其作为请求内容发送即可,请求成功后得到响应值。
{ // 状态码,200表示成功 "code": 200, // 返回信息,OK表示成功 "msg": "OK", "data": { // 方法id,无需处理 "method": 50, // 本次请求的id "id": "4972367dd614bf8adfe5fff138a3af76", // 设备播报队列中剩余待播报的数量 "data": 1, // 内部状态码,正常为0,无需处理 "res_code": 0 } }
# 使用PostMan进行手动调试
操作步骤请参照下图,可点击图片放大查看。
除手动创建请求外,资料下载处提供了PostMan测试配置文件,其中内置了签名自动计算脚本,您只需要修改参数即可快速发送请求进行测试!点我下载。 (opens new window)