(1)(1.4) ESP32 wifi telemetry

文章目录

前言

1 用于ESP32的DroneBridge

2 推荐的硬件

3 下载和烧录固件

4 为ESP32配置DroneBridge


前言

ESP32 是现成的 Wi-Fi 模块,具有完整的 TCP/IP 协议栈和微控制器功能。它们提供专用的 UARTSPII2C 接口。它们可与任何 ArduPilot 自动驾驶控制器配合使用。


1 用于ESP32的DroneBridge

适用于 ESP32DroneBridge 提供透明、双向的串行至 WiFi 桥接器。

使用 WiFi 协议无法提供与其他 DroneBridge 实现相同的范围。典型的 WiFi 范围约为 50m 200m,具体取决于天线。高增益定向天线可提供更大的范围。

2 推荐的硬件

几乎所有 ESP32 开发板都能运行 ESP32DroneBridge。建议使用带有外部天线连接器的电路板和模块,因为这些电路板和模块可以提供更远的距离。

Warning

大多数模块仅支持 3.3V 输入,而某些自动驾驶仪串行端口仅提供 5V。你需要检查兼容性,必要时降低电压。一般不建议使用自动驾驶仪3.3V 电源,除非你确定它能为你使用的 ESP32 板提供足够的电流。

接受 3.3V 电源的模块和 DevKits 的一些示例:

  • AZDelivery DevKit C
  • TinyPICO - ESP32 Development Board - V2
  • Adafruit HUZZAH32 – ESP32 Feather Board
  • Adafruit AirLift – ESP32 WiFi Co-Processor Breakout Board (需要 FTDI 适配器来烧录固件)
  • Adafruit HUZZAH32 (需要 FTDI 适配器来烧录固件)
  • ESP32-WROOM-32UE (仅模块 - 需要定制 PCB)
  • ESP32-WROOM-32E (仅模块 - 需要定制 PCB)

Note

带有 IPEX 外置天线端口的 NodeMCUDevKit 板通常也提供默认激活的板载天线。你可能需要重新焊接一个电阻器来激活外部天线端口。

3 下载和烧录固件

GitHub 存储库下载固件(Download the firmware from the GitHub repository),并按照其中的烧录说明进行操作(follow the flashing instructions there)。它们始终是最新的。

Note

请按照 GitHub 存储库中的闪存说明进行操作(Follow the flashing instructions inside the GitHub Repository)。不同版本的 ESP32 DroneBridge 可能会有不同的确切参数。

为方便起见,在此给出一些简短说明:

  • 下载预编译固件二进制文件(Download the pre-compiled firmware binaries);
  • 通过 USB/Serial 桥接器将 DEVKit 与电脑连接(大多数 DEVKit 已提供 USB 端口,用于闪存和调试);
  • 擦除闪存并将 DroneBridge for ESP32 固件烧录到 ESP32 上;
  • 使用 Espressif Flash 下载工具(Espressif Flash Download Tool)(仅限 Windows);
  • 使用 esp-idf/esptool(所有平台)。
  • ESP32 进行电源循环;
  • 连接到"DroneBridge for ESP32WiFi 网络并为你的应用配置固件。

4 为ESP32配置DroneBridge

你可以通过 Web 界面更改默认配置。通过 WiFi 连接到 ESP32,然后在浏览器地址栏中输入 dronebridge.localhttp://dronebridge.local192.168.2.1

默认配置

  • SSID: DroneBridge for ESP32
  • Password: dronebridge
  • Transparent/MAVLink
  • UART baud rate 115200
  • UART TX pin 17
  • UART RX pin 16
  • Gateway IP: 192.168.2.1

自定义设置和网络界面

你可以通过网络界面更改默认配置。

通过 WiFi 连接到 ESP32,并在浏览器地址栏中输入 dronebridge.localhttp://dronebridge.local192.168.2.1

Note

某些设置需要重新启动 ESP32 才能生效。

布线

接线非常简单,对于连接到自动驾驶仪任何串行端口(如 TELEM1TELEM2)的所有设备而言,接线方式基本相同。本指南在此不作详细介绍,但提供了以下接线大纲。

1.ESP32UART 连接到自动驾驶仪UART(例如 TELEM 1TELEM 2 端口)。确保电压水平匹配!大多数 ESP32 DevKits 只能使用 3.3V

  • TX to RX;
  • RX to TX;
  • GND to GND;
  • ESP32 提供稳定的 3.3V5V 电源(取决于 DevKit 的可用输入和自动驾驶仪的功能)。

2.自动驾驶仪端口设置为 MAVLINK 12 协议。

有些 ESP32 DevKits 制造商在其产品上标注了错误的引脚。如果遇到问题,请确保电路板上的引脚标签正确无误。

确保在布线时始终遵循 ESP32 板制造商的说明。尤其是电源。

ArduPilot配置

配置与 ESP32 连接的自动驾驶仪UARTDroneBridge 的默认配置为:

  • Protocol: MAVLink (v1 or v2);
  • Baudrate: 115200 baud。

如果连接到串行接口 2,则应在自动驾驶仪上设置这些参数(如果使用其他串行接口,请将参数名称中的"2"替换为串行接口的编号):

  • SERIAL2_PROTOCOL = 2 (MAVLink2) or 1 (MAVLink1);
  • SERIAL2_BAUD = 115 (115200 baud)。

如果出现连接问题,可将 BRD_SER2_RTSCTS = 0 设置为禁用流量控制,但通常没有必要这样做。

连接到地面站

提供以下连接选项:

  • 通过 14550 端口向所有连接设备发送 UDP 单播;
  • 5760 端口的 TCP

DroneBridge for ESP32 将自动通过 UDP 将所有数据转发至所有连接的 WiFi 设备的 14550 端口。QGroundControlMission Planner 将自动检测连接,无需采取进一步行动。

故障排除

在刷新新版本/固件之前,请务必擦除 ESP32 的闪存。

检查 ESP 板上的引脚是否标注正确。

在浏览器地址栏中输入 IP 地址 http://192.168.2.1。不支持 https!使用手机时,可能需要断开蜂窝网络连接才能访问网络界面。

如果你的网络与 ESP32 DBIP 范围相同,则需要将 Webinterface 中的网关 IP 地址更改为 192.168.5.1

API

ESP32DroneBridge 提供 REST:API,允许你读写配置选项。你不必局限于 Web 界面提供的选项(如波特率)。你可以使用 API 设置自定义波特率或将系统集成到自己的设置中。

申请设置

http://dronebridge.local/api/settings/request

申请统计资料

http://dronebridge.local/api/system/stats

触发重启

http://dronebridge.local/api/system/reboot

触发设置更改:发送有效的 JSON

{

  "wifi_ssid": "DroneBridge ESP32",

  "wifi_pass": "dronebridge",

  "ap_channel": 6,

  "tx_pin": 17,

  "rx_pin": 16,

  "telem_proto": 4,

  "baud": 115200,

  "msp_ltm_port": 0,

  "ltm_pp": 2,

  "trans_pack_size": 64,

  "ap_ip": "192.168.2.1"

}

to

http://dronebridge.local/api/settings/change

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/214255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023-12学习笔记

1.NonNull要手动写无参构造器 这是一个我今天研究了很久的问题,开始不知道原因是在这里,还在那想是不是Data覆盖了无参构造,结果当然不是。先说下解决历程 1.问题起因 通过RequestBody接收前端报文的时候报错,大致是说我构造方…

python中tkinter实现GUI程序:三个实例

python中tkinter实现GUI程序 写在最前面Python中使用Tkinter实现GUI程序的基本元素Tkinter简介基本元素1. 根窗口(Root Window)2. 小部件(Widgets)3. 布局管理4. 事件处理 1.用 tkinter实现一个简单的 GUI程序,单击“click”按钮&…

Java项目-瑞吉外卖Day3

填充公共字段: 目的:由于某些属性,例如createdTime这些需要填充的字段会在多个地方出现,所以考虑使用公共字段自动填充的办法减少重复代码。 在对应属性上加入TableField注解。通过fill字段表明策略,是插入/更新的时候…

如何搭建废品上门回收小程序

如今,随着环境保护意识的增强,废品的回收和再利用变得越来越重要。为了方便人们进行废品回收,搭建一个废品上门回收的小程序成为了一个不错的选择。本文将介绍如何从零开始搭建一个废品上门回收小程序。 …

【Go自学版】02-goroutine

利用时间片分割进程,致使宏观上A,B,C同时执行(并发) CPU利用率包含了执行和切换,进程/线程的数量越多,切换成本也会增大 最大并行数:GOMAXPROCS work stealing: 偷其他队列的G hand off: 当前G1阻塞&#…

css 修改滚动条样式,解决Windows浏览器中滚动条不美观问题

Windows环境中的浏览器中滚动条默认是直接显示了,不管光标是否进入该区域,这样就很不美观,如下图: 之前样式为 .well {display: block;background-color: #f2f2f2;border: 1px solid #ccc;margin: 5px;width: calc(100% - 12px);h…

mycat部署和配置读写分离(二)

说明: MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。 1. jdk1.8安装 详见jdk环境安装 2. Mysql安装 详见mysql8.0.11源码安装…

【lesson11】数据类型之string类型

文章目录 数据类型分类string类型set类型测试 enum类型测试 string类型的内容查找找所有女生(enum中)找爱好有游泳的人(set中)找到爱好中有足球和篮球的人 数据类型分类 string类型 set类型 说明: set:集…

SL9008 3.6-60V输入 LED降压恒流芯片 内置MOS管 带PWM调光

SL9008是一款内置MOS管、具有PWM调光功能的LED降压恒流芯片,适用于3.6-60V的输入电压范围。它采用了先进的电路设计,确保了高效率和长寿命,同时具有宽电压输入范围和优异的负载调整率。 SL9008的主要特点包括: 1. 宽输入电压范围&…

HarmonyOS4.0开发应用——【ArkUI组件使用】

ArkUI组件使用 这里会详细演示以下组件使用: ImageTextTextInputButtonSliderColumn&&RowList自定义组件以及相关函数使用 Image 可以是网络图片、可以是本地图片、也可以是像素图 Image("https://ts1.cn.mm.bing.net/th?idOIP-C.cYA-_PINA-ND9OeBaolDTwHaHa&…

CLIP在Github上的使用教程

CLIP的github链接:https://github.com/openai/CLIP CLIP Blog,Paper,Model Card,Colab CLIP(对比语言-图像预训练)是一个在各种(图像、文本)对上进行训练的神经网络。可以用自然语…

鸿蒙HarmonyOS(ArkTS)语法 声明变量及注意事项

好 今天我们来看一个基础的harmonyOS语法 变量声明 这里 我们还是用 ArkTS项目 我们声明变量的语法并不是ArkTS的 而是 javaScript 和 TypeScript的 可以看一下下面一张图 js是最初弱类型语言 于是TS作为js的副类 是一种更严谨的数据限定语法 而ArkTS 是TS的改良版 其实我们…

一篇文章教你快速弄懂 web自动化测试中的三种等待方式

前言 现在的网页很多都是动态加载的,如果页面的内容发生了改变,就需要时间来渲染。在咱们做web自动化测试的时候,由于代码是自动执行的,代码在执行的时候,有可能上一步操作而加载的元素还没加载出来,就会报…

配置本地端口镜像示例(1:1)

本地端口镜像简介 本地端口镜像是指观察端口与监控设备直接相连,观察端口直接将镜像端口复制来的报文转发到与其相连的监控设备进行故障定位和业务监测。 配置注意事项 观察端口专门用于镜像报文的转发,因此不要在上面配置其他业务,防止镜像…

建筑学VR虚拟仿真情景实训教学

首先,建筑学VR虚拟仿真情景实训教学为建筑学专业的学生提供了一个身临其境的学习环境。通过使用VR仿真技术,学生可以在虚拟环境中观察和理解建筑结构、材料、设计以及施工等方面的知识。这种教学方法不仅能帮助学生更直观地理解复杂的建筑理论&#xff0…

记录 | ubuntu源码编译安装/更新boost版本

一、卸载当前的版本 1、查看当前安装的boost版本 dpkg -S /usr/include/boost/version.hpp通过上面的命令,你就可以发现boost的版本了,查看结果可能如下: libboost1.54-dev: /usr/include/boost/version.hpp 2、删除当前安装的boost sudo …

记录 | 使用samba将ubuntu文件夹映射到windows实现共享文件夹

一、ubuntu配置 1. 安装 samba samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。 sudo apt-…

Excel COUNT类函数使用

目录 一. COUNT二. COUNTA三. COUNTBLANK四. COUNTIF五. COUNTIFS 一. COUNT ⏹用于计算指定范围内包含数字的单元格数量。 基本语法 COUNT(value1, [value2], ...)✅统计A2到A7所有数字单元格的数量 ✅统计A2到A7,B2到B7的所有数字单元格的数量 二. COUNTA ⏹计…

大数据分析与应用实验任务十一

大数据分析与应用实验任务十一 实验目的 通过实验掌握spark Streaming相关对象的创建方法; 熟悉spark Streaming对文件流、套接字流和RDD队列流的数据接收处理方法; 熟悉spark Streaming的转换操作,包括无状态和有状态转换。 熟悉spark S…

Linux 驱动开发需要掌握哪些编程语言和技术?

Linux 驱动开发需要掌握哪些编程语言和技术? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Linux从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&#xf…