(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

扫描二维码关注公众号,回复: 17133735 查看本文章

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

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

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"替换为串行接口的编号):

如果出现连接问题,可将 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

猜你喜欢

转载自blog.csdn.net/qq_20016593/article/details/134775818