镧灯
LaMP
LaMP's Blog
向 APRS 服务器发送位置和气象信息
向 APRS 服务器发送位置和气象信息

受疫情影响的寒假的第三个月,无意中发现了 APRS (Automatic Packet Report System,自动位置回报系统) 这个古老的东西。引用一段介绍:

业余无线电操作员使用 APRS 通过无线电传输实时位置信息,天气数据,遥测和消息。装有 GPS 接收器,VHF 发射器或 HF 收发器以及称为跟踪器的小型计算机设备的车辆以小数据包的形式传输其位置,速度和路线,然后由附近的接收站点接收,该站点将数据包转发至互联网。

Aprs.fi user guide

正好身边有一块 ESP32 和 BME280 温湿度气压传感器,之前是准备拿来做室内环境信息监测的,数据收集和存储已经做好了,展示用的前端咕了好几个月一直没有动手,于是就直接将其加入 APRS。现在你可以在这里看到它收集的数据。

在搭建过程中发现在中文互联网上几乎没有什么关于 APRS 的详细介绍,所以写了本文以记录向 APRS 服务器发送气象信息的过程。主要参考了 APRS 官方文档BG6CQ 的 lua 程序

0.准备

首先,向 APRS 上报数据需要拥有无线电管理部门颁发的的执照合法呼号。在国内的话流程大概是参加当地协会组织的考试获取操作证,再带上你的操作证和拥有核准号的电台前往当地无线电管理部门办理执照获取呼号。

然后根据 APRS-IS Guidelines 的要求,你应该“向你的 APRS 软件作者申请 passcode”。没有理解错的话,你应该通过类似 APRSISCE 来申请一个 passcode(虽然似乎并没有人会这么做)。

1.认证

向 APRS 服务器发送数据之前,需要先提供呼号和 passcode 进行认证。

向服务器的指定端口(大多数服务器同时支持 UDP 和 TCP)发送以下内容进行认证:

user <CALLSIGN> pass <PASSCODE> vers <VERS>

CALLSIGN:你的呼号(这里不要加-13这样的后缀)

PASSCODE:之前获取的PASSCODE

VERS:使用的客户端版本,你可以自己写一个,例如:myAPRS 0.1

如果验证成功,将会收到类似这样的回复:

logresp <CALLSIGN> verified, server <SERVER>

2.发送数据

验证成功后我们就可以发送数据了,准备好自己的经纬度和气象信息,然后发送类似这样的数据:

BG6HKN-13>WX51,qAS,BG6HKN:=3144.54N/11718.71E_085/006g008t060r000p000h51b10222

我们对这串数据的内容逐一解释:

BG6HKN-13 是我们的呼号和 SSID 后缀。-13 表示这是一个气象站,其他类型的设备请参考这里

WX51,qAS,BG6HKN,表示了这段数据的传递路径。一般情况下,气象信息是由无线电台发出信号经过 APRS 网关的中转才会传递到服务器上的,这里就是进行中转的路径。APRS 官方文档给的示例是:APRS,RELAY,TCPIP,G9RXG 意思是数据是由 G9RXG 接收到并上传到服务器上的。由于我们是自行上传,所以这里也填自己的呼号。

3144.54N/11718.71E 表示的是经纬度,即电台的位置。需要注意这里虽然用小数点进行分隔,但是以度分秒的形式表达的。意思是北纬31度44分54秒,东经117度18分71秒(这里我们对实际位置进行了一点偏移)。

085/006 是风向/风速。风向为从北顺时针表示,000到360,085即东偏北5度。风速的单位是!即海里每小时,006就是风速6节。如何换算这里就不介绍了。

g008 是“阵风”。应该是这么翻译的,原文是 wind gust,表示一段时间内的最大风速。这个一段时间似乎没有明确的标准。单位也是节。g008 就是一段时间内的最大风速为 8 节。

t060 表示的温度。注意温度的单位是华氏度。t060 就是 60 华氏度(15.56 摄氏度)。

r000p000 分别是近一小时降雨量和近 24 小时降雨量。单位是英寸每小时

h51 是相对湿度。这个比较好理解,就是相对湿度,使用两位数字 00-99 表示。h51 就是相对湿度为 51%。

b10222 表示大气压。单位是 10Pa。b10222 表示大气压为 102220 Pa。

以上内容没有的可以不填,但是建议使用 0 进行填充。因为发现部分 APRS 展示网站如果信息不完整就会解析失败以原文的形式显示,导致无法自动生成统计图表。

好了,以上信息发送完成后不会收到回复。可以直接在 https://aprs.fi 等网站查看到自己的数据了。

发表评论

textsms
account_circle
email

LaMP's Blog

向 APRS 服务器发送位置和气象信息
受疫情影响的寒假的第三个月,无意中发现了 APRS (Automatic Packet Report System,自动位置回报系统) 这个古老的东西。引用一段介绍: 业余无线电操作员使用 APRS 通过无线电传输实…
扫描二维码继续阅读
2020-04-06