DTrac APP新增对泉盛UV-K5/K6/K1对讲机的支持,通过该APP可实现对讲机与卫星转发器参数的实时同步,彻底简化业余卫星通联的操作流程,无需繁琐手动设置,一部手机即可完成所有核心操作,让业余卫星通联更智能、更高效。本指南将详细介绍功能实现、硬件改造、固件下载、刷机方法及相关设置,供业余无线电爱好者参考使用。
通过DTrac APP连接对讲机(需完成硬件改造及固件刷写),可实现以下智能化功能,覆盖业余卫星通联全流程需求:
注意:由于泉盛UV-K5/K6/K1硬件本身限制,除FM模式外,其余模式仅对接收信道有效,发射端仅支持FM模式。
泉盛UV-K5/K6/K1系列电台虽自带串口,但通过外接网络转串口对接APP操作繁琐,推荐在电台内部加装3.3V双模蓝牙透传模块,实现一劳永逸的无线连接,后续可灵活拓展功能。
优先选择3.3V双模蓝牙透传模块,兼顾稳定性与拓展性,推荐型号如下:
模块安装前需完成基础参数设置,确保与对讲机及APP正常通信,不同模块设置方法如下:
该模块默认已激活SPP和BLE功能,无需额外激活,仅需执行以下AT指令设置参数(指令需通过串口工具发送):
AT+BAUD=4 //设置波特率为38400(对讲机串口默认波特率) AT+SPPNAME=UV-K6 //自定义SPP蓝牙名称(可修改为UV-K5/UV-K1,与机型对应) AT+BLENAME=UV-K6_BLE // 自定义BLE蓝牙名称(与SPP名称对应,便于识别)
该模块需手动通过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特征值
无论选用哪种模块,如果通过BLE对接DTrac APP时需遵循以下UUID定义,确保通信正常:
温馨提示:拆机操作需谨慎,建议提前搜索对应机型的拆机教程(网上可轻松找到),避免损坏设备。接线前需关闭对讲机电源,确保断电操作。
蓝牙模块与对讲机的接线对应关系(核心,不可接反):
| 蓝牙模块引脚 | 对讲机对应引脚 | 备注 |
|---|---|---|
| TXD(发送) | RXD(接收) | 交叉连接,确保数据正常传输 |
| RXD(接收) | TXD(发送) | 交叉连接,不可接反,否则无法通信 |
| 3.3V(电源正) | 3V3(电源正) | 必须接3.3V,不可接5V,避免烧毁模块/对讲机 |
| GND(电源负) | GND(电源负) | 共地,确保电路稳定 |
不同机型的MCU型号不同,TXD、RXD引脚位置有差异,具体如下:
注:接线前需先完成一个关键操作——去除原RXD位置与3.5mm插座PTT功能极的100欧姆电阻,避免开机误触进入刷机模式,导致设备故障。
提示:UV-K1接线可参考相关电路图,通常根据K头走线可快速找到RXD、TXD、3V3、GND引脚,本文内容仅作参考,具体以实际电路为准。
接线完成后,对蓝牙模块进行绝缘处理(可使用绝缘胶带包裹),将模块固定在对讲机内部合适位置,确保不影响对讲机按键、屏幕及电池安装,随后重新组装对讲机即可。
本定制固件基于F4HWN等最新开源固件轻微修改,完整保留原固件所有功能,仅新增DTrac APP适配相关功能,确保对讲机原有操作不受影响。
重要提示:相对于泉盛官方原版固件,本次定制固件的内存映射已完全改变,刷写后将丢失对讲机内所有内存通道和原有设置,请提前做好备份。固件遵循Apache-2.0协议,仅供学习和业余无线电交流使用。
警告:泉盛UV-K系列对讲机版本迭代较多,下载和使用固件时,务必认准与自己机型MCU对应的版本,若因版本不匹配导致对讲机变砖,本文作者及相关开发者概不负责!
适用范围:仅适用于MCU为DP32G030的UV-K5和UV-K6对讲机。
适用范围:仅适用于MCU为PY32F071的UV-K1和UV-K5/K6对讲机。
定制固件的主要迭代功能、Bug修复及优化内容,可参考其修改来源的原固件更新日志(链接见4.1章节),本文不再重复赘述。
刷机前请务必仔细阅读本章节内容,养成备份校准文件的习惯,避免因刷机导致设备故障或参数丢失。
无论是在线刷机、离线线刷,还是蓝牙无线刷机,操作流程一致,具体步骤如下:
补充说明:原版固件升级的详细操作步骤,可参考泉盛官方升级固件程序及说明文档;若刷机后出现变砖情况,可尝试先刷回对应机型的官方原版固件,再重新刷写定制固件。 UV-K5/K6官方升级固件程序和说明
校准文件包含对讲机的核心参数(如频率校准、电压校准等),刷机前备份、刷机后恢复,可避免设备性能异常,具体操作如下:
1. 对讲机以普通模式开机(不进入刷机模式); 2. 通过对应机型的在线刷机网站(见5.3章节),按照网站友好提示,在线备份校准数据; 3. 备份完成后,用对讲机的序列号重命名校准文件(序列号印在设备背面电池下方的标签上),避免多台设备时校准文件混淆。
1. 刷机完成后,对讲机以普通模式开机; 2. 进入对应在线刷机网站,按照提示上传备份的校准文件,在线恢复校准数据; 3. 恢复完成后,重启对讲机,确保参数生效。 提示:更新固件后,建议立即创建一个新的校准文件备份;若后续需要切换回原厂固件或其他固件,需先恢复对应备份的校准文件,再进行刷机操作。
打开DTrac APP,按照以下步骤完成设置,实现与对讲机的连接和参数同步:
若未安装蓝牙模块,可通过电脑虚拟串口软件,将对讲机自带的串口转换为网络透传服务,再通过网络接口与DTrac APP对接,具体操作可参考“使用虚拟串口”相关教程(本文暂不详细介绍)。
刷写定制固件后,可通过以下方法进入隐藏校准菜单,进行电压校准等操作,优化设备性能: 1. 开机操作:开机时,同时按住PTT键和侧键1,保持按住状态直至开机,随后松开所有按键,即可进入隐藏校准菜单; 2. 复位建议:固件刷新后,建议在隐藏菜单中找到“75/75”选项,执行“RESET ALL”(全部复位)操作,确保固件参数生效; 3. 电压校准:在隐藏菜单中找到“BatCal”(电池校准)相关选项,可根据实际情况进行电压校准,优化电池电量显示精度。
本章节详细介绍DTrac APP与泉盛UV-K5/K6/K1对讲机之间的通信协议、指令及数据格式,供有开发需求的爱好者参考。
本软件使用的编程协议,是通过观察对讲机与原厂编程软件之间的通信过程反向工程得到的,并非典型的宝峰类协议,其核心特点如下:
注:后续将发布该协议及EEPROM内容的详细描述,目前可参考相关开源固件源码作为文档参考。
| 指令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(监听状态)控制 |
以下是对讲机选择[F-0]调频收音机时的通信序列数据:
AB CD 06 00 17 64 16 E6 2E 91 E8 EA DC BA
发送和接收的数据均通过以下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
typedef struct {
Header_t Header;
uint8_t CTCSS_CODE;
} CMD_9999_t;
typedef struct {
Header_t Header;
uint32_t DownFrequency;
} CMD_8888_t;
typedef struct {
Header_t Header;
uint32_t UpFrequency;
} CMD_7777_t;
typedef struct {
Header_t Header;
char Mode;
} CMD_6666_t;
typedef struct {
Header_t Header;
char MonitorStatus;
} CMD_5555_t;
最后,祝各位业余无线电爱好者通联愉快!GL(Good Luck)!