PX4使用WIFI模块

2023-05-16

PX4支持WIFI模块作为数传工具,官网上也提供了教程,但是不注意细节也很容易失败。以下是我的经验以及教训。

配置环境

飞控:pixhawk v2,烧录PX4 v1.8.2的固件

地面站:QGC 3.5.2

wifi模块:市面上最常见的8针ESP8266模块

操作系统:Win 10

参考资料

[1] https://docs.px4.io/master/en/telemetry/esp8266_wifi_module.html

[2] http://ardupilot.org/copter/docs/common-esp8266-telemetry.html

[3] 工具下载

wifi模块固件烧录

如官网所示,可以使用python烧录固件也可以使用第三方工具烧录固件,PX4的v 1.8.2使用的是mavlink2,因此烧录firmware-1.2.2固件。烧录之前需要把GPIO0接地。我是这样烧录的,使用网上最常见的转串口的座,下面把杜邦线公母头分别焊接在GND和GPIO0的排针上,上电前需要短接,正常工作不短接。稍后我会把全部资料和工具上传。

烧录界面如下图所示,选择正确的串口,正确的固件,配置合适的波特率,之后点击flash。

官方固件和安可信固件的区别:

1、官方的固件在烧录之后会自动配置串口为透传模式,如果需要修改wifi的工作方式或者是波特率,首先电脑连接PixRacer热点,密码为pixracer,浏览器中输入192.168.4.1,点击setup即可配置,如下图所示

2、对于安可信的固件则是需要用户通过AT指令配置wifi模块的工作方式,再设置串口成为透传模式

 

硬件连接

要想成功首先保证硬件连接,在PX4固件中,wifi模块接入在telem2端口,telem2端口的闲分别为vcc, tx(接wifi模块的rx), rx(接wifi模块的tx), -, -, gnd。如下图所示,注意截图的文档来源于APM,烧录的是APM固件,它接入的是telem1。烧录PX4固件的需要接入telem2,同时配置SYS_COMPANION为ESP模式,最后重启飞控

结果测试

连接好之后,飞控的usb不要连接到电脑上,不然地面站会默认链接usb串口。电脑连接PixRacer的wifi,打开地面站即可,QGC会自动使用UDP连接飞控,界面上会出现wifi桥接的界面,如下图所示。

经验教训

之前一直不成功的主要问题还是在于硬件,我使用了这个模块,它有多个串口,USB接了一个串口,排针也引出来了几个串口。现在还没有搞清楚USB的那个串口是对应的串口几,烧录官方的固件之后是需要把数传2的串口接到USB的那个串口上的。

问题排除方法:上电后收到对应的wifi热点,可以访问192.168.4.1,;飞控板的确连接了telem2,参数也配置正确;硬件连接也是对的,那么大概率的问题就出在wifi模式了,于是换了最常见的8针wifi模块就解决了。而这个大模块不行的原因我猜是usb串口的另外一边接了232转换芯片,直接接TX和RX管脚,电平可能会被232芯片拉底??

 

其他尝试

把ESP8266配置成AP模式的缺点是地面站只可以连接一架飞机,如果地面站需要连接多架飞机,需要把ESP设置成STA模式,并开启电脑的热点,电脑热点的开启网上有很多资料,下面是热点开启后,ESP8266的设置,注意把SSID,passwd以及局域网的网段改成自己的(192.168后面的称为网段),重启之后ESP会自动切换成STA模式。如果1分钟之内无法连接到热点,它会自动掉会AP模式。

下面是多个飞机连接的示意图,它可以同时显示多架飞机的状态信息

同样的原理,ESP8266还可以接入路由器的热点,同时地面站所在的电脑也连接到同一个热点,也可以实现多个飞行器的接入。通过抓包发现,ESP8266连接到热点信号之后,它发送的所有数据包都是广播包,如下图所示。即目的节点是192.168.1.255的数据包(我电脑的网段是10.42.0网段,所以是10.42.0.255的目的地址),这种发送方式在一定程度上会占用网络的贷款,增加网络的拥塞程度,因为路由器接收到这个包之后会在全网广播,其他飞行器会受到没用的数据包,占用网络带宽.后面可以考虑下把目的节点的IP地址修改成地面站所在电脑的IP的地址,当然最好通过路由器给电脑设置一个静态的IP,以防IP节点不断变化

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4使用WIFI模块 的相关文章

  • 使用 Delphi XE5 for Android 创建 WifiConfiguration

    我正在尝试为 Android 创建 WifiConfiguration 可以设置所有其他属性 但如果我尝试设置 SSID 或 BSSID 则会出现分段错误 11 并且应用程序和 Delphi 会挂起 var WIFIConfig JWifi
  • Android 2.2 wifi热点API

    我需要在 Android 2 2 Froyo 中进行什么 API 调用来创建 Wifi 热点 如网络共享和便携式热点设置项中所示 您可以致电 private boolean setWifiApEnabled WifiConfiguratio
  • 通过 wifi 传输 ipad 到 ipad 文件

    通过 wifi 将文件从一台 ipad 传输到另一台 ipad 的最佳方法是什么 我知道如何处理 wifi 网络连接 但我需要知道将图像 视频等从一台 ipad 传输到另一台 ipad 的最有效方法 您可能想看看https github c
  • iOS从蓝牙接收数据,然后通过wi-fi将信息发送到另一台服务器上的数据库

    我应该查看哪些库来完成以下任务 我想通过蓝牙从另一台设备接收字符串 这需要查看附近设备的列表并选择正确的设备 然后我想通过 Wi fi 将字符串发送到数据库 这是我真正想做的事情的简单版本 但我需要首先知道如何做这些事情 此外 任何设计技巧
  • iOS 检查 WiFi 辅助是否已启用

    我正在尝试检查 WiFi 辅助是否已启用 当我连接到接入点获取一些数据时遇到问题 当我的连接状况不佳时 我的蜂窝数据会被使用并干扰我的接入点 有什么方法可以检查该选项是否启用 好吧 我想我能帮上一点忙 你需要check SCNetworkR
  • 在我的 Android 手机上,socket.io 似乎有延迟

    EDIT 2 我观察到使用相同的行为服务器发送的事件 SSE 参见示例here http cjihrig com blog server sent events in node js 当然 这是一种方式 然而 它在我的 Nexus 5 上似
  • Wifi 睡眠,即使有锁

    总结 即使获取了wifi锁 当手机使用电池运行时 wifi也会在一段时间后断开 我已将问题简化为带有启动线程的按钮的单个活动 它只是向 PC 上运行的回显服务器发送 100 000 个字符串 每 100 毫秒一个字符串 请参阅下面的代码 我
  • 通过 Wi-Fi 扫描 MFI 产品

    在 iOS 8 中 Apple 允许我们通过 Wifi direct 连接到设备并与其共享 WiFi 网络凭据 我们可以在 wifi 设置页面中执行此操作 也可以在应用程序中执行此操作 我正在尝试启动扫描来查找 wifi MFI 设备 我可
  • 无法理解 PcapNG 文件中的 802.11 数据帧格式

    I have PcapNG由 Wireshark 创建的文件 我尝试用它来解析python pcapng However I cannot figure out how to reconcile the output I receive f
  • 如何在 .net 中获取可用的 wifi AP 及其信号强度?

    有没有办法使用 NET 访问所有 WiFi 接入点及其各自的 RSSI 值 如果我可以在不使用非托管代码的情况下完成它 那就太好了 或者如果它可以在 Mono 和 NET 中工作 那就更好了 如果可能的话 我将不胜感激代码示例 谢谢 以下是
  • 在未越狱的 iOS 设备上启用/禁用 Wifi

    我的内部应用程序需要这个 我想在 ios 设备上切换 wifi 任何框架都可用 我尝试了以下代码 但它没有为我提供任何帮助 这不会改变我的 wifi 设置 Class BluetoothManager objc getClass Bluet
  • Android:在应用程序中间时从 3G 切换到 WIFI = 网络连接丢失

    我在使用 HTC Legend Android 2 2 时遇到了一个恼人的问题 在 Xperia Galaxy Nexus 等上没有看到此问题 当我在 3G 连接上启动应用程序 获取一些数据 然后进入手机设置并启用 WIFI 时 手机会自动
  • p2p0是android中WIFI DIRECT的无线接口吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我打印 Android 设备中的所有接口时 03 10 19 50 15 484 I System out 22415 lo 03 10
  • 我如何使用肘节检查连接性?

    我需要使用连接库检查应用程序内每个页面的连接性 所以我将在提供者内部使用一肘 问题是何时关闭流以便在用户关闭应用程序时可以处理它 像这样 import package connectivity connectivity dart overr
  • Flutter IOS 使用连接或 wifi 插件读取 wifi 名称

    这个问题是类似的这个问题 https stackoverflow com questions 52498906 how to get the wifi namessid of the currently connected wifi in
  • 有没有办法通过 WiFi 部署/调试 Cordova Android Ionic 应用程序? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 这是一个双胞胎this https stackoverflow com questions 46596236 is there a w
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • Android Wifi 广播接收器无法按预期工作

    每当手机连接到新的 WiFi 网络时 我都必须获取 WiFi ssid 我注册了以下内容 receiver registerReceiver this mybroadcast new IntentFilter WifiManager SUP
  • 发送 802.11 帧的“帧控制字段”数据的顺序?

    以下是 QoS 数据 FC 字段的位格式 00 01 0001 01000010 前2位代表版本 接下来2位代表类型 接下来4位代表子类型 其中ToDS 0 FromDS 1 保护位 1 那么 上述数据在空中是按照什么顺序通过接口发送的呢
  • 获取 Wi-Fi 配置文件信息

    我使用的是 Windows 8 1 它没有工具 带有 GUI 来管理 wifi 网络配置文件 所以我正在写一篇对我有帮助的文章 我做了一些谷歌搜索并发现托管 Wifi API https managedwifi codeplex com 并

随机推荐

  • Linux驱动开发基础__工作队列

    目录 1 引入 2 内核函数 2 1 定义work 2 2 使用 work xff1a schedule work 2 3 其他函数 3 代码 3 1 gpio key drv c 3 2 button test c 4 内部机制 4 1
  • Linux驱动开发基础__中断的线程化处理

    目录 1 引入 2 内核机制 2 1 调用 request threaded irq 后内核的数据结构 2 2 request threaded irq 2 3 中断的执行过程 1 引入 复杂 耗时的事情 xff0c 尽量使用内核线程来处理
  • Linux驱动开发基础__mmap

    目录 1 引入 2 内存映射现象与数据结构 3 ARM 架构内存映射简介 3 1 一级页表映射过程 3 2 二级页表映射过程 4 怎么给 APP 新建一块内存映射 4 1 mmap 调用过程 编辑4 2 cache 和 buffer 4 3
  • 利用python批量下载百度图片

    某项目中需要训练高速火灾算法 但是手头没有数据集 因此需要利用python从网上下载图片 代码如下 coding utf8 import requests import json from urllib import parse impor
  • python将标注平台的数据格式转换成yolov5的txt格式

    标注平台得到的数据格式如下 annotation object bndbox xmax 1917 xmin 9 ymax 1037 ymin 474 groupid name 轻度雾气 size height 1080 width 1920
  • linux vnc常见命令

    linux vnc virtual network computing 1 新建一个vncserver xff1a 直接输入vncserver即可 xff0c 系统将从1开始计算桌面数 xff0c 当然也可以指定桌面的编号 xff0c 如
  • uboot,内核,根文件系统的启动过程

    复习了下uboot xff0c 内核 xff0c 根文件系统 xff0c 简单概括下三者的主要内容 1 uboot uboot的目的 xff1a 启动内核 uboot的功能可以分为两个阶段任务 1 2 1 uboot第一阶段 uboot第一
  • S3C2440开发环境搭建以及过程中遇到的问题

    拿出了之前的S3C2440开发板 xff0c 然后把移植uboot 移植内核 制作根文件系统 设备树编写驱动等几项再做一遍 xff0c 这篇文章先记录下环境搭建过程 xff0c 以及先把现成的uboot 内核 根文件系统下载进去 xff0c
  • S3C2440移植Linux4.19.275内核以及过程中遇到的问题

    目录 1 问题一 xff1a 内核移植时MTD分区问题 2 问题二 xff1a uboot的MTDPARTS DEFAULT定义的MTD分区 xff0c bootargs中的文件系统分区 xff0c 内核的mtd partition smd
  • 深度学习算法训练和部署流程介绍--让初学者一篇文章理解算法训练和部署流程

    目录 1 什么是深度学习算法 2 算法训练 2 1 训练的原理 2 2 名词解释 3 算法C 43 43 部署 3 1 嵌入式终端板子部署 3 3 1 tpu npu推理 3 3 2 cpu推理 3 2 服务器部署 3 2 1 智能推理 3
  • 使用busybox构建根文件系统

    目录 1 下载busybox 2 修改Makefile 3 配置busybox 4 编译安装 4 1 usr include unistd h 203 error conflicting types for 39 gid t 39 4 2
  • CURL发送HTTP请求获得Json数据串保存在本地(linux 下 C++ 编程)

    某AI比赛中需要用到curl发送http请求 xff0c 然后返回一个json字符串 xff0c 看一下别人怎么写的 include lt iostream gt include lt string gt include lt curl c
  • 各种交叉编译工具链的区别

    目录 1 命名规则 2 实例 2 1 arm none eabi gcc 2 2 arm none linux gnueabi gcc 2 3 arm eabi gcc 2 4 armcc 2 5 arm none uclinuxeabi
  • 如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享

    目录 1 安装nfs exe 2 mounting 172 31 8 183 f nfs on mnt nfs failed No such file or directory 3 mounting 172 31 8 183 d nfs o
  • STM32的"异常“、“中断”和“事件”区别和理解

    1 异常与中断 xff08 Cortex M3 xff09 1 1 异常与中断 原话 xff1a Cortex M3 在内核水平 上搭载了一个异常响应系统 xff0c 支持为数众多的系统异常和外部中断 其中 xff0c 编号为 1 xff0
  • 8、解决Linux无法上网的各种问题

    最近发现Linux重新开机后无法上网 xff0c 不仅不能ping通windows主机也不能上外网 ifconfig后eth0也没有分配IP地址 xff0c 总之各种问题都被我碰到了 现在来一一解决 xff01 1 没有分配到IP地址 开机
  • Linux的硬盘和硬盘分区方式表示方法

    通过一个例子来看Linux上的硬盘表示方式 xff1a dev sda dev表示我们所用的物理硬盘设备文件是放在 34 34 目录的 34 dev 34 目录下 再说sda之前我们应该知道这些知识 xff1a SCSI SATA USB
  • Pixhawk系统架构介绍

    前段时间导师叫我做扑翼无人机 xff0c 工程上需要实现的 xff0c 能够通过程控飞起来 xff0c 感觉难度挺大 先从研究PX4开始 xff0c 打算一步步理解透整个PX4的框架 xff0c 机型的适配 旋翼 固定翼的姿态控制 xff0
  • PX4启动脚本分析

    启动脚本是一个神奇的东西 xff0c 它能够识别出你对应的飞机类型 xff0c 加载对应的混控器 xff0c 选择对应的姿态 位置估计程序以及控制程序 xff0c 初始化你需要的驱动程序 下面来分析下 图片总结 启动代码的分析必定少不了这张
  • PX4使用WIFI模块

    PX4支持WIFI模块作为数传工具 xff0c 官网上也提供了教程 xff0c 但是不注意细节也很容易失败 以下是我的经验以及教训 配置环境 飞控 xff1a pixhawk v2 xff0c 烧录PX4 v1 8 2的固件 地面站 xff