# ESP32 WiFi 模块

ESP32 是现成的 WiFi 模块,具有专用的 UART、SPI 和 I2C 接口,以及完整的 TCP/IP 协议栈和微控制器功能。它们不带固件,但 用于 ESP32 的 DroneBridge 可将其安装为透明的双向串行 WiFi 桥接器。然后,它们就可用作任何 Pixhawk 系列控制器的 WiFi 遥测模块。

如果连接到 TELEM2.典型范围约为 50 米至 200 米(取决于所使用的天线)。

用于 ESP32 连接概念的 DroneBridge

用于 ESP32 的 DroneBridge 几乎可以在所有 ESP32 开发板上运行。建议使用带有外置天线连接器的电路板和模块,因为这些电路板和模块可以提供更大的范围。

警告

许多 ESP32 模块支持 3.3V 和 5V 电源输入,而某些飞行控制器(如 Pixhawk 4)的输出电压为 5V。您需要检查兼容性,必要时降低电压。

接受 3.3V 或 5V 电源的模块和 DevKits:

# 下载和刷新固件

从 GitHub 存储库下载固件 (打开新窗口) 然后 请遵循以下闪光说明 (打开新窗口).

TIP

建议使用 Github 上的说明,因为它们始终是最新的。请注意,不同版本的 用于 ESP32 的 DroneBridge.

主要步骤如下

  1. 下载预编译固件二进制文件 (打开新窗口)
  2. 通过 USB/Serial 桥接器将 DEVKit 与电脑连接(大多数 DEVKit 已提供 USB 端口,用于闪存和调试)
  3. 擦除闪存并将 DroneBridge for ESP32 固件闪存到 ESP32 上
  4. 给 ESP32 上电
  5. 连接到适用于 ESP32 的 DroneBridge WiFi 网络,并为您的应用配置固件

# 布线

接线非常简单,在连接到 Pixhawk TELEM1/2 端口时,所有设备的接线都类似。您可以使用 2.54 毫米间距的针座连接器,或将 PX4 遥测电缆直接焊接到电路板上。

将 ESP32 连接到 TELEM 端口的示例

  1. 将 ESP32 的 UART 连接到飞行控制器的 UART(例如 TELEM 1 或 TELEM 2 端口)。确保电压水平匹配:大多数 ESP32 DevKits 只能承受 3.3V!
    • TX 至 RX
    • RX 至 TX
    • 接地至接地
    • 为 ESP32 提供稳定的 3.3V 或 5V 电源(根据 DevKit 的可用输入而定)
  2. 将飞行控制器端口设置为所需的协议。
  3. 带有外置天线 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.local192.168.2.1 在浏览器地址栏中输入

用于 ESP32 网络接口的 DroneBridge

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.