ESP32 WiFi 模块
ESP32 是现成的 WiFi 模块,具有专用的 UART、SPI 和 I2C 接口,以及完整的 TCP/IP 协议栈和微控制器功能。它们不带固件,但 用于 ESP32 的 DroneBridge 可将其安装为透明的双向串行 WiFi 桥接器。然后,它们就可用作任何 Pixhawk 系列控制器的 WiFi 遥测模块。
如果连接到 TELEM2
.典型范围约为 50 米至 200 米(取决于所使用的天线)。
推荐硬件
用于 ESP32 的 DroneBridge 几乎可以在所有 ESP32 开发板上运行。建议使用带有外置天线连接器的电路板和模块,因为这些电路板和模块可以提供更大的范围。
警告
许多 ESP32 模块支持 3.3V 和 5V 电源输入,而某些飞行控制器(如 Pixhawk 4)的输出电压为 5V。您需要检查兼容性,必要时降低电压。
接受 3.3V 或 5V 电源的模块和 DevKits:
- AZ-Delivery - ESP-32 DevKit C
- TinyPICO - ESP32 开发板 - V2
- Adafruit HUZZAH32 - ESP32 Feather 板
- Adafruit AirLift - ESP32 WiFi 协处理器接线板 (需要 FTDI 适配器进行固件刷新)
- Adafruit - HUZZAH32 (需要 FTDI 适配器进行固件刷新)
下载和刷新固件
从 GitHub 存储库下载固件 然后 请遵循以下闪光说明.
TIP
建议使用 Github 上的说明,因为它们始终是最新的。请注意,不同版本的 用于 ESP32 的 DroneBridge.
主要步骤如下
- 下载预编译固件二进制文件
- 通过 USB/Serial 桥接器将 DEVKit 与电脑连接(大多数 DEVKit 已提供 USB 端口,用于闪存和调试)
- 擦除闪存并将 DroneBridge for ESP32 固件闪存到 ESP32 上
- 使用 Espressif Flash 下载工具 (仅限 Windows)
- 使用 esp-idf/esptool(所有平台)
- 给 ESP32 上电
- 连接到适用于 ESP32 的 DroneBridge WiFi 网络,并为您的应用配置固件
布线
接线非常简单,在连接到 Pixhawk TELEM1/2 端口时,所有设备的接线都类似。您可以使用 2.54 毫米间距的针座连接器,或将 PX4 遥测电缆直接焊接到电路板上。
- 将 ESP32 的 UART 连接到飞行控制器的 UART(例如 TELEM 1 或 TELEM 2 端口)。确保电压水平匹配:大多数 ESP32 DevKits 只能承受 3.3V!
- TX 至 RX
- RX 至 TX
- 接地至接地
- 为 ESP32 提供稳定的 3.3V 或 5V 电源(根据 DevKit 的可用输入而定)
- 将飞行控制器端口设置为所需的协议。
- 带有外置天线 IPEX 端口的电路板通常也提供默认激活的板载天线。您可能需要重新焊接一个电阻器来激活外部天线端口。
信息
- 请遵循 ESP32 板制造商关于电源的建议。如果某些电路板同时连接到 5V 电源,并将 USB 电缆连接到 USB/串行桥接器(ESP32 开发板的 USB 接口),则可能会出现问题。
- 一些 ESP32 DevKits 制造商在其产品上使用了错误的引脚标签。如果遇到问题,请确保电路板上的引脚标签正确无误。
配置 QGroundControl
QGroundControl 会自动检测连接,无需进一步操作 (用于 ESP32 的 DroneBridge 自动将所有已连接 WiFi 设备的数据通过 UDP 转发到 14550 端口)。
提供以下连接选项:
- 端口上的 UDP 单播
14550
到所有连接的设备。 - 端口上的 TCP
5760
为 ESP32 配置 DroneBridge
用于 ESP32 的 DroneBridge 默认配置应适用于连接 PX4。唯一需要的配置是确保 ESP32 和飞行控制器的波特率一致。
如果您想在 ESP32 上使用不同的引脚、不同的 WiFi 配置或调整数据包大小,则需要更改这些设置。数据包大小越小,系统开销和负载越大,但延迟也越短,数据包丢失后的恢复速度也越快。
默认配置
- SSID:
用于 ESP32 的 DroneBridge
- 密码
无人桥
- 透明/MAVLink
- UART 波特率
115200
- UART TX 引脚
17
- UART RX 引脚
16
- 网关 IP:
192.168.2.1
自定义设置及网络界面
您可以通过 Web 界面更改默认配置。通过 WiFi 连接到 ESP32,然后输入 dronebridge.local
, http://dronebridge.local
或 192.168.2.1
在浏览器地址栏中输入
TIP
某些设置需要重新启动 ESP32 才能生效。
应用程序接口
ESP32 的 DroneBridge 提供 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,
"波特";: 115200,
"msp_ltm_port";: 0,
"ltm_pp";: 2,
"trans_pack_size";: 64,
"ap_ip";: "192.168.2.1"
}
至
http://dronebridge.local/api/settings/change
故障排除
- 在刷新新版本/固件之前,请务必擦除 ESP32 的闪存。
- 检查 ESP 板上的引脚是否标注正确。
- 在浏览器地址栏中输入 IP 地址
http://192.168.2.1
.不支持 https!使用手机时可能需要断开蜂窝网络连接,才能访问网络界面。 - 如果您的网络与 ESP32 DB 的 IP 范围相同,则需要将 Webinterface 中的网关 IP 地址更改为如下内容
192.168.5.1
.