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。对于体重较轻的用户,可以考虑将这值降低