====== DTrac Radio ====== DTrac Radio,目前只是一种概念或协议,或者是一个美好的愿望,或者是所有支持DTrac Radio控制开放协议的电台设备,将来不排除按此协议定制制式的业余卫星电台的可能。旨在打造一个DTrac-卫星跟踪系统生态,让更多的朋友轻松享受业余卫星通联的乐趣。 {{:ylqf666.jpg?direct&400|}} ====== 开放协议 V1.0.3 ====== 在DTrac APP中可以使用网络或经典蓝牙串口与BLE串口作为DTrac Radio的对接方式,协议遵循串口标准。 其中BLE部分UUID定义如下: ^ 数据类型 ^ 定义 ^ | Service UUID | 0000FFF0-0000-1000-8000-00805F9B34FB | | Notify feature | 0000FFF1-0000-1000-8000-00805F9B34FB | | Write feature | 0000FFF2-0000-1000-8000-00805F9B34FB | ====== 对接流程 ====== DTrac APP首先发送电量状态查询命令给电台: FD FD 00 00 FC FC,电台返回电台电量状态如: FD FD 00 00 09 FC FC,然后通过连接认证,APP开始同步多普勒频率、模式和亚音等信息。 ====== 协议格式 ====== __FD FD 命令类型 DATA FC FC__ 控制和返回命令格式相同 包头:固定为2个FD 包尾:固定为2个FC ====== 命令类型 ====== 命令类型和DATA定义如下。 ===== 状态读取 00 ===== 状态仅支持读取,不支持设置动作; ==== 读取命令 ==== __FD FD 00 DATA1 FC FC__ 定义: ^ DATA1 ^ 功能描述 ^ | 00 | 电量状态 | | 01 | 接收状态 | | 02 | 发射状态 | | 03 | 高驻波状态 | | 04~99 | 其他待定 | ==== 响应命令 ==== __FD FD 00 DATA1 DATA2 FC FC__ 定义: ^ DATA1 ^ DATA2 ^ 功能描述 ^ 范例 ^ | 00 | 00~09 | 电量状态 | 电量低 -> FD FD 00 00 00 FC FC | | 01 | 00=开(无信号) 01=关(有信号)| 接收状态 | 静噪开 -> FD FD 00 01 00 FC FC | | 02 | 00=未发射 01=发射中 | 发射状态 | PTT发射中 -> FD FD 00 02 01 FC FC | | 03 | 00=低驻波 01=高驻波 | 驻波状态 | 高驻波 -> FD FD 00 03 01 FC FC | | 04~99 | 其他待定 | ===== 频率读写 01 ===== ==== 设置命令 ==== __FD FD 01 DATA1 DATA2 FC FC__ DATA1=RX频率 四字节长度,前补零处理 DATA2=TX频率 四字节长度,前补零处理 频率:最大值十进制 4294967295Hz, 转换为16进制最大为FF FF FF FF 定义: ^ 数据类型 ^ 功能描述 ^ 范例 ^ | DATA1 | RX频率 | 145925868Hz -> 08 B2 A6 EC | | DATA2 | TX频率 | 432122395Hz -> 19 C1 AA 1B | 如上:接收频率为145925868Hz(转换为16进制为: 08 B2 A6 EC), 发射频率为432122395Hz(转换为16进制为: 19 C1 AA 1B) -> FD FD 01 08 B2 A6 EC 19 C1 AA 1B FC FC ==== 读取命令 ==== __FD FD 01 FC FC__ ==== 响应命令 ==== __FD FD 01 DATA1 DATA2 FC FC__ 如:查询频率 -> FD FD 01 FC FC ,返回 接收频率为145925868Hz(转换为16进制为: 08 B2 A6 EC),发射频率为432122395Hz(转换为16进制为: 19 C1 AA 1B) → FD FD 01 08 B2 A6 EC 19 C1 AA 1B FC FC ===== 模式读写 02 ===== ==== 设置命令 ==== __FD FD 02 DATA1 DATA2 FC FC__ 定义: ^ 数据类型 ^ 功能描述 ^ 范例 ^ | DATA1 | RX模式 | LSB -> 00 | | DATA2 | TX模式 | USB -> 01 | DATA1、2取值: 00=LSB 01=USB 02=AM 03=CW 04=RTTY 05=FM 如:RX、TX全FM模式 -> FD FD 02 05 05 FC FC ==== 读取命令 ==== __FD FD 02 FC FC__ ==== 响应命令 ==== __FD FD 02 DATA1 DATA2 FC FC__ ===== 亚音读写 03 ===== ==== 设置命令 ==== __FD FD 03 DATA1 DATA2 FC FC__ 定义: ^ DATA1 ^ 功能描述 ^ DATA2两字节长度 ^ | 00 | 模拟亚音 | 模拟亚音频率(Hz)*10, 转换为16进制;值为0时,关闭亚音 | | 01 | 正向数字亚音 | 取数字部分,取整后调用,转换为16进制,前补零;值为0时,关闭亚音 | | 02 | 反向数字亚音 | 取数字部分,取整后调用,转换为16进制,前补零;值为0时,关闭亚音 | 如:模拟亚音88.5Hz -> FD FD 03 00 03 75 FC FC 数字亚音D023N -> FD FD 03 01 00 17 FC FC ==== 读取命令 ==== __FD FD 03 FC FC__ ==== 响应命令 ==== __FD FD 03 DATA1 DATA2 FC FC__ ===== 消息公告 09 ===== APP消息公告特定命令,用来公告APP的相关状态参数,由APP主动发送,无需电台响应; 格式如下: __FD FD 09 DATA1 DATA2 FC FC__ 定义: ^ DATA1 ^ 功能描述 ^ DATA2 ^ 范例 ^ | 01 | 入境提醒 | 01=即将入境 | 卫星即将入境 → FD FD 09 01 01 FC FC | | 02 | 卫星名称 | 卫星名称的16进制 | ISS → FD FD 09 02 49 53 53 FC FC | | 其他 | 待定 | | ====== 已加入的电台型号 ====== 期待您的加入!