开源码软件很难用,开源操作系统占有率很低,只有 Windows 才是王道啦!!相信很多人至今仍有这个错误印象,实际上在这个时代,智慧家庭几乎完全仰赖 open source──家家户户的 Wi-Fi 无线基地台、数字电视机上盒、Android 手机或平板、智慧语音管家(Amazon Echo、Google Home)等,里面都有个 Linux;iPad、iPhone、iMac、MacBook 里面的系统也是衍生自开源的 FreeBSD 系统,再加上压倒性采用开放原码的网页服务器、云端服务等,没有了开源软件,现代人还真不知道要如何生活下去呢。如今更厉害的来了,开源码软硬件增加了生力军──人造卫星 UPSat 。
UPSat 是一颗 2U 的微型方块卫星(20×10×10cm,外太空部署微型卫星的单位跟电脑主机类似),任务是电离层电浆密度的科学研究,由自由太空基金会(Libre Space Foundation)与希腊派特雷大学(University of Patras)合力开发且共同营运。它的尺寸不大,就像一台小电脑主机,设计上,所有的软硬件完全排除了商用元件,全部以开源的软硬件从头开始打造起。
过去大众印象里,送卫星上太空是很重大的任务,要先用火箭把航天飞机专程发射到外太空,然后航天飞机再飞到指定的轨道,打开肚子,把巨大的卫星卸载出去,然后太空人离舱,进行危险的太空漫步把卫星设定好,这颗卫星才能开张营运;现在有了微型卫星以后,送卫星上太空比较像是货运宅配到轨的概念,而且过程几乎全自动,甚至还可以回收卫星,不用像过去,太阳能板寿限到了,电力耗尽后只能变成太空垃圾,在掉回地球的过程中烧毁。
首先是在 4 月 19 日,这颗卫星搭载于 Orbital ATK Cygnus 自动货柜太空船(当然是集货好的,一次装载 150 单位的货物)用火箭发射升空,送到国际太空站(International Space Station);在站里,会有专人管理配送的作业(类似宅配业者的营业所),这是全程唯一需要人工的地方;再于 UTC 时间 5 月 18 日早上 8:24 透过 NanoRacks 的方块卫星部署器从太空站发送到指定轨道(一次可以部署超过 40 颗方块卫星)。30 分钟后,地面的接收站就成功地开始收到 UPsat 无线讯号,这开启了开放源码软硬件在太空应用的里程碑,这使得打造微型卫星的困难度大为下降,太空科技的运用将更加普及。
▲ 4 月 19 日火箭发射到 Cygnus 太空船在太空中开始飞行的全程录影。
▲ nanoracks 方块卫星部署器的配送过程。
当然这个卫星的源代码真的是开放的,全部放在自由太空基金会的 GitHub 上,授权有 CERN OHLv1.2 与 GPLv3等。结构上,这卫星小归小,不过麻雀虽小五脏俱全。它由六大子系统组成:
- EPS:Electrical Power Subsystem ,供电子系统的缩写,负责把太阳能模组转化的电力,供电到各系统,或者太阳能供电不足时,转用内部电池。
- OBC:On Board Computer 的缩写,这是 UPSat 卫星的大脑, 它负责了于所有核心飞行功能,并执行所有子系统的主要决策和监控,STM32F4 微处理机是其心藏,其操作系统是 FreeRTOS( 开放源码的即时操作系统)。
- COMMS:Communications Subsystem ,通讯子系统的缩写,顾名思义,这是负责通讯的,核心是 CC1120 通讯芯片。卫星上所有系统内与发送到地面站的的资讯封包都使用 ECSS-CCSDS(定义在 ECSS-E-70 里 )。
- IAC:Image Acquisition Component ,影像取得模组的缩写,这是一个嵌入式 Linux 机板──DART4460 ,运作一个客制化 OpenWRT 系统,相机是一个 USB Ximea MU9PM-MH。
- SU:Science Unit ,科学元件的缩写,在卫星的最顶端,透过 4 根探针分别收集电流,即时测量出电浆密度,测量电流范围从 1nA 至 2μA。
- ADCS:Attitude Determination and Control Subsystem,姿态稳定与控制系统,基于磁力计的 3 轴主动系统,以安装在卫星四面太阳能电池板背面的矩形磁性线圈(x4)产生控制力矩。磁性线圈之所以安装在太阳能板背面,是因为可以透过太阳能板计算出阳光角度,来旋转调整卫星,此外还有 GPS 可以修正 SGP4 数值,与精准的时间更新。
有兴趣的话,按照这些缩写索骥,就可以研究对应的源代码,当然你有钱有闲的话也可以自己打造一颗(当然要发射到太空,问题只在运费啰)。
关于自由太空基金会
自由太空基金会是一个致力于开发自由太空硬件的组织(Libre Space Foundation)。它诞生于第一届 Hackaday 获奖的 SatNOGS 专案,是人人可以 DIY 的开源小型卫星地面站,硬件部分是一般人容易取得的材料、一般商用电子产品(Raspberry Pi 3 机板 + Linux 桌面系统等)与一点点的 3D 打印,就能组装出自己的小型卫星地面站,接收来自低地轨道(Low Earth Orbit,缩写 LEO)卫星的数据。讯号上,预设是支援 VHF、UHF 频带,扩充到其他频带也很容易,此外还可以把数个 SatNOGS 地面站以网络通讯整合程 SatNOGS Network,透过全球的 SatNOGS 地面站网络能更方便地接收特定卫星讯号,这让卫星资料数据的运用范围变得更广泛,使用卫星不再是特定单位或公司的专利了。
(Source:Libre Space Foundation)
现在你只要DIY 打造出一台自己的 SatNOG 地面站,把频率调到 435.765 MHz,当 UPSat 卫星不在命令控制模式时,你就可以接受到来自它的数据,在家也可以当个太空科学家啰。
另外,这次的火箭发射,还有个创举,NASA 第一次提供了 360 度的发射影片(不过发射离开底座时,有几秒的画面不幸没录到),另外这影片发射时非常大声,请留意音量。
- The first open source satellite
- DIY Satellite Ground Station and Network
- FLYING THE FIRST OPEN SOURCE SATELLITE
(首图来源:Flickr/Libre Space Foundation CC BY 2.0)