适用型号
LBE-LEI-M-00、LBE-LES-M-00、LBE-LES-M-01、LBE-LEC-M-00、LBE-LEE-M-00
LBE-KEI-M-00、LBE-KES-M-00、LBE-KES-M-01、LBE-KEC-M-00、LBE-KEE-M-00
Date | Version | Description |
---|---|---|
2024/10/28 | 0.1 | 协议重新整理 |
2025/03/12 | 0.2 | 增加以太网协议 |
2025/03/20 | 0.4 | 修复文档描述错误 |
2025/06/27 | 0.5 | 修复部分文档描述错误 |
系统介绍
系统定义
停止播放
播放 0 号文件夹,即可停止当前播放。
文件夹数量
系统最多支持 256 个文件夹 [0,255]。
文件夹定义
- 0 号文件夹为系统保留文件夹,是静音文件夹;当用户需要静音或中断当前播放时,直接切换到 0 号文件夹即可。
- 0 号文件夹默认隐藏,不可编辑。
- 1~255 号文件夹为用户文件夹,可自由导入音频文件。
- 单个文件夹导入的歌曲数量在容量允许的情况下没有数量限制。
- 播放系统只能指定文件夹,不能指定播放哪个文件;如需指定文件,该文件夹仅放一个音频文件即可。
- 当播放系统指定播放某个文件夹时,系统会根据“播放模式”和“选择模式”决定播放策略:循环或单次,顺序或随机,详见下一小节“模式定义”。
支持文件格式
音频文件格式支持 .mp3 和 .wav。
支持接口
目前播放器支持 4 种控制接口:
接口 | 备注 |
---|---|
串口 | RS232 / RS485 |
CAN | CAN2.0B |
Input | 12 V~36 V NPN 或 PNP |
以太网 | Ethernet |
模式定义
音量模式
模式 | 取值范围 | 描述 |
---|---|---|
100 等分 | [0,100] | 此模式下音量被分成 100 等份,当音量为 100 时音量最大。 |
28 等分 | [0,28] | 此模式下音量被分成 28 等份,当音量为 28 时音量最大。 |
播放状态 PlaybackState
状态 | 值 | 描述 |
---|---|---|
停止 | 0x01 | 播放器在停止状态 |
播放中 | 0x02 | 播放器在播放状态 |
语音播放模式 PlaybackMode
模式 | 值 | 描述 |
---|---|---|
循环模式 | 0x00 | 文件夹内文件依次播放,一直循环。 |
单次模式 | 0x01 | 文件夹内文件依次播放,播放完最后一个文件后播放器停止。 |
选择模式 SelectMode
模式 | 值 | 描述 |
---|---|---|
顺序模式 | 0x00 | 按照文件夹内文件名排序,从小到大依次选择文件。 |
随机模式 | 0x01 | 随机选择指定文件夹内的文件;当处于随机模式时,文件将一直随机循环播放。 |
允许忽略播放指令 IgnorePlayCmd
是否开启 | 值 | 描述 |
---|---|---|
关闭 | 0x00 (false) | 系统将无条件实时响应播放指令;若再次收到相同文件夹播放指令,会停止当前播放并重新开始。 |
开启 | 0x01 (true) | 若当前正在播放某文件夹,再次收到相同文件夹播放指令时将忽略,维持原播放。 |
以太网
协议:LD-NET2
协议说明
- 基于 TCP/IP;TCP 断开与连接请至少保持 50 ms 间隔:TCP 断开 → 延时 50 ms → TCP 连接。
- 协议由 7 个字节组成: head function param1 param2 param3 xor tail 头码 功能码 参数1 参数2 参数3 xor校验 尾码
- 头码:0x01
- 尾码:0x02
- xor 校验:由前 5 个字节异或得到:
xor = header ^ function ^ param1 ^ param2 ^ param3
- 指令间隔:每条指令发送间隔请保持 200 ms 以上。
协议指令的构成与解析请参考“LD-SP2”章节。
协议:Modbus-TCP
协议说明
- 支持指令:
- 读保持寄存器(0x03)
- 写单个保持寄存器(0x06)
- 写多个保持寄存器(0x10)
- 指令间隔:200 ms 以上。
相关寄存器
寄存器地址 | 功能说明 | 取值范围 | 只读 |
---|---|---|---|
0x03 | 播放寄存器 | [0,255] | 否 |
0x04 | 音量寄存器 | [0,100] 或 [0,28] | 否 |
0x05 | 播放模式寄存器 | [0,1] | 否 |
0x06 | 选择模式寄存器 | [0,1] | 否 |
0x07 | 忽略播放指令寄存器 | [0,1] | 否 |
0x08 | 播放状态寄存器 | [1,2] | 是 |
协议指令
写单个寄存器指令
发送格式:
事务处理标识 | 协议标识符 | 长度 | 单元标识符 | 功能码 | 寄存器地址 | 寄存器值 |
---|---|---|---|---|---|---|
2 Byte | 2 Byte | 2 Byte | 1 Byte | 1 Byte | 2 Byte | 2 Byte |
- 事务标识符:报文编号,一般自增。
- 协议标识符:默认 0x0000。
- 长度:后续字节长度,写单个寄存器固定 0x06。
- 单元标识符:默认 0x01。
- 功能码:0x06。
回复格式:与发送一致。
示例 1:播放 1 号文件夹(写 0x03 为 1)
控制器→播放器(HEX):00 01 00 00 00 06 01 06 00 03 00 01
播放器→控制器(HEX):00 01 00 00 00 06 01 06 00 03 00 01
示例 2:停止播放(写 0x03 为 0)
控制器→播放器(HEX):00 02 00 00 00 06 01 06 00 03 00 00
播放器→控制器(HEX):00 02 00 00 00 06 01 06 00 03 00 00
示例 3:音量设为 100%(写 0x04 为 100=0x64)
控制器→播放器(HEX):00 03 00 00 00 06 01 06 00 04 00 64
播放器→控制器(HEX):00 03 00 00 00 06 01 06 00 04 00 64
读寄存器指令
发送格式:
事务处理标识 | 协议标识符 | 长度 | 单元标识符 | 功能码 | 起始寄存器地址 | 寄存器数量 |
---|---|---|---|---|---|---|
2 Byte | 2 Byte | 2 Byte | 1 Byte | 1 Byte | 2 Byte | 2 Byte |
回复格式:
事务处理标识 | 协议标识符 | 长度 | 单元标识符 | 功能码 | 字节数 | 寄存器值 |
---|---|---|---|---|---|---|
2 Byte | 2 Byte | 2 Byte | 1 Byte | 1 Byte | 1 Byte | 2 Byte |
示例:读取播放状态(读 0x08)
控制器→播放器(HEX):00 04 00 00 00 06 01 03 00 08 00 01
播放器→控制器(HEX):00 04 00 00 00 05 01 03 02 00 02
→ 当前播放状态为 2(播放中)。
协议:HTTP-GET
协议说明
- 基于 HTTP,播放器内置 HTTP 服务。
- 指令间隔:500 ms 以上。
协议指令
播放指令
URL:http://{IP}:{port}/control/play?id={dir}
http://{IP}:{port}/control/play?id={dir}&volume={vol}
参数:
参数 | 说明 | 是否必须 |
---|---|---|
IP | HTTP 服务器 IP 地址 | 必须 |
port | HTTP 服务器端口 | 必须 |
dir | 需要播放的文件夹编号 | 必须 |
vol | 音量(0-100 或 0-28) | 可选 |
回复:{"Code":0,"Msg":"ok"}
示例 1:以 100% 音量播放 1 号文件夹(默认 IP/端口)
控制器→播放器:http://192.168.168.254:7890/control/play?id=1&volume=100
播放器→控制器:{"Code":0,"Msg":"ok"}
示例 2:停止播放(id=0)http://192.168.168.254:7890/control/play?id=0&volume=100
回复同上。
示例 3:播放 2 号文件夹(不带音量)http://192.168.168.254:7890/control/play?id=2
回复同上。
设置音量
URL:http://{IP}:{port}/control/set?volume={value}
示例:设为 90%http://192.168.168.254:7890/control/set?volume=90
回复:{"Code":0,"Msg":"ok"}
设置播放模式
URL:http://{IP}:{port}/control/set?loopmode={value}
value:0=循环,1=单次
示例:设为循环http://192.168.168.254:7890/control/set?loopmode=0
设置选中模式
URL:http://{IP}:{port}/control/set?selectmode={value}
value:0=顺序,1=随机
示例:设为顺序http://192.168.168.254:7890/control/set?selectmode=0
设置是否允许忽略播放指令
URL:http://{IP}:{port}/control/set?ignorecmd={value}
value:0=不允许,1=允许
示例:允许忽略http://192.168.168.254:7890/control/set?ignorecmd=1
查询播放器状态
URL:http://{IP}:{port}/control/get
回复示例:{"Volume":100,"SelectMode":0,"LoopMode":0,"IsIgnorePlayCmd":1,"State":2,"GroupId":2,"FileIndex":0,"Code":0}
字段说明:
字段名 | 说明 |
---|---|
Volume | 当前音量 |
SelectMode | 当前选中模式(0顺序 1随机) |
LoopMode | 当前播放模式(0循环 1单次) |
IsIgnorePlayCmd | 是否允许忽略相同播放指令(0否 1是) |
State | 当前播放状态(1停止 2播放中) |
GroupId | 当前播放文件夹 |
FileIndex | 当前文件索引(保留) |
Code | 异常码,默认 0 |
串口
协议:LD-SP2
协议说明
- 帧格式:7 Byte head function param1 param2 param3 xor tail 头码 功能码 参数1 参数2 参数3 xor校验 尾码
- 头码:0x01
- 尾码:0x02
- xor 校验:前 5 Byte 异或
- 指令间隔:200 ms 以上。
协议指令
播放指令
请求:01 51 dir 00 volume xor 02
回复:01 52 dir 00 volume xor 02
示例:以 96% 音量播放 2 号文件夹
控制器→播放器(HEX):01 51 02 00 60 32 02
播放器→控制器(HEX):01 52 02 00 60 31 02
设置音量指令
请求:01 41 00 00 volume xor 02
回复:01 42 00 00 volume xor 02
示例 1:设为 10001 41 00 00 64 24 02
回复:01 42 00 00 64 27 02
示例 2:设为 2801 41 00 00 1C 5C 02
回复:01 42 00 00 1C 5F 02
设置播放模式指令
请求:01 43 00 00 playback_mode xor 02
回复:01 44 00 00 playback_mode xor 02
示例:设为循环01 43 00 00 00 42 02
回复:01 44 00 00 00 45 02
设置选中模式指令
请求:01 45 00 00 select_mode xor 02
回复:01 46 00 00 select_mode xor 02
示例:设为随机01 45 00 00 01 45 02
回复:01 46 00 00 01 46 02
设置忽略播放指令
请求:01 47 00 00 ignore_play_cmd xor 02
回复:01 48 00 00 ignore_play_cmd xor 02
示例:启用忽略01 47 00 00 01 47 02
回复:01 48 00 00 01 48 02
查询状态指令 1
请求:01 53 00 00 00 52 02
回复:01 54 00 playback_state volume xor 02
示例:
控制器→播放器:01 53 00 00 00 52 02
播放器→控制器:01 54 00 02 5A 37 02
→ 状态:播放中;音量:90
查询状态指令 2
请求:01 55 00 00 00 54 02
回复:01 56 playback_mode select_mode ignore_play_cmd xor 02
示例:
控制器→播放器:01 55 00 00 00 54 02
播放器→控制器:01 56 00 01 01 57 02
→ 播放模式:循环;选中模式:随机;忽略相同指令:是
查询状态指令 3
请求:01 57 00 00 00 56 02
回复:01 58 dir 00 00 xor 02
示例:
控制器→播放器:01 57 00 00 00 56 02
播放器→控制器:01 58 02 00 00 5B 02
→ 当前播放文件夹:2
协议:Modbus-RTU
(略,与 Modbus-TCP 寄存器定义完全一致,仅链路层改为 RTU,示例见原文)
CAN
协议:LD-CAN1
- 帧格式:8 Byte header function param1 param2 param3 param4 xor tail 头码 功能码 参数1 参数2 参数3 参数4 xor 尾码
- 头码:0x01;尾码:0x02;xor:前 6 Byte 异或。
- 帧 ID 可上位机修改,出厂默认请求 0x200,回复 0x201。
- 指令间隔:100 ms 以上。
(各指令帧格式与 LD-SP2 对应指令参数完全一致,仅增加 param4 占位,详见原文示例)
协议:LD-CAN2
- 帧格式:8 Byte,无尾码、无 xor,头码 0x01,其余保留 0x00。
- 帧 ID 默认:请求 0x200,回复 0x201。
- 指令间隔:100 ms 以上。
(各指令与 LD-CAN1 相同,仅去掉 xor 与尾码,详见原文示例)
IO 输入
LD-INPUT1
- 触发条件:保持对应输入口触发状态。
- 输入类型:NPN/PNP 可接线选择。
- 8 位输入口状态决定文件夹编号(二进制加权,支持 0~255,0 为停止)。
- 示例表格及计算过程见原文。
LD-INPUT4
- 触发条件:至少 100 ms 脉冲信号。
- 其余规则与 LD-INPUT1 相同,仅触发方式改为脉冲。
- 示例表格及计算过程见原文。