基于opentx开源软件,DIY属于自己的uav遥控器

article/2025/9/22 0:50:37

硬件方面:开关,自稳按钮,方向控制遥感,油门遥感,一键降落按钮,

1.根据开源源码找到引脚对应功能,以及实际各模块,按钮等,进行原理图的绘制,出个初板     

2.后续按需修改

软件方面:                                                                                                                                       

1.编译出firmware固件,开发环境的搭建

编译环境是win10自带的ubuntu18.04,软件运行环境的搭建步骤如下:

编译环境是Ubuntu18.04,遥控器是x9E
记录一下过程。
在安装之前请apt-get update 与 apt-get upgrade
安装库:
apt-get install cmake gcc gcc-avr avr-libc build-essential \    libfox-1.6-dev libsdl1.2-dev python-pyqt5 \    qt5-default qttools5-dev-tools qtmultimedia5-dev qttools5-dev libqt5svg5-dev \    gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 缺少qt5svg:apt-get install  python3-pyqt5.qtsvg
缺少libstdc++-arm-none-eabi-newlib :vi /etc/apt/sources.list 添加源
deb http://ftp.de.debian.org/debian sid main
apt-get update
apt-get install libstdc++-arm-none-eabi-newlib


在Ubuntu18.04 还要装
sudo apt-get install qt5-default qttools5-dev-tools qtmultimedia5-dev qttools5-dev
sudo apt-get install python3-pyside.qtwebkit上面一切顺利的话,

下载源码git clone --recursive -b 2.2 https://github.com.cnpmjs.org/opentx/opentx.git
cd opentx
mkdir build-taranis-debug
cd build-taranis-debug
cmake -DPCB=X9D+ -DGVARS=YES -DLUA=YES -DDEBUG=YES -DCMAKE_BUILD_TYPE=Debug ../
然后会看到
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- OpenTX 2.2.0
-- Looking for SDL
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
SDL Include Path: /usr/include/SDL
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
USING -std=gnu++11
WARNING: can't find gtests source, gtest target will not be available!
-- Looking for QT lupdate
-- /usr/bin/lupdate
QT lupdate: /usr/bin/lupdate
-- Configuring done
-- Generating done
-- Build files have been written to: opentx/build-taranis-debug

说明配置成功了。

接下来编译固件 make firmware

其中github源码链接替换为https://github.com.cnpmjs.org/opentx/opentx.git

其中opentx版本2.2可以改为最新的2.3

其中x9d遥控器型号替换(自己用的型号)即可,

具体可参考源码hal.h里面的芯片型号引脚定义,编译时需要和自己实际原理图一致,最后按步骤顺利得到firmware.bin固件文件.上述过程指令如下:

cd opentx
rm -rf build-taranis-debug
mkdir build-taranis-debug
cd build-taranis-debug
cmake -DPCB=X9D+ -DGVARS=YES -DLUA=YES -DDEBUG=YES -DCMAKE_BUILD_TYPE=Debug ../
make firmware

2.查看源码大致结构和内容,等待硬件出版完成后,烧录固件测试,进行测试

官方说明文档:https://doc.open-tx.org/manual-for-opentx-2-2/

网上找的文档:https://www.taholab.com/19464

3.预计完整代码测试无误后,会删去不必要的代码,增加和ardupilot通讯的需求

4.后续按需修改

参考链接:http://bbs.5imx.com/forum.php?mod=viewthread&tid=1293621


http://chatgpt.dhexx.cn/article/HVEWyI6D.shtml

相关文章

EdgeTX/OpenTX逻辑开关教程

目录 一、介绍 二、Taranis遥控的逻辑开关屏幕示例 三、Companion软件中的逻辑开关界面 四、开关功能 一、介绍 如果是T-Pro也可先学习本文的逻辑开关原理,这样在进行双击解锁/长按上锁的设置就得心应手了。 ⼿动激活开关标记为 SA 到 SH。在本文示例中SF 是两…

OpenTX学习笔记

一 OpenTX 开源的无线电遥控系统 二 文件夹结构 1 FIRMWARE 您可以将模块或无线广播设备的固件放在此文件夹中。此文件夹中的文件不会自动应用。 2 IMAGES 2.2:BMP重命名为图像(IMAGES),以保持Taranis和Horus之间的一致性。您可以将模型和其…

ping通说明什么

ping是icmp ping通说明 网络层,链路层没问题

虚拟机可以ping通主机,主机无法ping通虚拟机的解决方法

虚拟机可以ping通主机,主机无法ping通虚拟机的解决方法 关闭虚拟机防火墙 关闭防火墙后就可以ping通了 如何还无法ping通,将虚拟机重新启动后再尝试。 再次要ping 虚拟机的时候又ping不通了,搞了好久终于发现,只要将网络连接…

Ubuntu无法ping通百度

1 问题 ubuntu在使用ping baidu.com命令时出现未知的服务或名称 2 解决 修改/etc/network/interfaces文件 修改完成之后保存退出 重启网卡 /etc/init.d/networking restart

VirtualBox主机与虚拟机互相ping通的方法

一般情况下,按照VirtualBox默认的配置,主机可以ping通虚拟机,但虚拟机不能ping通主机。需要两端都能ping通的话,需要按照以下配置: 1、连接方法选择“仅主机(Host-Only)网络”。 2、在高级部分,控制芯片不…

为什么 A 能 ping 通 B,B 却不能 ping 通 A ?

有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友。 问题如下: A、B 两台开发服务器连接交换机,并且 A、B 两台服务器的 IP 地址设置为同一个网段,却发现 A 能 ping 通 B ,B 却不能 ping 通 A 。 如图&am…

网络何时能ping通?什么情况下不能ping通?

1. 在同一网段内 假设电脑A、B均在192.168.0.X的网络内,两台电脑不需要额外的设置,就可以互相ping通。如果ping不通,可能的原因是: 目标主机的防火墙没关闭目标主机有电脑管家/360等防护软件 2. 在不同网段 如上图,…

主机与虚拟机ping通

主机与虚拟机ping通,之前上课按老师的配置一步一步来,都忘带了脑子,这次自己也可以实现配置自由了。 1.第一步,查看主机ip,cmd->ipconfig 2.设置虚拟机,同一网段 子网ip:我设置为192.168.172.0 子网掩码…

能ping通,TCP就一定能连通吗?

平时,我们想要知道,自己的机器到目的机器之间,网络通不通,一般会执行ping命令。 一般对于状况良好的网络来说,你能看到它对应的loss丢包率为0%,也就是所谓的能ping通。如果看到丢包率100%,也就…

关于虚拟机能ping通主机,而主机不能ping通虚拟机的问题

Ping不通虚拟机或者主机这个问题恐怕让很多同学头疼吧?如果你是关于标题的问题,可以参考一下,如果是其他问题请移步其他博客。当然也欢迎大家前来阅读指正!第一次写,写的不好的地方大家多包涵! 这个问题是我…

不同网段怎么ping通

A 类地址子网掩码是 255.0.0.0 ,也可写作 /8 B 类地址子网掩码是 255.255.0.0 ,也可写作 /16 C 类地址子网掩码是 255.255.255.0 ,也可写作 /24 。 网段地址是主机号全为 0 的地址,表示某个网段,比如:网段地…

主机无法Ping通虚拟机

VMware主机无法Ping通虚拟机 原因分析 虚拟机未设置成nat网络模式;虚拟机设置成桥接模式,但是未和主机配置统一网段ip;或是主机网卡故障。而具体的虚拟机ping不通主机原因,在不同模式下可能的情况: 1、桥接模式 可能…

两台虚拟机如何ping通

(一)关闭防火墙: sudo ufw disable (二)点击菜单栏编辑→虚拟网络编辑器 点击右下角更改设置→选择桥接模式→最后点击确定 (三)设置两台虚拟机的IP都是自动获取(均进行如下操作&a…

linux可以ping通,Linux可以Ping通但不能traceroute

今天闲来无事,想弄清楚学校至百度服务器的网络问题,结果不试不知道,一试吓一跳。完全出乎我的意料。我们学校的网关是172.21.6.254,172.21.4.254和172.21.7.254。发现可以ping通学校网关,却不能traceroute。如下图: 这…

IP编址和ping通原理

OSI开放系统互联(ISO) 七层: 应用层(application)表示层(presentation)会话层(session)传输层(transport) 单位:分段 s…

什么是ping通

ping这个命令是用来检测你的电脑和你所输入的IP地址127.0.01是否有数据通讯,以判断网络通不通的问题,执行这个命令也很简单,在开始——运行,输入ping 127.0.01,上面会出现一些数据,如果你看到了out of date的字样证明是不通的。 如果其它电脑互通, 初步怀疑是子网设置错误…

网络/Network - 网络层 - 局域网 - 两台主机互ping - 学习/实践

1.应用场景 主要用于同一局域网下, 两台主机相互通信, 相互访问. 2.学习/操作 环境 两台主机 Windows系统 1.介绍 同一局域网[同一网段, 即处于同一网关下, 基本认为子网掩码相同]下, 两台或者多台主机之间相互通信, 用来模拟客户端与服务器之间的沟通交互. 通过cmd下, ping…

wpf 按钮添加图标

1.打开iconfont添加自己想要的图标到购物车 2.下载代码到本地 3.wpf项目里新建文件夹Fonts,并把iconfont.ttf拷贝进来 4.这一步很关键&#xff0c;将文件生成为资源&#xff0c;要不然在xaml里面看的是正常的&#xff0c;但是运行的时候会变成口 5.修改App.xaml代码 <Appli…

WPF入门之布局

一、类型 wpf的布局有五种大类 DockPanel 停靠面板StackPanel 栈面板WrapPanel 环绕面板Grid 网格面板Canvas 精准定位 二、区别 1、DockPanel 面板&#xff0c;里面的元素用Dock属性来设置停靠在哪个方向,分别有:Right(右停靠),Left(左停靠)&#xff0c;Buttom&#xf…