APRS 协议介绍

Jun 22, 2025 · 4818 字
业余无线电

自动位置回报系统(Automatic Packet Reporting System, APRS)是一种业余无线电中的实时数字通信协议,由 Bob Bruninga(呼号 WB4APR)开发。它不仅仅是一个车辆追踪系统,更是一个强大的信息分发网络,能够传输位置、气象数据、短消息、遥测数据等多种信息。APRS 的核心思想是“所见即所得”,网络中的所有电台都能看到在同一频率上广播的、未经寻址的单向数据包,从而实现对区域内动态信息的全面感知。

APRS 建立在 AX.25 协议之上。AX.25 是专为业余无线电设计的数据链路层(OSI 模型第二层)协议,它负责将数据封装成“帧”进行传输。可以将其理解为无线电世界的“以太网协议”。一个基本的 AX.25 帧包含了源地址(你的呼号)、目标地址、中继路径以及最重要的信息(Info)字段。APRS 协议正是对这个 Info 字段的内容和格式进行了标准化定义,使其能够承载各种应用数据。

数据格式

要理解 APRS 的工作方式,关键在于区分 AX.25 协议和 APRS 协议分别扮演的角色。一个 APRS 数据包,本质上是一个 AX.25 的 UI 帧 (Unnumbered Information frame)。这种帧的特点是“即发即忘”,它不需要建立正式的连接,也不要求接收方进行确认,非常适合 APRS 这种需要向所有人广播信息的场景。

我们可以把一个完整的 APRS 传输包比作一封信:

  • AX.25 协议 定义了“信封”的格式:谁发的(源地址)、发给谁(目标地址)、以及通过哪些邮局传递(中继路径)。
  • APRS 协议 定义了“信件”的内容:信件的类型(位置、天气、消息等)和具体信息。

两者由第一个冒号(:)分隔。冒号之前是 AX.25 的路由信息,冒号之后是 APRS 的应用数据。

包文示例: BA7NAH-9>APRS,WIDE1-1,WIDE2-1:!3954.91N/11623.45E>TEST APRS

AX.25 协议部分

这部分负责数据包在无线网络中的路由和寻址,是 AX.25 链路层功能。

BA7NAH-9>APRS,WIDE1-1,WIDE2-1

  • 源地址: 数据包的发送者。BA7NAH 是呼号,-9 是 SSID,用于区分同一呼号下的不同设备。
  • 目标地址: AX.25 帧必须有目标。由于 APRS 是广播系统,它使用一个约定的通用地址 APRS 作为“收件人”,所有 APRS 设备都会解码发往此地址的包。
  • 中继路径: AX.25 允许定义中继站来转发数据。APRS 利用此功能,通过设置 WIDEn-N 这样的通用别名,让任何听到信号的数字中继器(Digipeater)都能智能地转发数据包,从而扩大覆盖范围。

SSID 列表

SSID用途
0家庭基站,或运行 iGate 的家庭基站
1数字中继器,或运行中继/气象中继的家庭基站
2第二个数字中继器,或 70cm 频段的中继
3第三个数字中继器
4HF (短波) 到 VHF (甚高频) 网关
5iGate (非家庭基站)
6通过卫星操作
7建伍 D7 手持电台
8船只、帆船、轮船
9移动台 (例如车载)
10仅通过互联网操作 (无射频)
11APRS-TouchTone 用户 (有时也用于气球)
12便携设备 (如笔记本电脑、露营地等)
14卡车司机
15HF (短波) 操作

WIDEn-N 路径

WIDEn-N是目前推荐的通用路径范式。

  • n: 初始计数器。一个从n开始递减的数字。
  • N: 最大跳数。

示例BA7NAH-9>APRS,WIDE1-1,WIDE2-1

  1. 第一个 Digipeater 转发 BA7NAH-9>APRS,WIDE1*,WIDE2-1。第一个 WIDE1-1N 减 1 变成 WIDE1*表示转发结束。
  2. 第二个 Digipeater 接收到第一个 Digipeater 的转发,继续转发 BA7NAH-9>APRS,WIDE1*,WIDE2*

示例: BA7NAH-9>APRS,WIDE1-2

  1. 第一个 Digipeater 转发 BA7NAH-9>APRS,WIDE1-1
  2. 第二个 Digipeater 接收到第一个 Digipeater 的转发,继续转发 BA7NAH-9>APRS,WIDE1*

不正确的数据包:

  • BA7NAH-9>APRS,WIDE2-1
  • BA7NAH-9>APRS,WIDE2-1,WIDE1-1
  • BA7NAH-9>APRS,WIDE1-1,WIDE2-1,WIDE3-1,...

Digipeater 在转发数据包时可以插入自己的呼号来记录转发路径。例如:

收到:BA7NAH-9>APRS,WIDE1-1,WIDE2-1 转发:BA7NAH-9>APRS,BA7DIG-10,WIDE1*,WIDE2-1

APRS 协议部分

这部分是 AX.25 帧中 Info 字段的内容,其格式由 APRS 协议进行标准化。AX.25 协议本身不关心这部分内容的含义,只是原样投递。

位置信息格式

这是 APRS 最常见的应用。位置信息有多种格式,最基础的是未压缩的明文格式。

格式: !纬度/经度s标题/速度c...

  • !: 数据类型标识符,表示这是一个实时 APRS 位置报告。
  • 纬度: ddmm.hhN格式 (度、分、百分之一分、南北半球)。
  • /: 纬度和经度的分隔符,同时也作为“符号表”的标识符。
  • 经度: dddmm.hhE格式 (度、分、百分之一分、东西半球)。
  • s: 代表图标的字符,与前面的符号表标识符共同决定最终显示的图标,图标集合
  • 标题/速度: ccc/sss格式,标题(000-360 度)和速度(节)。
  • c…: 其他可选的遥测数据或注释。

示例: !3958.30N/11627.12E-Hello World!

这表示一个位于北纬 39 度 58.30 分,东经 116 度 27.12 分的位置报告,使用的图标是汽车(-),并附带消息“Hello World!”。

MIC-E 消息

  • M0: Off Duty,空闲
  • M1: En Route,途中
  • M2: In Service,服务中
  • M3: Returning,返回中
  • M4: Committed,已承诺
  • M5: Special,特殊状态
  • M6: Priority,优先级
  • Emergency,紧急状态

气象报告格式

APRS 可以传输来自自动气象站的数据。

格式: _c...s...g...t...r...p...h...b...

  • _: 数据类型标识符,表示气象报告。
  • c…: 风向(度)。
  • s…: 过去一分钟的平均风速(英里/小时)。
  • g…: 阵风风速(英里/小时)。
  • t…: 温度(华氏度)。
  • r…: 过去一小时的降雨量(百分之一英寸)。
  • p…: 过去 24 小时的降雨量(百分之一英寸)。
  • h…: 湿度(%)。
  • b…: 大气压(十分之一毫巴/百帕)。

示例: _220/004g005t077r000p000h50b10235

这表示风向 220 度,风速 4mph,阵风 5mph,温度 77°F,湿度 50%,气压 1023.5hPa。

APRS-IS

APRS-IS(APRS Internet Service)是一个全球性的 TCP/IP 网络,它将世界各地的 iGate 连接起来。通过 APRS-IS,射频(RF)网络中的信息可以被传输到互联网上,使得没有无线电设备的用户也能通过网站或软件查看 APRS 活动。反之,互联网用户也可以通过 APRS-IS 将消息或数据包发送到射频网络中。

目前比较常用的在线 APRS 地图有:

注意以上地图只是从 APRS-IS 获取数据进行可视化,但并不提供 APRS-IS 的服务。

要向 APRS-IS 发送数据包,你需要一个连接到一个 APRS-IS 的转发服务器,你可以在 https://www.aprs2.net/ 上查看这些服务器地址。

为了防止网络滥用,连接到 APRS-IS 需要一个与你的呼号绑定的验证码(Passcode)。你可以通过在线生成器来获取你的验证码。

iGate 与 Digipeater

iGate(Internet Gateway)是连接本地 RF 网络和全球 APRS-IS 的桥梁。它是一台带有无线电设备和互联网连接的计算机。

iGate 的类型分为两种:

  • 接收型(Rx-Only)iGate: 只接收本地 RF 信号并将其转发到 APRS-IS。这是最简单、最常见的 iGate 类型,对网络贡献巨大。
  • 收发型(Tx/Rx)iGate: 不仅能接收,还能将从 APRS-IS 收到的、发往本地 RF 区域的消息或数据包通过无线电发射出去。设置此类 iGate 需要更谨慎,以避免在 RF 信道上产生不必要的拥堵。

目前常用于架设 iGate 的软件有:

Digipeater 则主要用于将接收到的 APRS 数据包处理后再次转发。它们通常不连接到互联网,只在本地 RF 网络中工作。

粤公网安备44030002006951号 粤ICP备2025414119号

© 2025 Saurlax · Powered by Astro