OP-BTS 命令参考手册


OP-BT/BTS 客户命令参考手册

本文档列出了 OP-BTS / OP-BT 蓝牙光电探头的所有通信命令。

通讯测试软件:sscom32

手机蓝牙连接软件:蓝牙调试软件均可

蓝牙:安卓系统要求使用SPP方式通讯,iOS则使用BLE方式通讯

目录

  1. 命令使用说明
  2. 查询电池电压
  3. 开启IEC自动波特率功能
  4. 关闭IEC自动波特率功能
  5. 设置光电头波特率参数

1. 命令使用说明

命令使用文本格式,通过蓝牙连接设备成功后发送。

对于Windows系统,请使用文本编辑器将命令复制到剪贴板,然后使用串口调试工具连接设备后将剪贴板中的命令发送给设备。

对于android和ios系统,请使用文本编辑器将命令复制到剪贴板,然后使用蓝牙调试工具连接设备后将剪贴板中的命令发送给设备。

命令格式为:命令名\r\n

命令中的<参数>是一定要有的参数。[参数]是可以选的

1. 查询电池电压

功能说明

查询设备当前电池电压值,用于监控设备电源状态。

  • 命令: GetBatteryVolt\r\n
  • 返回: V=3912\r\n
  • 说明:
    • 返回值为电池电压,单位为毫伏(mV)
    • 例如:V=3912 表示电池电压为 3912mV(约3.9V)

使用示例

示例1:查询电池电压

发送: GetBatteryVolt\r\n
返回: V=3912\r\n

说明: 当前电池电压为3912毫伏(3.912伏)

示例2:使用串口工具发送命令

在windows串口调试工具(如sscom32)中:

  1. 选择正确的串口号和波特率
  2. 在发送框中输入:GetBatteryVolt
  3. 点击发送(确保发送时包含回车换行符 \r\n
  4. 接收区显示:V=3912

示例3:通过蓝牙发送命令

在蓝牙调试软件中: 2. 发送命令:GetBatteryVolt\r\n 3. 接收返回:V=3912\r\n

电压参考值

  • 正常电压范围: 3400mV - 4200mV

注意事项

  1. 命令格式: 必须包含回车换行符 \r\n
  2. 实时查询: 此命令返回的是实时电压值,每次查询都会获取最新状态

3. 开启IEC自动波特率功能

功能说明

临时开启IEC自动波特率功能,使设备能够自动检测并切换到正确的通信波特率。此设置仅在运行时有效,设备重启后会恢复为开机时的默认状态。

设备固件版本必须大于V4.41版本

命令格式

  • 命令: OPIECAUTOON\r\n
  • 返回: OK\r\n
  • 说明:
    • 成功开启IEC自动波特率功能
    • 此设置仅在运行时有效,重启后恢复为开机状态
    • 如需永久生效,请使用OP系列命令 {"IECAutoFlag":true} 并保存配置

使用示例

示例1:开启IEC自动波特率功能

发送: OPIECAUTOON\r\n
返回: OK\r\n

说明: 成功开启IEC自动波特率功能,设备现在可以自动检测并切换波特率

示例2:使用场景

场景:需要临时启用自动波特率功能来测试不同波特率的电表

步骤1: 发送开启命令
发送: OPIECAUTOON\r\n
返回: OK\r\n

步骤2: 开始与电表通信,设备会自动检测并切换到正确的波特率

步骤3: 设备重启后,此设置会恢复为默认状态

示例3:与关闭命令配合使用

// 开启自动波特率
发送: OPIECAUTOON\r\n
返回: OK\r\n

// 进行通信测试...

// 关闭自动波特率
发送: OPIECAUTOOFF\r\n
返回: OK\r\n

注意事项

  1. 临时设置: 此命令的设置在设备重启后会失效,恢复为开机时的默认状态
  2. 命令格式: 必须包含回车换行符 \r\n
  3. 应用场景: 适用于需要临时测试或调试自动波特率功能的场景

4. 关闭IEC自动波特率功能

功能说明

临时关闭IEC自动波特率功能,使设备使用固定的波特率进行通信。此设置仅在运行时有效,设备重启后会恢复为开机时的默认状态。

设备固件版本必须大于V4.41版本

命令格式

此命令使用文本格式,通过串口或蓝牙发送。

  • 命令: OPIECAUTOOFF\r\n
  • 返回: OK\r\n
  • 说明:
    • 成功关闭IEC自动波特率功能
    • 此设置仅在运行时有效,重启后恢复为开机状态
    • 如需永久生效,请使用OP系列命令 {"IECAutoFlag":false} 并保存配置

使用示例

示例1:关闭IEC自动波特率功能

发送: OPIECAUTOOFF\r\n
返回: OK\r\n

说明: 成功关闭IEC自动波特率功能,设备将使用固定波特率进行通信

示例2:使用场景

场景:需要固定波特率进行通信,避免自动切换

步骤1: 发送关闭命令
发送: OPIECAUTOOFF\r\n
返回: OK\r\n

步骤2: 使用固定波特率与电表通信

步骤3: 设备重启后,此设置会恢复为默认状态

示例3:与开启命令配合使用

// 关闭自动波特率
发送: OPIECAUTOOFF\r\n
返回: OK\r\n

// 使用固定波特率进行通信...

// 重新开启自动波特率
发送: OPIECAUTOON\r\n
返回: OK\r\n

注意事项

  1. 临时设置: 此命令的设置在设备重启后会失效,恢复为开机时的默认状态
  2. 命令格式: 必须包含回车换行符 \r\n
  3. 应用场景: 适用于需要固定波特率通信或精确控制通信参数的场景

5. 设置光电头波特率参数

功能说明

设置光电头(OP)的串口通信参数,包括波特率、校验位、数据位和停止位。此命令用于配置设备与电表之间的通信参数。

固件版本必须大于V4.3版本

命令格式(OP系列)

此命令使用文本格式,通过串口或蓝牙发送。

  • 命令: <BaudOp>,<baudrate>,<parity>,<datalen>,<stopbit>[,]\r\n
  • 返回: OK\r\n

同样类似的命令还有(固件版本需要大于V4.5版本):

  • BaudAlt:设置光电头串口参数,对应BaudOp功能,返回统一的"OK\r\n"
  • BaudStart:打开IEC自动波特率功能并设置初始IEC波特率,默认为300E71,返回统一的"OK\r\n"
  • BaudMid:设置IEC中间波特率,如果设置,则在跳转时强制使用该波特率,不设置,则根据系统自动识别,返回统一的"OK\r\n"

参数说明

参数 说明 取值范围 示例
baudrate 波特率 300-115200 9600, 19200, 38400
parity 校验位 N, E, O N=无校验, E=偶校验, O=奇校验
datalen 数据位长度 5, 6, 7, 8 8
stopbit 停止位 0, 1, 2 0或1=1位停止位, 2=2位停止位

常用波特率配置

波特率 校验位 数据位 停止位 命令示例
9600 无校验 8 1 BaudOp,9600,N,8,1\r\n
19200 无校验 8 1 BaudOp,19200,N,8,1\r\n
300 偶校验 7 1 BaudOp,300,E,7,1\r\n
2400 偶校验 7 1 BaudOp,2400,E,7,1\r\n
4800 无校验 8 1 BaudOp,4800,N,8,1\r\n
38400 无校验 8 1 BaudOp,38400,N,8,1\r\n
57600 无校验 8 1 BaudOp,57600,N,8,1\r\n
115200 无校验 8 1 BaudOp,115200,N,8,1\r\n

使用示例

示例1:设置9600波特率,无校验,8数据位,1停止位

发送: BaudOp,9600,N,8,1\r\n
返回: OK\r\n

说明: 成功设置光电头波特率为9600,无校验,8数据位,1停止位

示例2:设置300波特率,偶校验,7数据位,1停止位(IEC标准)

发送: BaudOp,300,E,7,1\r\n
返回: OK\r\n

说明: 成功设置光电头波特率为300,偶校验,7数据位,1停止位(符合IEC 62056-21标准)

示例3:设置19200波特率,无校验,8数据位,1停止位

发送: BaudOp,19200,N,8,1\r\n
返回: OK\r\n

说明: 成功设置光电头波特率为19200,无校验,8数据位,1停止位

示例4:完整通信流程

步骤1: 设置波特率参数
发送: BaudOp,9600,N,8,1\r\n
返回: OK\r\n

步骤2: 开始与电表通信
(发送电表协议命令)

步骤3: 如需切换波特率,重新发送设置命令
发送: BaudOp,300,E,7,1\r\n
返回: OK\r\n

参数格式说明

波特率(baudrate)

  • 范围: 300-115200
  • 常用值: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
  • 说明: 通信速率,单位:位/秒

校验位(parity)

  • N: 无校验(None)
  • E: 偶校验(Even)
  • O: 奇校验(Odd)
  • 说明: 用于检测数据传输错误

数据位(datalen)

  • 范围: 5-8位
  • 常用值: 7(IEC标准), 8(标准ASCII)
  • 说明: 每个字符的数据位数

停止位(stopbit)

  • 0 或 1: 1位停止位
  • 2: 2位停止位
  • 说明: 用于标识字符结束

注意事项

  1. 命令格式:

    • 必须包含 BaudOp, 前缀
    • 参数之间用逗号分隔
    • 末尾可选逗号,但建议不添加
    • 必须包含回车换行符 \r\n
  2. 参数匹配: 设置的参数必须与电表设备的通信参数完全匹配,否则无法正常通信

  3. IEC标准配置:

    • IEC 62056-21标准通常使用:300波特率,偶校验,7数据位,1停止位
    • 命令示例:BaudOp,300,E,7,1\r\n
  4. 实时生效: 设置后立即生效,无需重启设备

  5. 设备类型:

    • 返回:OK\r\n
  6. 与自动波特率的关系:

    • 如果启用了IEC自动波特率功能,设备可能会自动调整波特率
    • 如需固定波特率,请先关闭自动波特率功能:OPIECAUTOOFF\r\n

附录

命令协议说明

OP运行时系列命令

  • 格式: 文本格式
  • 要求: 无需进入命令模式,可直接发送
  • 结束符: 必须包含 \r\n(回车换行符)

通信方式

串口通信

  • windows下使用串口调试工具(如sscom32)- 选择正确的串口号和波特率
  • 发送命令时确保包含正确的结束符

蓝牙通信

  • 安卓系统:使用蓝牙调试工具通过SPP或BLE方式通讯
  • iOS系统:使用蓝牙调试工具通过BLE方式通讯

常见问题

Q1: 为什么发送命令后没有返回?

  • 检查是否进入了命令模式(OP系列命令)
  • 检查命令格式是否正确,特别是结束符 \r\n
  • 检查串口或蓝牙连接是否正常

Q2: 设置后重启设备,配置丢失了?

  • OP运行时系列命令(OPIECAUTOON/OFF)是临时设置,重启后失效

Q3: 如何确认当前波特率设置?

  • 使用OP专用配置系列命令查询
  • 或查看设备菜单中的波特率设置

Q4: 自动波特率和固定波特率如何选择?

  • 自动波特率:适用于不确定电表波特率的场景,设备会自动检测
  • 固定波特率:适用于已知电表波特率,需要精确控制的场景

版本信息

  • 文档版本: 1.0
  • 更新日期: 2025-12-03
  • 适用设备: OP-BT系列、OP-BTS系列