使用 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 时,它只会关注此半径内的流量。如果您位于纽约市,那么关注来自意大利罗马的电台的流量就没有多大意义。

日志记录

<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 (未验证)

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