目录
使用泉盛UV-K5/K6/K1定制固件
一、前言
DTrac APP新增对泉盛UV-K5/K6/K1对讲机的支持,通过该APP可实现对讲机与卫星转发器参数的实时同步,彻底简化业余卫星通联的操作流程,无需繁琐手动设置,一部手机即可完成所有核心操作,让业余卫星通联更智能、更高效。本指南将详细介绍功能实现、硬件改造、固件下载、刷机方法及相关设置,供业余无线电爱好者参考使用。
二、核心功能介绍
通过DTrac APP连接对讲机(需完成硬件改造及固件刷写),可实现以下智能化功能,覆盖业余卫星通联全流程需求:
- 自动获取位置:APP自动获取当前地理位置信息,为卫星参数同步提供基础;
- 自动更新星历:实时同步卫星星历数据,确保卫星轨道预测的准确性;
- 成熟算法预测:采用优化算法,精准预测卫星运行轨迹及通联窗口;
- 实时同步卫星多普勒频率:根据卫星位置动态调整频率,保障通联音质;
- 实时同步通联模式参数:自动匹配卫星通联所需的模式参数,无需手动切换;
- 实时同步发射亚音参数:同步卫星通联对应的发射亚音,确保通联正常;
- 自动监听控制:卫星入境时自动开启对讲机监听,卫星离境后自动关闭监听,减少无效耗电。
注意:由于泉盛UV-K5/K6/K1硬件本身限制,除FM模式外,其余模式仅对接收信道有效,发射端仅支持FM模式。
三、硬件改造(蓝牙透传模块)
泉盛UV-K5/K6/K1系列电台虽自带串口,但通过外接网络转串口对接APP操作繁琐,推荐在电台内部加装3.3V双模蓝牙透传模块,实现一劳永逸的无线连接,后续可灵活拓展功能。
3.1 推荐模块及选型建议
优先选择3.3V双模蓝牙透传模块,兼顾稳定性与拓展性,推荐型号如下:
- 首选:EBYTE/亿佰特EWM104-BT41SP(推荐理由:支持BLE在线修改模块设置,操作便捷,稳定性强,尺寸适配性好);
- 备选:度云doBT-M01双模蓝牙模块(从机版本),需手动通过AT指令激活相关功能。
3.2 模块基础设置(必做)
模块安装前需完成基础参数设置,确保与对讲机及APP正常通信,不同模块设置方法如下:
3.2.1 亿佰特EWM104-BT41SP模块(首选)
该模块默认已激活SPP和BLE功能,无需额外激活,仅需执行以下AT指令设置参数(指令需通过串口工具发送):
AT+BAUD=4 //设置波特率为38400(对讲机串口默认波特率) AT+SPPNAME=UV-K6 //自定义SPP蓝牙名称(可修改为UV-K5/UV-K1,与机型对应) AT+BLENAME=UV-K6_BLE // 自定义BLE蓝牙名称(与SPP名称对应,便于识别)
3.2.2 度云doBT-M01模块(备选)
该模块需手动通过AT指令激活SPP和BLE功能,同时设置相关参数,指令如下(顺序不可乱):
AT+CR00\r\n // 恢复默认设置(可选,建议执行) AT+CT03\r\n // 配置为双模模式 AT+BDUV-K6\r\n // 自定义SPP蓝牙名称(与机型对应) AT+B501\r\n // 设置波特率为38400 AT+BMUV-K6_BLE\r\n // 自定义BLE蓝牙名称 AT+B401\r\n // 开启SPP透传功能 AT+U0FFF0\r\n // 设置BLE服务UUID AT+U1FFF3\r\n // 配置BLE相关参数 AT+U2FFF1\r\n // 设置BLE Notify特征值 AT+U3FFF2\r\n // 设置BLE Write特征值
3.2.3 蓝牙模块UUID定义(通用)
无论选用哪种模块,如果通过BLE对接DTrac APP时需遵循以下UUID定义,确保通信正常:
- Service UUID: 0000FFF0-0000-1000-8000-00805F9B34FB
- Notify feature(通知特征): 0000FFF1-0000-1000-8000-00805F9B34FB
- Write feature(写入特征): 0000FFF2-0000-1000-8000-00805F9B34FB
3.3 拆机与接线步骤
温馨提示:拆机操作需谨慎,建议提前搜索对应机型的拆机教程(网上可轻松找到),避免损坏设备。接线前需关闭对讲机电源,确保断电操作。
3.3.1 通用接线原则
蓝牙模块与对讲机的接线对应关系(核心,不可接反):
| 蓝牙模块引脚 | 对讲机对应引脚 | 备注 |
|---|---|---|
| TXD(发送) | RXD(接收) | 交叉连接,确保数据正常传输 |
| RXD(接收) | TXD(发送) | 交叉连接,不可接反,否则无法通信 |
| 3.3V(电源正) | 3V3(电源正) | 必须接3.3V,不可接5V,避免烧毁模块/对讲机 |
| GND(电源负) | GND(电源负) | 共地,确保电路稳定 |
3.3.2 分机型接线细节
不同机型的MCU型号不同,TXD、RXD引脚位置有差异,具体如下:
(1)UV-K5/K6(MCU:DP32G030)
(2)UV-K1/K5v3(MCU:PY32F071)
注:接线前需先完成一个关键操作——去除原RXD位置与3.5mm插座PTT功能极的100欧姆电阻,避免开机误触进入刷机模式,导致设备故障。
- TXD对应MCU的30脚,RXD对应MCU的31脚;
- UV-K1机身较紧凑,建议选择小尺寸模块(如亿佰特EWM104-BT41SP),绝缘处理后可放置在对讲机顶部空隙位置,不影响机身闭合。
提示:UV-K1接线可参考相关电路图,通常根据K头走线可快速找到RXD、TXD、3V3、GND引脚,本文内容仅作参考,具体以实际电路为准。
3.3.3 收尾处理
接线完成后,对蓝牙模块进行绝缘处理(可使用绝缘胶带包裹),将模块固定在对讲机内部合适位置,确保不影响对讲机按键、屏幕及电池安装,随后重新组装对讲机即可。
四、定制固件介绍与下载
本定制固件基于F4HWN等最新开源固件轻微修改,完整保留原固件所有功能,仅新增DTrac APP适配相关功能,确保对讲机原有操作不受影响。
重要提示:相对于泉盛官方原版固件,本次定制固件的内存映射已完全改变,刷写后将丢失对讲机内所有内存通道和原有设置,请提前做好备份。固件遵循Apache-2.0协议,仅供学习和业余无线电交流使用。
4.1 固件来源(分机型)
4.1.1 UV-K5/K6(MCU:DP32G030)
4.1.2 UV-K1/K5v3(MCU:PY32F071)
4.2 固件下载(分机型)
警告:泉盛UV-K系列对讲机版本迭代较多,下载和使用固件时,务必认准与自己机型MCU对应的版本,若因版本不匹配导致对讲机变砖,本文作者及相关开发者概不负责!
4.2.1 UV-K5/K6(MCU:DP32G030)
适用范围:仅适用于MCU为DP32G030的UV-K5和UV-K6对讲机。
4.2.2 UV-K1/K5v3(MCU:PY32F071)
适用范围:仅适用于MCU为PY32F071的UV-K1和UV-K5/K6对讲机。
4.3 固件迭代说明
定制固件的主要迭代功能、Bug修复及优化内容,可参考其修改来源的原固件更新日志(链接见4.1章节),本文不再重复赘述。
五、刷机方法与校准备份
刷机前请务必仔细阅读本章节内容,养成备份校准文件的习惯,避免因刷机导致设备故障或参数丢失。
5.1 通用刷机方法
无论是在线刷机、离线线刷,还是蓝牙无线刷机,操作流程一致,具体步骤如下:
- 开机进入刷机模式:长按PTT键,同时开启对讲机电源,保持PTT键长按直至进入刷机模式;
- 连接设备:将对讲机与电脑/手机连接(在线刷机用USB线,蓝牙刷机需提前完成硬件改造并配对),选择正确的通信端口;
- 选择固件:打开对应刷机工具/网站,选择下载好的、与机型匹配的定制固件;
- 开始刷机:点击“更新”“刷机”等按钮,等待刷机完成,期间切勿断开连接、关闭电源或操作对讲机;
- 重启设备:刷机完成后,对讲机将自动重启,或手动重启,刷机完成。
补充说明:原版固件升级的详细操作步骤,可参考泉盛官方升级固件程序及说明文档;若刷机后出现变砖情况,可尝试先刷回对应机型的官方原版固件,再重新刷写定制固件。 UV-K5/K6官方升级固件程序和说明
5.2 校准文件备份与恢复
校准文件包含对讲机的核心参数(如频率校准、电压校准等),刷机前备份、刷机后恢复,可避免设备性能异常,具体操作如下:
5.2.1 备份校准文件
1. 对讲机以普通模式开机(不进入刷机模式); 2. 通过对应机型的在线刷机网站(见5.3章节),按照网站友好提示,在线备份校准数据; 3. 备份完成后,用对讲机的序列号重命名校准文件(序列号印在设备背面电池下方的标签上),避免多台设备时校准文件混淆。
5.2.2 恢复校准文件
1. 刷机完成后,对讲机以普通模式开机; 2. 进入对应在线刷机网站,按照提示上传备份的校准文件,在线恢复校准数据; 3. 恢复完成后,重启对讲机,确保参数生效。 提示:更新固件后,建议立即创建一个新的校准文件备份;若后续需要切换回原厂固件或其他固件,需先恢复对应备份的校准文件,再进行刷机操作。
5.3 分机型在线刷机网站
5.3.1 UV-K5/K6(MCU:DP32G030)
- 在线刷机/备份/恢复地址1:https://www.dtrac.cn/uvtools/
- 在线刷机/备份/恢复地址2:https://armel.github.io/uvtools/
5.3.2 UV-K1/K5v3(MCU:PY32F071)
- 在线刷机/备份/恢复地址1:https://www.dtrac.cn/uvtools2/
- 在线刷机/备份/恢复地址2:https://armel.github.io/uvtools2/
六、对讲机与APP设置
6.1 对讲机设置(必做)
6.2 DTrac APP设置
打开DTrac APP,按照以下步骤完成设置,实现与对讲机的连接和参数同步:
- 打开手机蓝牙,搜索并配对已安装的蓝牙模块(蓝牙名称为之前自定义的“UV-K5/UV-K6/UV-K1”);
- 进入DTrac APP,在电台类型中选择对应机型(如“QUANSHENG UV-K6”);
- 在APP中选择已配对的对讲机蓝牙适配器,点击连接,等待连接成功;
- 连接成功后,APP将自动完成位置获取、星历更新等操作,实时同步卫星通联参数,无需手动干预。
6.3 备选连接方式(无蓝牙)
若未安装蓝牙模块,可通过电脑虚拟串口软件,将对讲机自带的串口转换为网络透传服务,再通过网络接口与DTrac APP对接,具体操作可参考“使用虚拟串口”相关教程(本文暂不详细介绍)。
七、隐藏校准菜单操作
刷写定制固件后,可通过以下方法进入隐藏校准菜单,进行电压校准等操作,优化设备性能: 1. 开机操作:开机时,同时按住PTT键和侧键1,保持按住状态直至开机,随后松开所有按键,即可进入隐藏校准菜单; 2. 复位建议:固件刷新后,建议在隐藏菜单中找到“75/75”选项,执行“RESET ALL”(全部复位)操作,确保固件参数生效; 3. 电压校准:在隐藏菜单中找到“BatCal”(电池校准)相关选项,可根据实际情况进行电压校准,优化电池电量显示精度。
八、相关协议与指令说明
本章节详细介绍DTrac APP与泉盛UV-K5/K6/K1对讲机之间的通信协议、指令及数据格式,供有开发需求的爱好者参考。
8.1 通信协议概述
本软件使用的编程协议,是通过观察对讲机与原厂编程软件之间的通信过程反向工程得到的,并非典型的宝峰类协议,其核心特点如下:
- 数据包格式:0xAB 0xCD len 0x00 <data bytes> <2 bytes CRC> 0xDC 0xBA;
- 长度说明:len代表有效载荷数据(data bytes)的长度;
- CRC校验:采用CRC-16 xmodem算法,数据字节和CRC均通过与8字节序列异或进行混淆;
- 双向通信:对讲机发送给计算机的数据包格式相同,但CRC字段固定为0xFFFF,说明CRC并非用于数据完整性校验,而是用于进一步混淆(与异或功能一致)。
注:后续将发布该协议及EEPROM内容的详细描述,目前可参考相关开源固件源码作为文档参考。
8.2 核心通信指令
| 指令ID | 功能描述 |
|---|---|
| 0x0514 | 会话初始化,返回版本信息和设备状态 |
| 0x051B | EEPROM数据读出 |
| 0x051D | 向EEPROM写入数据 |
| 0x0527 | 读取RSSI值(信号强度) |
| 0x0529 | 读取ADC数据,返回电池信息 |
| 0x052D | 检查设备锁状态 |
| 0x052F | 会话初始化,返回详细版本信息和设备状态 |
| 0x0601 | 读出BK4819寄存器数据 |
| 0x0602 | 向BK4819寄存器写入数据 |
| 0x0801 | 模拟按键操作 |
| 0x0803 | 将LCD屏幕内存转储至电脑 |
| 0x0808 / 0x0888 | 扫描功能控制 |
| 0x0850 | 向多个寄存器写入数据 |
| 0x0851 | 从多个寄存器读取数据 |
| 0x0860 | 配置GPIO引脚 |
| 0x0861 | 读取GPIO引脚状态 |
| 0x0870 | 启用全控制模式 |
| 0x9999 | DTrac APP专用:CTCSS_CODE(亚音码)控制 |
| 0x8888 | DTrac APP专用:DownFrequency(下行频率)控制 |
| 0x7777 | DTrac APP专用:UpFrequency(上行频率)控制 |
| 0x6666 | DTrac APP专用:Mode(通联模式)控制 |
| 0x5555 | DTrac APP专用:MonitorStatus(监听状态)控制 |
8.3 数据加密与解析示例
8.3.1 示例数据包
以下是对讲机选择[F-0]调频收音机时的通信序列数据:
AB CD 06 00 17 64 16 E6 2E 91 E8 EA DC BA
8.3.2 数据包结构解析
- 分组发起:数据包以0xAB 0xCD开头,标识数据包开始;
- 数据长度:接下来的两个字节(06 00)表示有效载荷数据长度为6字节;
- 有效载荷:后续7字节(17 64 16 E6 2E 91 E8)为经过异或处理的核心数据,包含操作命令;
- CRC校验和:接下来的2字节(EA DC)为CRC校验和,用于数据混淆;
- 数据包终止:最后以0xDC 0xBA结尾,标识数据包结束。
8.3.3 异或解密方法
发送和接收的数据均通过以下8字节序列进行异或加密,解密时只需将加密数据与该序列逐字节异或即可:
{ 0x16, 0x6c, 0x14, 0xe6, 0x2e, 0x91, 0x0d, 0x40, 0x21, 0x35, 0xd5, 0x40, 0x13, 0x03, 0xe9, 0x80 }
解密示例(以上述数据包为例):
0x17 XOR 0x16 → 0x01 0x64 XOR 0x6C → 0x08 0x16 XOR 0x14 → 0x02 0xE6 XOR 0xE6 → 0x00 0x2E XOR 0x2E → 0x00 0x91 XOR 0x91 → 0x00 0xE8 XOR 0x0D → 0xE5
解密后实际数据:
AB CD 06 00 01 08 02 00 00 00 E5 EA DC BA
8.4 DTrac APP专用数据结构
8.4.1 亚音码控制(CMD_9999_t)
typedef struct {
Header_t Header;
uint8_t CTCSS_CODE;
} CMD_9999_t;
8.4.2 下行频率控制(CMD_8888_t)
typedef struct {
Header_t Header;
uint32_t DownFrequency;
} CMD_8888_t;
8.4.3 上行频率控制(CMD_7777_t)
typedef struct {
Header_t Header;
uint32_t UpFrequency;
} CMD_7777_t;
8.4.4 通联模式控制(CMD_6666_t)
typedef struct {
Header_t Header;
char Mode;
} CMD_6666_t;
8.4.5 监听状态控制(CMD_5555_t)
typedef struct {
Header_t Header;
char MonitorStatus;
} CMD_5555_t;
九、相关资源与演示视频
9.1 辅助工具与参考链接
9.2 演示视频
十、免责声明
- 普通列表项目本指南及相关定制固件、硬件改造方案,仅适用于业余无线电学习和交流,严禁用于非法通信活动,使用者需遵守国家相关法律法规及业余无线电管理规定;
- 硬件改造、固件刷写均存在一定风险,可能导致对讲机损坏(变砖),操作前请充分了解相关步骤,谨慎操作,本文作者及相关开发者不对操作失误造成的损失承担任何责任;
- 定制固件基于开源项目修改,遵循 Apache-2.0协议,使用者可自由传播、修改,但需保留原作者版权信息,不得用于商业用途;
- 泉盛UV-K系列对讲机版本众多,本文内容仅针对文中提及的MCU型号(DP32G030、PY32F071),若你的机型不符,请勿盲目操作。
最后,祝各位业余无线电爱好者通联愉快!GL(Good Luck)!






