APRS(自动分组报告系统)是用于业余无线电的全球数字通信网络,提供一个单一的国家频道,人们可以在其中监控周围区域正在发生的事情。
APRS 使用数据包无线电 (AX.25),Tom Karpiniec 在他出色的 Opensource.com 文章“数据包无线电通过开源软件延续生命”中将其描述为传输层。
APRS 的基本思想是在业余无线电操作员位置的上下文中交流信息,例如其他电台的位置信息(无论是移动的还是固定的)、中继器系统、天气信息或事件。业余无线电操作员还可以通过网络向其他业余爱好者发送直接消息。当数据包被发送时,它们包含位置信息,这些信息可以显示在地图上。这提供了区域内活动的即时视图。

opensource.com
由于互联网,APRS 不仅限于仅通过无线电传输流量。APRS-IS(自动分组报告系统 - 互联网服务)是一个基于互联网的全球网络,它将世界各地(以及太空,通过业余无线电卫星和国际空间站)的各种 APRS 无线电网络互连。APRS-IS 由志愿者业余无线电操作员维护和运营,为全球业余无线电 APRS 射频网络提供骨干网。
基于 Raspberry Pi 的 APRS-IS 网关
在世界各地,业余爱好者运营互联网网关 (IGate) 系统,以将从基于数据包无线电的网络接收到的数据包路由到基于互联网的 APRS-IS 服务,然后再返回;这些网关可以是仅接收的,也可以具有发射能力。
本文介绍了如何配置 Raspberry Pi 2 或 3 和终端节点控制器 (TNC) 作为仅接收 IGate,以将无线电流量中继到 APRS-IS 服务,世界各地的业余爱好者可以在那里访问它。
接收业余无线电流量没有许可要求,只有发射才有。我们可以使用基本的 Raspbian 操作系统,它可以直接从 Raspberry Pi 基金会网站以预配置映像的形式获得。
TNC 是一种设备,它基本上充当无线电的调制解调器,并提供 AX.25 协议功能。通过使用专用硬件,在本例中是 TNC Pi,您不必依赖 Raspberry Pi 的处理能力来同时处理音频信号和无线电控制。TNC Pi 是 Raspberry Pi HAT(即,附加板),它通过串行端口或 I2C 总线与 Pi 连接。

opensource.com
TNC Pi 可以购买完全组装好的,也可以作为精美的 DIY 套件购买,您可以在其中拿出烙铁进行焊接。TNC Pi 连接到无线电,使 Rpi 能够发送和接收数据包。
配置硬件
第一步是配置 TNC 及其与 Raspberry Pi 的通信。由于您将通过串行端口将 Raspberry Pi 连接到 TNC,请确保串行端口可用。(Raspberry Pi 默认配置为使用内部串行端口作为控制台端口。)
如果 /boot/cmdline.txt
中存在以下行,请删除它
console=ttyAMA0,115200 kgdboc=ttyAMA0, 115200
将以下行添加到 /boot/config.txt
enable_uart=1
如果您使用的是 Raspberry Pi 3,请将以下行添加到 /boot/config.txt
dtoverlay=pi3-miniuart-bt
core_freq=250
以下行需要添加到/lib/systemd/system/hciattach.service
以配置通用异步收发传输器 (UART) 与 TNC Pi 通信。(如果该文件在最新版本的发行版中不存在,您可能需要创建该文件)。
[Unit]
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
Before=bluetooth.service
After=dev-ttyS0.device
[Service]
Type=forking
ExecStart=/usr/bin/hciattach /dev/ttyS0 bcm43xx 921600 noflow -
[Install]
WantedBy=multi-user.target
完成这些更改后,重新启动 Raspberry Pi,以确保它会在重启期间自动拾取它们。
配置软件
现在硬件方面已设置好,请将注意力集中在 APRS 中继软件 Aprx 上,该软件将接收到的数据包中继到 APRS-IS 系统。
所需的软件包是默认存储库的一部分,可以通过运行以下命令安装:sudo apt-get install aprx -y.
Aprx 的配置文件位于 /etc/aprx.conf
。使用您喜欢的文本编辑器打开该文件,并根据您的需要进行以下更改。文件的每个部分配置软件的不同行为。
呼号和位置
mycall K5TRI-1
myloc lat 4737.52N lon 12206.05W
上面的第一行通过 mycall
关键字定义您的呼号,第二行根据纬度和经度定义您的位置。
Aprx / APRS-IS 通信
<aprsis>
login $mycall
passcode ****
server rotate.aprs2.net
heartbeat-timeout 1m
filter "m/100"
</aprsis>
aprsis
部分配置 Aprx 与 APRS-IS 服务通信。passcode
是根据您的呼号生成的哈希值。APRS 密码生成器可以自动生成一个。此 filter
定义了您位置周围 100 英里的半径。(当然可以设置得更小。)这意味着在门控到 APRS-IS 和从 APRS-IS 门控时,它只会关注此半径内的流量。如果您位于纽约市,那么关注来自意大利罗马的电台的流量就没有多大意义了。
日志记录
<logging>
pidfile /var/run/aprx.pid
rflog /var/log/aprx/aprx-rf.log
aprxlog /var/log/aprx/aprx.log
erlangfile /var/run/aprx.state
erlang-loglevel LOG_DAEMON
erlanglog /var/log/erlang.log
erlang-log1min
</logging>
logging
部分定义 Aprx 将写入其日志和 PID 文件的位置。aprx.log
文件用于特定于程序的输出,而 aprx-rf.log
写入所有接收和传输的数据包。
TNC 接口
<interface>
serial-device /dev/ttyAMA0 19200 8n1 KISS
alias RELAY,WIDE,TRACE
callsign $mycall
tx-ok false #set to false for RX only igate
telem-to-is true
</interface>
interface
部分定义 TNC 参数,例如串行端口、波特率、在此接口上使用的呼号(可以有多个具有不同呼号的接口),以及是否允许此接口传输数据包。
信标
<beacon>
beaconmode APRSIS
cycle-size 60m
beacon symbol "I&" $myloc comment "RX iGate on Raspberry Pi"
</beacon>
配置 beacon
以告知 APRS 网络您的存在。在定义的间隔,信标会将包含您信息的消息发送到 APRS-IS 服务。这也会将您的 IGate 放置在地图上。
APRS IGate 的优势
APRS 服务已发展成为业余无线电的非常强大的通信渠道,具有众多应用和用途。最普遍的用途是跟踪车辆位置,例如在公共服务或应急通信场景中。其他应用可能是遥测数据(如天气数据)的传输和收集。无论如何使用,操作 IGate 都会为当地业余无线电社区提供出色的服务。
4 条评论