跳转到内容

无线绘图板

数据可视化是无人机调试的重要工具。在本项目中,你将学习如何通过 Wi-Fi 将无人机的飞行数据回传到电脑,实时绘制曲线。

  • Wi-Fi 通信
  • UDP 协议
  • 数据可视化
  • Python 脚本
物品数量说明
ESP32 无人机1-
电脑1安装 Python + Matplotlib
plotter.py1数据可视化脚本

解压 wifi_telemetry.zip,用 VS Code 打开。

打开 wifilink.c,找到 wifilink_send_data 函数:

void wifilink_send_data(float altitude, float roll, float pitch, float yaw) {
// 1. 打包数据为 JSON 格式
char buffer[256];
sprintf(buffer, "{\"alt\":%.2f,\"roll\":%.2f,\"pitch\":%.2f,\"yaw\":%.2f}",
altitude, roll, pitch, yaw);
// 2. 通过 UDP 发送到电脑
struct sockaddr_in dest_addr;
dest_addr.sin_family = AF_INET;
dest_addr.sin_port = htons(8888);
dest_addr.sin_addr.s_addr = inet_addr("192.168.4.2"); // 电脑 IP
sendto(sock, buffer, strlen(buffer), 0,
(struct sockaddr*)&dest_addr, sizeof(dest_addr));
}

编译烧录代码,无人机开机(会创建 Wi-Fi 热点:ESP-Drone)。

运行 plotter.py

Terminal window
python plotter.py

观察电脑上实时绘制的高度、姿态曲线。

修改 plotter.py,添加”高度异常警报”,当高度变化超过 0.5m/s 时,终端显示红色警告。

  • 检查密码是否正确
  • 确认无人机已开机
  • 检查 IP 地址是否正确
  • 确认防火墙设置

恭喜你!你已经实现了无人机的数据可视化功能,这是调试的重要工具!

在下一个项目中,你将学习如何实现两架无人机之间的通信。