FlightGear编译与数据通讯说明

Capricorn1123 2020-09-09 03:53:13
FlightGear编译
本文描述了FlightGear 2019.1.1版本的编译过程,亲测有效,编译过程可参考官方网站:http://wiki.flightgear.org/Building_using_CMake_-_Windows
一、 准备工作
1. FlightGear 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
2. SimGear 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
3. FgData 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
4. Osg 3.4.0:https://github.com/openscenegraph/OpenSceneGraph
二、 工程配置目录说明

三、 编译OSG
OSG的编译完成教程很多,不再赘述,此处仅强调一点,在进行cmake配置时注意该参数:OSG_USE_UTF8_FILENAME,一定要勾选上,

因为这是后面的simgear在编译时要求的,不然的话你会在cmake配置simgear是遇到这样的错误:
“CMake Error at CMakeLists.txt:259 (message):
Please rebuild OSG with OSG_USE_UTF8_FILENAME set to ON”;
四、 编译simgear
下载安装openal库,http://www.openal.org/downloads/
OpenAL 1.1 Core SDK(zip),安装完成后打开安装目录中的redist文件夹,双击其中的oalinst.exe应用程序,完成openal32.dll库的注册。
Simgear中的boost使用openscenegraph的2017版本的3rdparty中的相关boost即可。
五、 编译flightgear
1. 首先需要编译其第三方依赖库PLIB,在此下载PLIB第三方依赖库的1.8.5版本,下载地址:http://plib.sourceforge.net/download.html;
2. 编译完成后配置进cmake中,生成vs工程。
3. 启动vs工程完成编译。


从FlightGear udp获取飞行数据
1. 首先编写aaa.xml(名称可自定义)配置文件,然后放到fg-data中的Protocol文件夹下,格式可以参见该文件夹下已存的playback.xml文件;
2. 命令行启动fg,fgfs –generic=socket,out,1,localhost,5500,udp,aaa;
3. 然后用wireshark,或者,tcpudp的监听工具,监听本机的5500端口,可接受到数据,同时我写了数据接收和解析的小程序,可参考。Conmmunicaiton文件夹
4. 参考链接:https://blog.csdn.net/qq_23096723/article/details/79253673?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task



向FlightGear udp发送数据
1. 向FG发送数据也需要编写aaa.xml配置文件放置到Protocol文件目录中,配置可参考该目录下的playback.xml文件中的<input>节点;
2. 命令行启动fg,fgfs-generic=socket,in,1,localhost,5500,udp,aaa;
3. 然后编写socket通讯工具,发送数据,数据格式需要参照aaa.xml中chunk的顺序和格式,比如以经纬高举例
发送固定字符串“21.21212121,-157.2345256,12.3324455\n”,结尾需要以”\n”结束,不然fg无法收到这条数据。发送后会发现fg中的飞机位置改变了。示例程序可参考Conmmunicaiton文件夹。



...全文
615 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marconi25 2022-01-03
  • 打赏
  • 举报
回复

Conmmunicaiton文件夹这个文件夹也没有啊

Marconi25 2022-01-03
  • 打赏
  • 举报
回复

向FlightGear udp发送数据按照你这个来的 FG还是没有视景变化 大佬知道啥原因吗??能接受到FG发来的数据。

205

社区成员

发帖
与我相关
我的任务
社区描述
虚拟现实与增强现实技术
vr求职招聘python 技术论坛(原bbs)
社区管理员
  • VR/AR社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧