DTrac-卫星跟踪系统

致力于业余卫星通联便携化和智能化

用户工具

站点工具


dtrac_quansheng_uv-k5-k6-k1

使用泉盛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)

TXD对应MCU的8脚,RXD对应MCU的9脚,找到对应引脚后,用合适规格的漆包线连接,接线后做好绝缘处理。

(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对讲机。

固件下载地址:UV-K5/K6(DP32G030) for DTrac v1.0.1(F4HWN v4.3)

4.2.2 UV-K1/K5v3(MCU:PY32F071)

适用范围:仅适用于MCU为PY32F071的UV-K1和UV-K5/K6对讲机。

固件下载地址:UV-K1/K5V3(PY32F071) for DTrac v1.0.5(F4HWN v5.3.1)

4.3 固件迭代说明

定制固件的主要迭代功能、Bug修复及优化内容,可参考其修改来源的原固件更新日志(链接见4.1章节),本文不再重复赘述。

五、刷机方法与校准备份

刷机前请务必仔细阅读本章节内容,养成备份校准文件的习惯,避免因刷机导致设备故障或参数丢失。

5.1 通用刷机方法

无论是在线刷机、离线线刷,还是蓝牙无线刷机,操作流程一致,具体步骤如下:

  1. 开机进入刷机模式:长按PTT键,同时开启对讲机电源,保持PTT键长按直至进入刷机模式;
  2. 连接设备:将对讲机与电脑/手机连接(在线刷机用USB线,蓝牙刷机需提前完成硬件改造并配对),选择正确的通信端口;
  3. 选择固件:打开对应刷机工具/网站,选择下载好的、与机型匹配的定制固件;
  4. 开始刷机:点击“更新”“刷机”等按钮,等待刷机完成,期间切勿断开连接、关闭电源或操作对讲机;
  5. 重启设备:刷机完成后,对讲机将自动重启,或手动重启,刷机完成。

补充说明:原版固件升级的详细操作步骤,可参考泉盛官方升级固件程序及说明文档;若刷机后出现变砖情况,可尝试先刷回对应机型的官方原版固件,再重新刷写定制固件。 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)

5.3.2 UV-K1/K5v3(MCU:PY32F071)

六、对讲机与APP设置

刷机完成并恢复校准文件后,需完成对讲机和DTrac APP的相关设置,才能实现卫星通联参数的实时同步。

DTrac APP下载地址: DTrac APP,操作说明请参阅 DTrac APP相关内容。

6.1 对讲机设置(必做)

开机后,进入对讲机设置界面,完成以下操作:

  • 将RxMode(接收模式)设置为“MAIN ONLY”;
  • 切换至VFO频率待机模式,确保APP可正常同步频率参数。

6.2 DTrac APP设置

打开DTrac APP,按照以下步骤完成设置,实现与对讲机的连接和参数同步:

  1. 打开手机蓝牙,搜索并配对已安装的蓝牙模块(蓝牙名称为之前自定义的“UV-K5/UV-K6/UV-K1”);
  2. 进入DTrac APP,在电台类型中选择对应机型(如“QUANSHENG UV-K6”);
  3. 在APP中选择已配对的对讲机蓝牙适配器,点击连接,等待连接成功;
  4. 连接成功后,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)!

dtrac_quansheng_uv-k5-k6-k1.txt · 最后更改: bg6ud