在各种卫星仿真平台之间反复跳跃,不知道Hypatia好不好用,看起来star很多、比较新,尝试一波。
Hypatia文件结构:
- satgenpy:python框架,用于生成LEO卫星网络,并在一段时间内生成路由。
- ns3-sat-sim:基于ns-3的框架,将stagenpy生成的状态作为输入,在LEO卫星上执行包级别模拟。
- satviz:可视化交互
- paper:实验和绘图代码
- integration_tests:用于集成测试
参考链接:
[*]https://blog.csdn.net/JackZhaojt/article/details/128678247 https://blog.csdn.net/lyorz/article/details/128374695 https://www.cnblogs.com/AntennaZ/p/16356957.html
环境配置
conda环境配置
在ubuntu+wsl的基础上安装anaconda。 1
2wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
bash Anaconda3-5.3.1-Linux-x86_64.sh #安装anaconda
修改配置文件,在 /etc/profile中加入export PATH=~/anaconda3/bin:$PATH
并重新加载环境变量source /etc/profile
检查安装成功conda --version
创建新环境hypatia
首先建立conda虚拟环境conda create -n hypatia python=3.8
激活虚拟环境
1 | source activate |
下载hypatia并安装依赖
git clone源码git clone https://github.com/snkas/hypatia
直接运行sh会报错,需要拆解运行
更新镜像源
sudo apt-get update
安装cartopy
conda install cartopy
下载依赖和库
1 | sudo apt-get install update |
- 安装exputil和networkload库
1 | #从GitHub上clone下来 |
经过N=4次的尝试,终于运行到了这里,可以开始构建模块。之前总是这找不到那找不到的>_<
测试
构建模块
bash hypatia_build.sh
运行测试
1 | sudo apt install screen |
- 遇到问题:can't make directory ‘/var/run/screen’:permission denied
- 解决:重启之后运行命令:
1 | sudo mkdir /var/run/screen |
至此测试完成,可以正式开始复现
复现Paper
生成网络数据
说是能跑两天直接下载数据作者跑好的数据好了。
下载python extract_temp_data.py
构建ns-3
bash build.sh --debug_all
performing analysis using satgenpy
1 | cd satgenpy_analysis |
a_b实验
1 | # 切换到paper/ns3_experiments/a_b目录 |