Michael, BD5RV
一个春天的午后,美国华盛顿特区,当我坐在Bob Bruninga, WB4APR面前时,这位老者依旧滔滔不绝地说着CubeSat和太阳能电动车的话题。作为APRS之父,他在海军研究院工作了三十多年,侃大山的能力十分强大,当然,这样的聊天是十分言之有物的,让你总在不断地脑补各种场景,试图跟上他的思路。
Bob在1963年考取了业余无线电执照。老人家的本科毕业设计是电动车。可能国内很多人觉得电动车商用是近几年的事情,特斯拉、蔚来、法拉第未来、比亚迪都是又新又靓的概念。其实第一辆商用的电动车产于1897年,而且从未远离人们的生活。在欧美国家经历过几次电动车的浪潮,1970年的时候,在乔治亚理工上四年级的Bob听说麻省理工和加州理工在进行一场“清洁空气大赛车”(Clean Air Car Race),于是说服当地的车商捐了台大众的底盘,然后买了一台二战时期飞机上拆下来的旧电动机,开始了自己造车参赛之旅。
图:1970年乔治亚理工校友杂志关于电动车的报道
大四过去得很快,毕业的时候Bob要马上向加州的预备役军官训练营报到,于是他将造了一半的车交给了他的教授。教授组织了一班学生继续了造车这件事并最终参加了赛车。上图是1970年乔治亚理工校友杂志上的一篇文章,说的就是这件事。
1976年,Bob用RTTY实现了一个BBS。BBS可以算是最早的网络社交平台。网易的丁磊和腾讯的马化腾年轻时都是泡BBS的好手。而RTTY则是用电信号传递数字信息的一种方法(称为通信模式),用两个高低不同的音频信号分别代表0和1 ,从而实现报文的数字化传输。想想看,1976年的无线社交,那时我还没出生,文革刚结束。
随后几年,Bob参与了AX.25通信协议的制定工作。AX.25是X.25在业余无线电领域的变种,它解决了将0和1的数字流转换成一个个含有源和目标地址以及路径的数据帧以及反向的过程。这些数据帧可以被更上一层的设备所处理及转发。X.25在80-90年代风靡了很长一段时间。我记得刚上大学时,全校接入中国教育网(CERNET)就是通过一根64kbps的X.25帧中继线,那是1998年的事情。今天,X.25在商业领域的大多应用已经被互联网替代,但AX.25依旧应用广泛,其中最多的用途就是本文的主题APRS。另外,有许多低轨业余卫星的测控也使用AX.25数据帧。如果你使用过Linux并自己编译内核,那个Ham Radio Support指的就是AX.25。
大约在1982年左右,Bob被派驻到日本,在那儿,他在Apple-II计算机上写了一个程序,能够将海军通过短波传送的位置报告显示在地图上。1984年,他想到用一种非连接的方式传送位置信息。这里非连接的意思是两个台站无需事先安排就可进行连线,有点像互联网的UDP协议。他将这种想法用于美国联邦紧急事务管理局(FEMA)的全国灾害医疗系统演练中。这套系统当时叫做CETS(Connectionless Emergency Traffic System,非连接式应急通信系统)。八十年代那会儿没有Google map,也没有百度地图,于是Bob花了很多时间手工制作系统使用的地图,并在1992年将CETS改名为APRS(Automatic Packet Reporting System,自动分组报告系统)
1992年,我记得那年我学习了在APPLE-II上用BASIC编程,那机器连个软盘都没有,性能还不如我现在手上的iPhone。那时,Windows 3.1刚刚发布,DOS的字符界面还是主流,当时APRS的位置报告是这样的:
图:1996年某日美国华盛顿特区附近的APRS位置报告
没有图形化的界面,地图是自己绘制的。我有点惊讶于1996年时美东地区APRS的繁荣程度,要知道当时哪怕是GPS星座也才刚刚部署完成投入使用。读到这里,如果我问你,APRS是什么?可能用过的爱好者中有一大半会脱口而出:跟踪车辆的呗。这是很普遍的一个误解,APRS的P是Packet(数据包)而不是Position(位置)的意思。
APRS尝试去解决的是实时地共享周围的信息。就像一个在射频频率上运行的微博,你可以分享任何信息:位置(车辆、人的跟踪)、天气、路上堵不堵、聚会活动的计划、你请客吃饭的请帖、还有下雨时的心情。你可以特别@某个人(在目的地址中指定)也可以关注某个人(过滤源地址)。发微博的可以是人(自定义消息)也可以是只猫(项圈上的信标机)或者物(比如一台气象站)。所以,物联网、社交网络、LBS(基于位置的服务)这些当前全球市值最高的互联网公司在做的事情,业余无线电爱好者在20年前就在做了。
图:一个典型的APRS消息
比如在上图中,我通过APRS告诉全世界的人:我刚看了一集《吐槽大会》(绿色的字)。同时这条消息包含了我的位置(RV图标所在的地方就是我发出消息的准确位置:我家楼下)
图:一个典型的气象站APRS报告
BD4RQ比我正儿八经得多,他楼顶的气象站勤勤恳恳地在报告着实时的温湿度等信息。
图:一个典型的船舶自动识别系统(AIS)转发到APRS上的消息
这艘名为亚特兰蒂斯的科考船在写下本文时正游弋在旧金山湾,它通过AIS不断地在发送自己的位置信标,而这些信息被N8QH转发到了APRS上。
而对于所有这些,互联网并不是必须的。大多数消息是通过无线电频率发送,然后通过网关(iGate)汇聚到互联网上。传送的过程中,使用什么样的无线电频率并不重要,大家只是约定俗成地在特定地区使用统一的频率,方便互相发现。比如在我们国家是144.640MHz而在美国则是144.390MHz。这里有一张世界各地的APRS频率分布:
图:APRS频率分布,由G6IUM制作
我们知道,VHF频段的无线电信号是遵循视线传播的规律,也就是双方能“互相看见”是成功通信的前提条件之一。由于地面是个曲面且有建筑和地形等遮挡,于是就有了“站得高看得远”的效应,对于无线电通信也是如此:提高天线的高度可以扩大信号覆盖的范围。可并不是所有人都有将天线架设得很高的条件,那些具备条件的人就会站出来为大家提供服务:他们在高处设置一个设备。这个设备因为站得高,所以能收到更远的信号,同时发出的信号也能到达更远的地方;此外,它还具备一个功能,将收到的数据包以一定条件重新发送出来。这样,原本无法直接到达的两个台站通过这个中间设备就能互相通信了,只要两个台站都在这个中间设备的覆盖范围内。这个中间设备就叫数字中继(Digipeater)。Digipeater这个词是生造出来的,Digi是Digital的一部分,意思是数字的,APRS传送的是数字信号。peater这个后缀是Repeater的后半部分,意思是能够“复述”的设备。Digipeater的实际功能比简单的“复述”复杂一点点,它能根据收到的数据包包头内容决定是否复述,并在复述的数据包包头中添加一个标签,表明这个数据包经过自己的复述。这有点像微信朋友圈的“谁可以看”这个功能,你可以在发给digipeater的数据包中规定路径信息,限制被“复述”的次数,从而限制传播的范围。
因为“站得高看得远”,所以,通常这些Digipeater都安装在高楼楼顶或者山顶上,大约能覆盖半径几十公里的圆形区域。如果我们用气球把Digipeater放到离地20km的平流层里,覆盖半径就能有几百公里。如果我们把Digipeater装在卫星上发射到轨道中,覆盖半径就能上千公里。
我和Bob的交道就是源于这些卫星。他在海军研究院的工作方向是航空航天工程。大约在90年代中期,业余无线电卫星开始朝着向数据通信的方向发展,美国的业余爱好者开始尝试在航天飞机和空间站上进行数据分组通信的实验。理论上所有带有线性或者调频转发器的卫星都能用于转发APRS数据包,但这些转发器只能是透明地转发,而不能像Digipeater那样能对数据包有的放矢。
于是,在Bob的张罗下,美国海军研究院组织了一帮学生做了颗小卫星,叫PCSat,2001年,作为一颗APRS专用卫星发射上空间轨道。
图:PCSat的近照,那些卷尺是天线
PCSat的轨道离地面约800公里,地面上用一台手持对讲机就能将数据包发送到卫星上。于是美国军方也很配合地组织了一系列的实验:
图:F-16战斗机上搭载的APRS设备,通过PCsat“发微博”
图:美国鲷鱼号攻击核潜艇上进行的APRS测试,也是通过PCSat“发微博”
随后,在空间中的APRS应用越来越多。包括在国际空间站上也设置了Digipeater。
说了这么多,总结一下。APRS是一种通过无线电传输的“微博”,用来分享物和人的各种信息。它和互联网之间的接口叫iGate,而Digipeater则是一种能够复述并扩展覆盖范围的设备。虽然已经有了二三十年的历史,APRS依旧在我们的业余无线电生涯中占据着重要的位置。你今天发“微博”了么?
文章转载自《599杂志》,作者:Michael Chen, BD5RV。