# ESP8266 WiFi 模块
ESP8266 及其克隆产品是低成本、随时可用的 Wi-Fi 模块,具有完整的 TCP/IP 协议栈和微控制器功能。它们可与任何 Pixhawk 系列控制器配合使用。
TIP
ESP8266 是 默认 默认 WiFi 模块与 Pixracer (通常与之捆绑)。
# 购买地点
许多供应商都能提供 ESP8266 模块。下面列出了几家供应商。
大多数模块仅支持 3.3 V 输入,而某些飞行控制器(如 Pixhawk 4)的输出电压为 5 V(您需要检查兼容性并在必要时降低电压)。
接受 3.3V 电源的模块:
- WRL-17146 (打开新窗口) (Sparkfun)
- 人工智能云 (打开新窗口) - 停产(GearBeast)
接受 5.0V 电源的模块:
- 人工智能思想家 (打开新窗口) (Banggood)
- AlphaUAVLink (打开新窗口) (Banggood)
# Pixhawk/PX4 安装和配置
TIP
你 可以 首先需要用兼容 PX4 的 ESP8266 固件更新无线电 (见下).生产说明应说明是否需要这样做。
将您的 ESP8266 与 Pixhawk 系列飞行控制器(如 Pixracer)连接到任意空闲的 UART 上。
通过 USB 将飞行控制器连接到地面站(因为 WiFi 尚未完全设置好)。
使用 QGroundControl:
- 在飞行控制器上加载最新的 PX4 固件.
- 配置串行端口 用于连接 ESP8266。记住将波特率设置为 921600,以便与为 ESP8266 设置的值一致。
- 配置 MAVLink 在相应的串行端口上,以便通过 ESP8266 接收遥测数据和发送命令。
配置好用于连接无线电的飞行控制器串行端口后,就可以移除地面站和飞行器之间的物理 USB 连接。
# 通过 ESP8266 与 QGC 连接
该模块暴露了一个 WiFi 热点,地面站计算机可利用该热点与载具连接。
备注
ESP8266 热点的设置应与电路板一起提供(例如,通常印在电路板背面或包装上)。
常见的出厂网络设置为
- SSID: PixRacer
- 密码 pixracer
- WiFi 频道: 11
- UART 速度: 921600
其他模块可能会使用类似的设置:
- SSID: IFFRC_xxxxxxxxxx
- 密码 12345678
- IP: 192.168.4.1
- 港口 6789 (TCP)
AlphaUILink 和 DOITING 的电路板示例如下:
在支持 WIFI 的 QGroundControl 在地面站电脑/平板电脑上,找到并连接到为 ESP8266 打开的无线网络。在 Windows 计算机上,网络连接设置的名称为 Pixracer 和默认密码 pixracer 点将看起来像这样:
QGroundControl 当地面站计算机连接到名为 "Pixracer" 的 WiFi 接入点时,将自动连接到载具。
如果您使用的是带有其他 WiFi 名称的模块,则需要手动设置 QGroundControl WiFi 连接,如下节所示。
# 使用非标准 WiFi 连接配置 QGC
QGroundControl 当地面站计算机连接到 "Pixracer"WiFi 接入点时,将自动连接到载具。对于任何其他接入点名称,您都需要手动创建自定义通信链路:
- 转到 应用程序设置 > 通信链接 (打开新窗口)
- 添加新连接并进行适当设置。
- 选择新连接,然后单击 连接.
- 载具现在应该可以连接
# 验证
现在,您应该能通过无线连接在 QGC 计算机上看到 HUD 移动,并能查看 ESP8266 WiFi 网桥的摘要面板(如下图所示)。
TIP
如果您在连接时遇到任何问题,请参阅 QGC 使用问题 (打开新窗口).
# ESP8266 闪存/固件(高级)
不同制造商生产的 ESP8266 模块可能没有预装适当的 ESP8266 固件。下面的说明解释了如何用正确的版本更新无线电。
# 预制二进制文件
MavLink ESP8266 固件 V 1.2.2 (打开新窗口)
# 从源头构建
固件存储库 (打开新窗口) 包含构建和刷新 ESP8266 固件所需的说明和所有工具。
# 以 OTA 方式更新固件
如果已安装 1.0.4 或更高版本的固件,可以使用 ESP 的 空中更新 功能。只需连接到其 AP WiFi 链接并浏览即可: http://192.168.4.1/update
.然后,您可以选择上面下载的固件文件并将其上传到 WiFi 模块。
TIP
这是最简单的固件更新方法!
# 刷新 ESP8266 固件
闪存前,确保在以下模式下启动 ESP8266 闪光灯模式 如下所述。如果您克隆了 MavESP8266 (打开新窗口) 您可以使用所提供的 PlatformIO (打开新窗口) 工具和环境。如果您下载了上述预置固件,请下载 esptool (打开新窗口) 实用程序,并使用下面的命令行:
esptool.py --baud 921600 --port /dev/your_serial_port write_flash 0x00000 firmware_xxxxx.bin
在哪里?
- firmware_xxxxx.bin 是您在上面下载的固件
- 您的串行端口 是连接 ESP8266 的串行端口名称("......")。
/dev/cu.usbmodem
例如)
# 刷新固件的接线
警告
大多数 ESP8266 模块仅支持 3.3 伏电压,而某些飞行控制器(如 Pixhawk 4)的输出电压为 5 伏。请检查兼容性,必要时降低电压。
有多种方法可以将 ESP8266 设置为 闪光灯模式 但并非所有 USB/UART 适配器都能提供自动模式切换所需的所有引脚。为了在以下情况下启动 ESP8266 闪光灯模式因此,GPIO-0 引脚必须设置为低电平(GND),CH_PD 引脚必须设置为高电平(VCC)。这就是我自己的设置:
我制作了一条电缆,将 RX、TX、VCC 和 GND 正确地直接从 FTDI 适配器连接到 ESP8266。在 ESP8266 上,我留出了连接 GPIO-0 和 CH_PD 的两根线,这样我就可以将它们分别连接到 GND 和 VCC,以正常或闪存模式启动它。