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

opensource.com
得益于互联网,APRS 不再局限于仅通过无线电传输流量。APRS-IS(自动分组报告系统 - 互联网服务)是一个基于互联网的全球网络,它将世界各地(以及太空,通过业余无线电卫星和国际空间站)的各种 APRS 无线电网络互连起来。APRS-IS 由志愿者业余无线电操作员维护和运营,为业余无线电 APRS 射频网络提供全球主干网。
基于 Raspberry Pi 的 APRS-IS 网关
在世界各地,业余爱好者操作互联网网关 (IGate) 系统,以将从基于 packet radio 的网络接收到的数据包路由到基于互联网的 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 Passcode Generator 可以自动生成一个。此 filter
定义了您位置周围 100 英里的半径。(当然,可以设置得更小。)这意味着在与 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 条评论