FreeBuf|卫星黑客利器:OpenATS新版本更新( 三 )


FreeBuf|卫星黑客利器:OpenATS新版本更新
文章图片
三、OpenATS的安装、使用方法OpenATS整个系统的源码已经上传在Github , 链接在文章最后 。 不同的文件夹 , 分别对应单片机端、客户端、服务端、web端 。 下载后分别拷贝到不同环境部署 。
1、单片机端安装
单片机端是基于原来旧版本的OpenATS升级改造而来 , 使用者可以直接将源码按照之前文章步骤上传到Arduino中或者STM32中 , 只需要把相应的步进电机库拷贝到库目录即可 。 可以根据自己的硬件条件修改代码中脉冲的接口针脚编号、脉冲比例系数等参数 。
2、客户端安装
安装客户端首先安装依赖环境 , 本系统依赖GPSD、libgps-dev(3.20)、nscurses、libwebsockets-dev、gcc、make、wget , 需要安装这些依赖环境后直接make就好 。 建议安装NTPD , 将NTPD的授时源设置为本地GPS源 , 可以校准本地系统的时间还可以做时间服务器对外提供服务 。 具体设置方法请自行谷歌参考关键词GPS搭建本地NTP服务器 , 由于我们常用的系统为非实时操作系统 , 精度可能不会太高 , 但对于我们来讲足够 , 至少比NTP网络授时精准几个数量级 。
3、服务端安装
服务端安装跟客户端类似 , 需要以上的依赖环境之外 , 需要安装mysql数据库或者mariadb数据库 , 还需要libsqlclient-dev客户端库 , 当然如果你不需要数据库的支持可以不安装数据库 , but客户端库还是要安装的 , 要不然编译不过去 。
4、web端部署
Web部署相对简单 , 安装相应的web环境 , Apache即可 , 将web端文件夹下的文件直接拷贝到web目录中即可 , 修改html主页的服务器地址 , 这样可以通过websocket获取服务端的信息 。
5、配置文件
客户端和服务端都有软件的配置文件 , 文件名为options.ini , 为了方便不太熟悉英文的朋友 , 含有中文注释 , 配置文件可以修改接收站默认的经纬度高度等信息 , 在没有GPS模块的情况下采用配置文件中的经纬度信息 。 以及默认目标位置信息 , 天线最大仰角限制参数、是否使用GPSD服务、是否使用GPS时间、GPS以及天线的串口配置信息、目标追踪接收数据接口、网络接口、前端接口、GPS读取/追踪/天线控制速度(单位ms)、TLE卫星星历数据更新地址以及备份地址等等 。 使用者根据自己需求和系统设计适当修改 。
FreeBuf|卫星黑客利器:OpenATS新版本更新
文章图片
6 , OpenATS的命令参数如下:
FreeBuf|卫星黑客利器:OpenATS新版本更新
文章图片
追踪卫星命令 , 后面跟卫星名字 , 例如:openats-sNOAA18
追踪卫星命令 , 后面跟卫星的NORAD编号 , 例如:openats-n28654
追踪目标命令 , 后面无需跟参数 。
更新、下载TLE数据 , 无需参数 , 直接下载SpaceTrack的全部星历数据
显示卫星轨道信息功能 , 后面跟卫星NORAD编号 。
为GPS调试功能 , 无需参数 , 将会显示GPS信息用来调试 。
为远程控制模式 , 之后的OpenATS客户端将有服务端下达指令用来统一管理 。
注意:即便是普通追踪模式下 , OpenATS客户端也会将天线的经纬度以及角度数据发送给服务器端 。 如果不需要的可以在代码中注释掉相应的线程即可 。
FreeBuf|卫星黑客利器:OpenATS新版本更新
文章图片
使用OpenATS追踪极轨卫星的下行信号 , 可以看出较大的多普勒频移
四、OpenATS的一些常见问题和注意点默认编译时带有-g参数 , 如果出现错误会产生调试文件 , 如果linux系统未生成错误文件请输入命令:ulimit-cunlimited将系统设置一下 , 产生错误后请用gdb调试定位错误位置 , 可以发邮件告知我 。


推荐阅读