基于 win7下虚拟机的 GNSS-SDR安装过程

最近在安装 GNSS-SDR软件时,遇到了很多问题,这里回顾了我的安装过程,罗列了所遇到的问题和解决办法。希望后来者不要再踩这些坑了!

  1. 首先,在官方文档中看到,GNSS-SDR目前并不支持直接在 Windows系统下直接运行,通常需要借助虚拟机构建客户操作系统(Linux),在虚拟系统内安装并运行该软件。
  2. 官网上给出的建议虚拟工具是(VirtualBox),于是我就去官网下载了最新版本的 VirtualBox5.2.12。具体安装和新建虚拟机的过程都算简单,在网上也能找到很多相关介绍,所以这里不再赘言。
  3. Linux系统,这里我选用了 Ubuntu,一来是之前就经常听到这个名称,很好奇到底是个啥东西;二来是搜到的教程所安装的就是 Ubuntu。所以去官网上下载了最新的 18.04版本,这里要吐槽一下,也许是因为墙的原因,很多次都是卡在下载之前的那个网页上,就发生了“404”现象,很气!
  4. 按照教程安装和配置好 Ubuntu之后,需要安装增强功能,在教程中去找那个光盘标志并执行弹出操作时,也许是因为教程中是16.04版本的问题,反正我就是找不到光盘标志,于是作罢。
  5. 命令行执行“sudo apt-get install gnss-sdr”,真正准备安装 GNSS-SDR了,结果报错“can not locate passage”。于是去百度解决方法,才知道默认 Ubuntu的下载源都在国外,速度很慢,需要切换国内的镜像源。教程也很多,这里给出一个看起来简单一点的,切换阿里云。切换完软件源之后,再执行“sudo apt-get install gnss-sdr”时,就不会再报这个错误了。
  6. 接下来要说的这个问题是本次安装过程中最恶心的问题了,但可能只是此次我遇到了,也许并不具有普遍性。就是所安装的 VirtualBox 5.2.12 + Ubuntu 18.04在虚拟系统开机、鼠标点击或执行操作时,经常会发生电脑蓝屏、卡死的现象。卡死了,只能强制关机,可笑的是强制关机或蓝屏后虚拟机内所进行的配置(源设置、下载的 GNSS-SDR)都没了,前前后后发生了十多次,我终于是不能忍,于是决定使用 VMWare,并且安装较低版本的 Ubuntu 16.04。
  7. 按照安装教程,在该网站下载了 VMware Workstation Pro 12,又在官网上下载了 Ubuntu 16.04,执行安装操作。总体安装过程其实与 VirtualBox 类似,大多都是直接执行“下一步”。
  8. 安装完虚拟 Ubuntu系统后,第一件事就是安装 VMware Tools,可以很方便的使虚拟系统全屏和进行宿主机与客户机的文件交换。安装  VMware Tools,我主要参考了这篇文章。安装完 VMware Tools后,令虚拟系统全屏,只需在 VMware的 “查看”菜单栏里点击“立即适应客户机”就可以了。然后就是设置共享文件夹,这个还是很有必要的,通过虚拟机进行操作所得到的文件通过这种方式也能够被宿主机使用。具体过程参照这里。进行完以上设置后,别忘记还要切换软件源!
  9. 接着在命令行执行“sudo apt-get install gnss-sdr”,这一次安装过程很顺利,没有像 VirtualBox那样会报“dpkg错误”或卡死的事情。测试是否成功安装 GNSS-SDR,命令行输入“GNSS-SDR --version”,结果显示的版本居然是“0.0.6”。官网上特别强调过,如果早于“0.0.9”的版本,对于所给出的测试用例,可能会有问题。没办法,只能卸载刚刚安装好的 GNSS-SDR,使用从源代码编译的方法来安装最新版本(0.0.9)的 GNSS-SDR了。
  10. 具体过程就是参考官网,一步步跟着操作就可以了。但在执行 “git clone https://github.com/gnss-sdr/gnss-sdr”时,下载速度特别慢,只有 5Kb/s,无法忍受。遂百度一下,发现这个问题很普遍,大家都会遇到,解决办法我用的是这一个,亲测可用。之后继续官网上给出的操作,就可以成功安装 GNSS-SDR了。使用 “GNSS-SDR --version”检测时,版本号也是最新的 “0.0.9”了,至此 GNSS-SDR的安装过程算是完成了。
  11. 下载测试数据,文件有 1.6G,还是挺大的,不知道是不是国外资源的问题,下载起来速度并不快。
  12. 之后就是制作配置文件,这里有几点需要格外注意。一、“GNSS-SDR.internal_fs_hz”应换成 “GNSS-SDR.internal_fs_sps”  二、SignalSource.filename那一项需要填写自己系统内数据文件的实际存放位置   三、Observables.implementation那一项中的 “GPS_L1_CA_Obserables”需要替换成“Hybrid_Observables”  四、PVT.implementation那一项的 “GPS_LA_CA_PVT”需要替换成“RTKLIB_PVT”。这样的话,配置文件也制作完了。
  13. 转到数据文件所在目录下,执行“gnss-sdr --config_file=./my-first-GNSS-SDR-receiver.conf"操作,即可顺利运行,并生成相应的文件。
  14. 官网上 “Configuration”部分主要是介绍数据源是硬件芯片时的配置,手头并没有相应芯片,所以这一节就跳过没看了。出于好奇,查了一下 “HackRF”芯片的价格,居然要 300美元,看来不是能随便玩的东西了。。。另外,还查了下制作团队的信息,发现他们都属于 "CTTC"。百度后,得知全称为“Center Tecnologic Telecommunications Catalunya”,翻译成中文就是“加泰罗尼亚电信科技中心”,怪不得下载到的数据文件是在 Spain测到的。不过很羡慕他们,平时做研究,周末可以去诺坎普看球呀。。。

好了,至此,本次按照 GNSS-SDR官网教程,安装和测试基本用例的过程就记录完毕了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏smartguys

(五):C++分布式实时应用框架——微服务架构的演进

版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律追究的权利!

6224
来自专栏EAWorld

微服务 to 变 or not to 变?

原著作者介绍: Viktor Farcic CloudBees资深顾问,熟悉多种编程语言,从最早的Pascal,Basic,ASP,C,C++,Perl,Py...

2977
来自专栏云原生架构实践

云平台架构实践中的微服务分解原则

2223
来自专栏京东技术

京东价格保护高并发 | 七步走保证用户体验

2014年加入京东,负责京东财务退款及价格保护研发建设,擅长京东逆向流程场景、金额拆分计算、高并发下网站优化。

1373
来自专栏知晓程序

微信小程序快速开发,两周内从创意到上线

2653
来自专栏SDNLAB

ODL Lithium SR2版本Entity Ownership Service分析及OFplugin规模部署可用预测

家好,我是盛科网络负责sdn研发的张东亚,作为sdn设备的提供商,业余非常关注sdn生态圈的发展,最近抽时间研究了li版本of plugin的代码,记录了一些心...

3175
来自专栏后端技术探索

58同城高性能移动Push推送平台架构演进之路

关于作者:孙玄,58赶集集团系统架构师,技术负责人,技术委员会架构组主任,也是58同城即时通讯、C2C技术负责人,负责58核心系统的架构以及优化工作。分布式系统...

2322
来自专栏Golang语言社区

再谈游戏服务器架构

一、服务器划分原则 在现有的网络游戏服务器端架构中,多是以功能和场景来划分服务器结构的。负载均衡和集群暂且不在本文中讨论(bigworld、atlas...

99613
来自专栏程序人生

[技术与产品] Bower & Brunch

今天写作时间太短,稍微探讨一下bower和brunch这两个web前端assets management的利器。 Bower 管理dependency一直是程序...

3679
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–带质量管理的销售退货(237)-4退货质检

一、QA32对接收货物进行质量检验 在收到退货过账到退货状态之后,对物料进行质量检验。将退回的货物收货过账时,系统将自动创建检验批。质量检验后,再进行进一步的处...

3824

扫码关注云+社区

领取腾讯云代金券