一、物理层协议
本协议是使用标准的串行协议,可以是RS232型式,也可以是RS485型式。
配置:
波特率 | 9600bps(默认) |
数据位 | 8位 |
校验方式 | 无 |
停止位 | 1位 |
二、逻辑层协议
每次通讯要发送一串数据,包据帧头,数据,帧尾。如下:
起始符 | ID号 | 数据长度 | 数据包 | 校验码 | 结束符 |
1字节 | 2字节 | 1字节 | <256 | 1字节 | 1字节 |
数据帧描述
起始符 | 上位机输出数据:0XFA, 下位机发送数据:0XFC |
ID号 | 每个产品有一个的ID号:每个下位机接收到帧数据后要判断ID号跟自己的ID号是否相同,相同则做对应处理。如果ID号是0x0000,表示广播指令,所有下位机都要处理。 |
数据长度 | 指示后面有几个字节的数据 |
数据包 | 数据的个数由数据长度来定。 |
校验码 | 采用和校验,ID号+数据长度+数据=CRC |
结束符 | 0xFE |
三、数据包详解
数据包中包含了本次通讯的指令状态信息,指令如下:
功能按键都需要ID,如果觉得测试不方便可以改主机十进制房间号(ID号)改成1 。或者直接点击重置。可以用ID的例句
1.基础指令
1.设备信息查询
反馈得到:
指令(1B) | 参数1(<128) | 参数2(<128) |
0x02 | 型号 | 版本 |
2.波特率查询
得到反馈:
FC 00 01 04 08 00 25 80 B2 FE(默认波特率为9600,十六进制转十进制)
3.查寻设备状态
得到反馈:
指令(1B) | 参数1(1B) | 参数2(1B) | 参数3(1B) | 参数4(1B) | 参数5(2B) |
0x0d | 3-7bit菜单位置1-2bit音源状态0bit | 2-7bit当前音量1bit开关机状态0bit静音状态 | 4-7bit:播放模式0-3bit:音效模式 | 2-7bit:播放资源0-1bit:当前播放状态 | 正在播放的文件序号 |
2.音乐控制指令
1.按键指令
开机
FA 00 01 02 10 00 13 FE 得到反馈:FC 00 01 03 03 00 00 07 FE
关机
FA 00 01 02 10 01 14 FE 得到反馈:FC 00 01 03 03 01 01 09 FE
播放
FA 00 01 02 10 02 15 FE 得到反馈:FC 00 01 03 03 02 01 0A FE
暂停
FA 00 01 02 10 03 16 FE 得到反馈:FC 00 01 03 03 03 02 0C FE
暂停/播放
FA 00 01 02 10 04 17 FE 得到反馈:FC 00 01 03 03 04 01 0C FE
得到反馈:FC 00 01 03 03 04 02 0D FE
停止
FA 00 01 02 10 05 18 FE 得到反馈:FC 00 01 03 03 05 03 0F FE
音量– 03为音量修改后结果
FA 00 01 02 10 06 19 FE 得到反馈:FC 00 01 03 03 06 03 10 FE
音量+ 07为音量修改后结果
FA 00 01 02 10 07 1A FE 得到反馈:FC 00 01 03 03 07 07 15 FE
静音关(关闭静音效果)
FA 00 01 02 10 08 1b FE 得到反馈:FC 00 01 03 03 08 01 10 FE
静音开(打开静音效果)
FA 00 01 02 10 09 1C FE 得到反馈:FC 00 01 03 03 09 00 10 FE
静音开/关
FA 00 01 02 10 0A 1D FE 得到反馈:FC 00 01 03 03 0A 00 11 FE
FA 00 01 02 10 0A 1D FE 得到反馈:FC 00 01 03 03 0A 01 12 FE
上一曲(歌曲名称字符串形式反馈)
FA 00 01 02 10 0B 1E FE 得到反馈:FC 00 01 0C 03 0B 10 07 00
05 ED 8A B8 E6 B1 BD BA FE
下一曲(歌曲名称字符串形式反馈)
FA 00 01 02 10 0C 1F FE 得到反馈:FC 00 01 12 03 0C 10 07 00
03 E9 A5 BF E7 8B BC E4 BC A0 E8 AF B4 42 FE
切换音源
FA 00 01 02 10 0D 20 FE 得到反馈:FC 00 01 03 03 0D 00 14 FE(本地)
FC 00 01 03 03 0D 01 15 FE(外部)
FC 00 01 03 03 0D 03 17 FE(蓝牙)
2.音量设置
FA 00 01 02 11 01 15 FE(设置音量为01)
得到反馈:
FC 00 01 02 12 01 16 FE
3.查寻开关机状态
得到反馈:
FC 00 01 02 14 00 17 FE 开机
FC 00 01 02 14 01 18 FE 关机
4.查寻当前音量大小
FA 00 01 01 15 17 FE
得到反馈:
FC 00 01 02 16 08 21 FE (当前音量为08)
5.查寻静音状态
得到反馈:
FC 00 01 02 18 00 1B FE 静音开
FC 00 01 02 18 01 1C FE 静音关
6.静音设置
静音开
FA 00 01 02 19 00 1C FE 得到反馈:FC 00 01 02 18 00 1B FE
静音关
FA 00 01 02 19 01 1D FE 得到反馈:FC 00 01 02 18 01 1C FE
7.查寻音乐资源数目(旧)
得到反馈:
指令(1B) | 参数1(1B) | … |
0x8c | 个数(全部-音乐) | … |
注:参数有24个,查看对应的播放资源 - 全部-音乐、内存-音乐、SD卡-音乐……
8.查寻音乐资源数目
得到反馈:
指令(1B) | 参数1(2B) | … |
0x4A | 个数(全部-音乐) | … |
注:参数有30+N个参数(60+2NByte),查看对应的播放资源 - 全部-音乐、内存-音乐、SD卡-音乐……
9.查寻音乐播放器的状态(旧)
FA 00 01 01 80 82 FE
得到反馈:
指令(1B) | 参数1(1B) | 参数2(1B) | 参数3(2B) | 参数4(字串) |
0x81 | 4-7bit:播放模式0-3bit:音效模式 | 2-7bit:播放资源0-1bit:当前播放状态 | 正在播放的文件序号 | 歌曲名字 |
10.查寻音乐播放器的状态
FA 00 01 01 75 77 FE
得到反馈:
指令(1B) | 参数1(1B) | 参数2(1B) | 参数3(2B) | 参数4(字串) |
0x75 | 4-7bit:播放模式0-3bit:音效模式 | 2-7bit:播放资源0-1bit:当前播放状态 | 正在播放的文件序号 | 歌曲名字 |
注:
参数1 | 说明 | |
4-7bit | 播放模式: | |
0x00 | 顺序播放(H6) | |
0x01 | 全部循环 | |
0x02 | 单曲循环 | |
0x03 | 随机播放 | |
0-3bit | 环境音效: | |
0x00 | 普通 | |
0x01 | 摇滚 | |
0x02 | 流行 | |
0x03 | 舞曲 | |
0x04 | 嘻哈 | |
0x05 | 古典 | |
0x06 | 超重低音 | |
0x07 | 人声 | |
0x08 | 爵士 | |
0x09 | 柔和 | |
参数2 | 说明 | |
2-7bit | 播放资源: | |
0x01 | 当前播放列表 | |
0x02 | 本地音乐 | |
0-1bit | 播放状态: | |
0x01 | 正常播放 | |
0x02 | 暂停 | |
0x03 | 停止 |
11.查寻音乐界面指定序号音乐详细信息(旧)
指令(1B) | 参数1(1B) | 参数2(2B) |
0x82 | 播放资源 | 文件序号 |
例:FA 00 01 04 82 01 00 00 88 FE 查询全部音乐的第一首歌
得到反馈:
指令(1B) | 参数1(2B) | 参数2(字串) |
0x83 | 文件序号 | 歌曲名字 |
12.查寻音乐界面指定序号音乐详细信息
指令(1B) | 参数1(1B) | 参数2(2B) |
0x73 | 播放资源 | 文件序号 |
例:FA 00 01 04 73 01 00 00 79 FE 查询全部音乐的第一首歌
得到反馈:
指令(1B) | 参数1(1B) | 参数2(2B) | 参数3(字串) |
0x73 | 播放资源 | 文件序号 | 歌曲名字 |
13.查寻音乐播放器正播放的音乐详细信息
得到反馈:
指令(1B) | 参数1(2B) | 参数2(2B) | 参数3(2B) | 参数4(字符串) | 参数5(字符串) | 参数6(字符串) |
0x85 | 当前文件序号 | 当前播放的进度 | 歌曲整个时长 | 歌曲名字 | 文件名 | 歌手名 |
14.播放模式设置
全部循环
FA 00 01 02 86 01 8A FE 得到反馈:FC 00 01 02 86 01 8A FE
单曲循环
FA 00 01 02 86 02 8B FE 得到反馈:FC 00 01 02 86 02 8B FE
随机播放
FA 00 01 02 86 03 8C FE 得到反馈:FC 00 01 02 86 03 8C FE
15.音效设置
普通
FA 00 01 02 87 00 8A FE 得到反馈:FC 00 01 02 87 00 8A FE
摇滚
FA 00 01 02 87 01 8B FE 得到反馈:FC 00 01 02 87 01 8B FE
流行
FA 00 01 02 87 02 8C FE 得到反馈:FC 00 01 02 87 02 8C FE
舞曲
FA 00 01 02 87 03 8D FE 得到反馈:FC 00 01 02 87 03 8D FE
嘻哈
FA 00 01 02 87 04 8E FE 得到反馈:FC 00 01 02 87 04 8E FE
古典
FA 00 01 02 87 05 8F FE 得到反馈:FC 00 01 02 87 05 8F FE
超重低音
FA 00 01 02 87 06 90 FE 得到反馈:FC 00 01 02 87 06 90 FE
人声
FA 00 01 02 87 07 91 FE 得到反馈:FC 00 01 02 87 07 91 FE
爵士
FA 00 01 02 87 08 92 FE 得到反馈:FC 00 01 02 87 08 92 FE
柔和
FA 00 01 02 87 09 93 FE 得到反馈:FC 00 01 02 87 09 93 FE
16.播放指定序号的歌曲
指令(1B) | 参数1(1B) | 参数2(2B) |
0x89 | 播放资源 | 歌曲序号 |
例:FA 00 01 04 89 01 00 00 8F FE 播放全部音乐的第一首歌
得到反馈:
17.查看房间名和房间序号
FA 00 01 01 68 6A FE
得到反馈:
指令(1B) | 参数1(2B) | 参数2(字串) |
0x69 | 房间号 | 房间名(会反馈、已无效) |
18.设置房间号
FA 00 01 03 6A 00 02 70 FE
得到反馈:
FC 00 01 03 6A 02 00 70 FE
19.查看音源数
FA 00 01 01 6B 6D FE
得到反馈:
FC 00 01 02 6C 03 72 FE(03表示三种音源)
20.设置音源
本地音源
FA 00 01 02 6D 00 70 FE 得到反馈:FC 00 01 03 03 00 00 07 FE
外部音源
FA 00 01 02 6D 01 71 FE 得到反馈:FC 00 01 03 03 00 01 08 FE
蓝牙音源
FA 00 01 02 6D 03 73 FE 得到反馈:FC 00 01 03 03 00 03 0A FE
云音乐(H6-思必驰)
FA 00 01 02 6D 07 77 FE 得到反馈:FC 00 01 03 03 00 07 0E FE
21.单独设置分区
指令(1B) | 参数(1B) |
0x74 | 单分区状态,对应多分区状态 |
FA 00 01 02 74 BD 34 FE
设置分区二,开,音量15级。
BD转换成二进制就是 1 01111 01。其中01对应的是是分区指。01111对应分区音量大小。1对应开关
得到反馈:
指令(1B) | 参数(4B) |
0x74 | 单分区状态,对应单分区状态 |
单分区状态:
参数 | 说明 |
Bit0~1 | 对应分区值。0x00~0x11对应4个分区。 |
Bit2~6 | 对应分区音量值0x00~0x0F对应0~15级 |
Bit7 | 分区开关,0x00关,0x01开 |
3.错误反馈指令
指令(1B) | 参数(1B) |
0x99 | 错误类型 |
参数表
参数 | 错误类型 |
0x01 | 指令错误 |
0x02 | 校验码错误 |
0x03 | 长度错误 |
0x05 | 异常错误 |