TS-PSMB-4088 可配置项接口文档
1. 概述和目标
本文档详细说明产品TS-PSMB-4088,基于Blufi进行通信之上,可以配置的项目接口,帮助开发者理解和实现设备配置功能。
2. 格式
数据交换使用Json格式,且每个数据包必须包含一个名为"cmd"的字段,用于指定命令类型。
{
"cmd": "命令",
"参数字段": "参数值"
}
3. 配置项参数表
3.1 命令列表
| 命令 | 说明 |
|---|---|
| reboot | 重启设备 |
| ota | 执行OTA升级 |
| rconfig | 读取配置 |
| wconfig | 写入配置 |
| resetr0 | 矫正指令 |
| nettest | 网络测试指令 |
| servertest | 服务器测试指令 |
| log | 日志指令 |
3.2 基础字符串配置项
| 配置项 | 默认值 | 说明 | 备注 |
|---|---|---|---|
| devName | TS-PSMB-4088 | 设备型号 | 读写值 |
| devId | TSKJ00000000 | 设备ID | 读值 |
| devSN | 0000 | 设备序列号 | 读值 |
| devVersion | 0.0.0 | 设备版本号 | 读值 |
| devIdPrefix | - | 设备ID前缀 | 读写值 |
| devSNPrefix | - | 设备序列号前缀 | 读写值 |
| SSID | Carbonsens | WiFi SSID | 读写值 |
| PSW | sensor2020 | WiFi 密码 | 读写值 |
| mqttURL | mqtt://server.carbonsens.com | MQTT服务器地址 | 读写值 |
| mqttBackupURL | mqtt://10.10.0.5 | MQTT备用服务器地址 | 读写值 |
| mqttUser | - | MQTT用户名 | 读写值 |
| mqttPSW | - | MQTT密码 | 读写值 |
| mqttBackupUser | - | MQTT备用服务器用户名 | 读写值 |
| mqttBackupPSW | - | MQTT备用服务器密码 | 读写值 |
| macTemperature | - | 温度传感器MAC地址 | 读写值 |
3.3 基础数值配置项
| 配置项 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|
| maxupdatetime | 1-65535 | 30 | 最大上报时间,单位秒 |
| maxleavetime | 1-65535 | 60 | 离床异常时间,单位秒 |
| maxbreathrate | 1-35 | 30 | 呼吸率高阈值,单位次数 |
| minbreathrate | 1-35 | 5 | 呼吸率低阈值,单位次数 |
| maxheartrate | 1-135 | 110 | 心率高阈值,单位次数 |
| minheartrate | 1-135 | 50 | 心率低阈值,单位次数 |
| breathewarn-se | 1-100 | 85 | 呼吸弱检测的灵敏度(1最不灵敏,100最灵敏) |
| bodymove-se | 1-10 | 5 | 体动识别的灵敏度(1最不灵敏,10最灵敏) |
| humendetect | 3-20 | 7 | 检测在离床的阈值(3最灵敏,20最不灵敏) |
3.4 特殊配置项
| 配置项 | 说明 | 备注 |
|---|---|---|
| ota-url | 用于ota升级的镜像文件地址 | |
| extradata | wconfig中携带文本功能 | v3.0.4支持 |
4. 配置项详细说明
4.1 命令详解
reboot
重启设备命令,设备收到命令进行会回复同样命令,然后在5秒后执行重启。
例子:发送
{
"cmd": "reboot"
}
设备回复
{
"devId": "TSKJ00000000",
"cmd": "reboot",
"updateTime": 1729814400
}
ota
OTA升级命令,需要配合 ota-url 参数使用。OTA支持http/https协议。https会稍微慢一些。再回复第一个json数据包后,设备会持续回复OTA进度,如果OTA成功,设备会执行重启。如果失败会回复ERROR。
{
"cmd": "ota",
"ota-url": "https://example.com/firmware.bin"
}
设备回复
{
"devId": "TSKJ00000000",
"cmd": "ota",
"ota-url": "https://example.com/firmware.bin",
"updateTime": 1729814400
}
{
"status": "5%"
}
```json
{
"status": "Error"
}
rconfig
读取配置命令,可获取配置项中的值。这个命令支持全部读取和指定读取。
全部读取
{
"cmd": "rconfig"
}
回复
{
"maxupdatetime": 60,
"maxleavetime": 60,
"maxbreathrate": 31,
"minbreathrate": 5,
"maxheartrate": 110,
"minheartrate": 50,
"breathewarn-se": 85,
"bodymove-se": 5,
"humendetect": 7,
"devName": "TS-PSMB-4088",
"devId": "TSKJ000000",
"devSN": "TS0000",
"devVersion": "3.0.0",
"devIdPrefix": "TSKJ",
"devSNPrefix": "",
"SSID": "",
"PSW": "",
"mqttURL": "mqtt://server.carbonsens.com",
"mqttBackupURL": "mqtt://10.10.0.5",
"mqttUser": "",
"mqttPSW": "",
"macTemperature": "",
"cmd": "rconfig",
"updateTime": "1729814400"
}
指定读取
{
"cmd": "rconfig",
"maxupdatetime": "",
"maxleavetime": ""
}
回复
{
"devId": "TSKJ00000000",
"cmd": "rconfig",
"maxupdatetime": 60,
"maxleavetime": 60,
"updateTime": 1729814400
}
wconfig
写入配置命令,用于更新一个或多个配置项的值。回复中会处理可配置字段,如果回复中会回传设置值的"新值",如果回复中没有回传字段,证明字段名称写错了,或者值错误。
{
"cmd": "wconfig",
"maxupdatetime": 60,
"maxleavetime": 60
}
成功回复:
{
"devId": "TSKJ00000000",
"cmd": "wconfig",
"status": "success",
"maxupdatetime": 60,
"maxleavetime": 60,
"updateTime": 1729814400
}
失败回复(maxupdatetime成功,maxleavetime失败):
{
"devId": "TSKJ00000000",
"cmd": "wconfig",
"status": "error",
"updateTime": 1729814400,
"maxupdatetime": 60
}
- extradata 参数(v3.0.4支持)
{ "cmd": "wconfig", "extradata": "你想携带的文本" }回复:
{ "devId": "TSKJ00000000", "cmd": "wconfig", "status": "success", "extradata": "你想携带的文本", "updateTime": 1729814400 }
resetr0
矫正指令,用于设备校准。产品在不同厚度、不同弯曲度等情况下,由于物理特性原因参考值会不同。在正常使用产品时,产品会自动校准,通常是静止5分钟就会校准。如果长途运输、掉电时间过长,通常建议要静止5分钟以上再使用。如果人为能确保静止,也可以立即使用命令进行校准。
发送
{
"cmd": "resetr0"
}
设备回复
{
"devId": "TSKJ00000000",
"cmd": "resetr0",
"updateTime": 1729814400
}
nettest
网络测试指令,用于测试设备网络连接状态。于3.1.x开放支持。
{
"cmd": "nettest"
}
servertest
服务器测试指令,用于测试与服务器的连接状态。于3.1.x开放支持。
{
"cmd": "servertest"
}
log
日志指令,用于获取设备运行日志。于3.1.x开放支持。
{
"cmd": "log"
}
4.2 基础字符串配置项详解
devName
设备型号标识,可读写,适用于二次开发更替为自己识别设备。
devId
设备唯一标识符,只读。限制长度14位。后序取值于MAC地址。
devSN
设备序列号,只读。限制长度63位。后序取值于MAC地址。
devVersion
设备固件版本号,只读。
devIdPrefix
设备ID前缀,可读写。可以设置该值,重启后,设备会使用该值作为devId的前缀。适用于二次开发定义自己设备设别符。注意devId不超过14位的限制。
devSNPrefix
设备序列号前缀,可读写。可以设置该值,重启后,设备会使用该值作为devSN的前缀。适用于二次开发定义自己设备序列号。注意devSN不超过63位的限制。
SSID
WiFi网络名称,可读写。
设备wifi连接逻辑:优先连接已成功连接的wifi。 在一定时间(1分钟)内,如果连接不上上次成功的WiFi,会尝试连接该设置WiFi。通常用于出厂批量烧录设置,也可以交付客户前预先设置。 立即设置连接WIFI可以选则使用blufi的方式,会重置已成功连接的wifi。
PSW
WiFi密码,可读写。
设备wifi连接逻辑:优先连接已成功连接的wifi。 在一定时间(1分钟)内,如果连接不上上次成功的WiFi,会尝试连接该设置WiFi。通常用于出厂批量烧录设置,也可以交付客户前预先设置。 立即设置连接WIFI可以选则使用blufi的方式,会重置已成功连接的wifi。
mqttURL
主MQTT服务器地址,可读写,可空。但可空相当于不使用MQTT。设备连接mqtt的逻辑:优先连接主服务器,如果连接失败,则尝试连接上次连接成功的服务器。(用于设置这个值但连接不上新服务器时,设备依然会连接最近一次连接成功的服务器。如果2个服务器都失败,会尝试连接备用服务器。在连接备用服务器期间,设备依然会尝试连接主服务器)
mqttBackupURL
备用MQTT服务器地址,可读写,可空。
mqttUser
主服务器认证信息,可读写,可空。
mqttPSW
主服务器认证信息,可读写,可空。
mqttBackupUser
备用服务器认证信息,可读写,可空。
mqttBackupPSW
备用服务器认证信息,可读写,可空。
macTemperature
温度传感器MAC地址,可读写。用于绑定特定的温度传感器。需要对应产品支持。
maxupdatetime
设备通过MQTT发送状态包的最大上报间隔,范围1-65535秒,默认30秒。 设备发送状态包的逻辑,只有有数值变化,立刻发送。没有数值变化,则按照该设置的间隔发送。
maxleavetime
离床异常判定时间,范围1-65535秒,默认60秒。 设备会检查无用户在床垫上的状态,然后记录下离开那一刻的时间。如果当前时间距离离开时间,超过该设置的时间,则将状态设置为离床异常。意思就是疑似用户离开床位过久,有风险。 若设备静止5分钟以上,设备会重置为无人在床状态,不会再发送离床异常状态。
maxbreathrate
设定呼吸率不正常状态的阈值,范围1-35次/分钟,对应设置其min/max值,默认高阈值30,低阈值5。当用户呼吸率不在这两个值之间,则将状态设置为呼吸率过高或呼吸率过低状态(不是呼吸异常)。
minbreathrate
设定呼吸率不正常状态的阈值,范围1-35次/分钟,对应设置其min/max值,默认高阈值30,低阈值5。当用户呼吸率不在这两个值之间,则将状态设置为呼吸率过高或呼吸率过低状态(不是呼吸异常)。
maxheartrate
设定心率不正常状态的阈值,范围1-135次/分钟,对应设置其min/max值,默认高阈值110,低阈值50。当用户心率不在这两个值之间,则将状态设置为心率过高或心率过低状态。
minheartrate
设定心率不正常状态的阈值,范围1-135次/分钟,对应设置其min/max值,默认高阈值110,低阈值50。当用户心率不在这两个值之间,则将状态设置为心率过高或心率过低状态。
breathewarn-se
呼吸弱检测检测功能的灵敏度配置,范围1-100,默认85。数值越高越灵敏。
呼吸弱检测检测功能是检测用户呼吸变弱是发出标志,这个标志是提示用户可能需要关注,但不代表一定有问题。
产品配套学习功能版本3.2.x支持)通过学习用户一段时间特征数据,推荐设置该值灵敏度。
bodymove-se
体动检测灵敏度配置,范围1-10,默认5。用于调节体动检测灵敏度。
humendetect
在检测用户躺上去触发在床的灵敏程度,范围3-20,默认7。对于体重较轻的用户,可以考虑将这值降低