使用 Raspberry Pi 配置业余无线电网关

通过维护基于互联网的数据包无线电骨干网的一部分,帮助共享本地信息。
503 位读者喜欢这个。
open source button on keyboard

Opensource.com

APRS(自动分组报告系统)是用于业余无线电的全球数字通信网络,提供一个单一的国家频道,人们可以在其中监控周围区域正在发生的事情。

APRS 使用数据包无线电 (AX.25),Tom Karpiniec 在他出色的 Opensource.com 文章“数据包无线电通过开源软件延续生命”中将其描述为传输层。

APRS 的基本思想是在业余无线电操作员位置的上下文中交流信息,例如其他电台的位置信息(无论是移动的还是固定的)、中继器系统、天气信息或事件。业余无线电操作员还可以通过网络向其他业余爱好者发送直接消息。当数据包被发送时,它们包含位置信息,这些信息可以显示在地图上。这提供了区域内活动的即时视图。

APRS activity map

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 连接。

TNC 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 都会为当地业余无线电社区提供出色的服务。

标签
Profile picture of Michael Schulz
Michael 在 1993 年首次接触 Linux,当时需要一个真正的多任务处理能力的操作系统来运行他的 BBS (Waffle BBS)。在过去的 20 年中,他曾在 Compaq、HP、IBM 和 Microsoft 等公司担任各种职务,他有机会帮助许多企业和政府组织了解开源软件的价值和优势,并参与其中

4 条评论

APRS 是“安全”的吗?还是它正在向全世界广播我的位置?

APRS 以及实际上所有的业余无线电传输都是公开的。在美国,根据 FCC 规定,除空间站(例如业余无线电卫星)的控制信号外,任何形式的加密都是不允许的。这意味着,是的,如果您通过 APRS 传输您的位置,那么在您的信号范围内的每个人都可以接收到您的传输,从而知道您的位置。这就是它的目的,以便业余无线电爱好者可以找到其他业余无线电爱好者并接收其他与位置相关的数据。

73 Michael K5TRI

回复 ,作者:MasterC

关于 TNC 接口,如果在美国,RELAY 和 TRACE 是旧的范例(2004 年之前)。WIDE 现在通常是 WIDE1 或 WIDE2。
参考:http://aprs.org/fix14439.html

所以不要使用
alias RELAY,WIDE,TRACE
而要使用
alias WIDE1,WIDE2

另一方面,当仅配置 I-Gate 时,别名实际上并不重要。IGate 会将听到的一切传递给 APRS 互联网服务器 (APRS-IS),除非明确要求不这样做。

当进行数字中继时,别名很重要。它决定了什么被数字中继或重新通过无线电波发送出去。

无论如何,这篇文章很棒!

73

好眼力。这是我原始配置中遗留下来的,我没有删除。感谢您的更正。

73 Mike K5TRI

回复 ,作者:Fred Hillhouse (未验证)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.