ESP-Drone: 乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案

ESP-Drone: 乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案

目录

概述

1 主要特性

2 ESP-Drone无人机的硬件类型

3 硬件组装示意图

4 项目源代码


概述

ESP-Drone 是基于乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案,可使用手机 APP 或游戏手柄通过 Wi-Fi 网络进行连接和控制。该方案硬件结构简单,代码架构清晰,支持功能扩展,可用于 STEAM 教育等领域。

1 主要特性

ESP-Drone 具备以下特性:

支持自稳定模式 (Stabilize mode):自动控制机身水平,保持平稳飞行。支持定高模式 (Height-hold mode):自动控制油门输出,保持固定高度。支持定点模式 (Position-hold mode):自动控制机身角度,保持固定空间位置。支持 PC 上位机调试:使用 cfclient 上位机进行静态/动态调试。支持 APP 控制:使用手机 APP 通过 Wi-Fi 轻松控制。支持游戏手柄 (gamepad) 控制:通过 cfclient 使用游戏手柄轻松控制。

主要组件

ESP-Drone 2.0 使用模块化的设计思路,由主控板和扩展板组成。

主控制板:搭载 ESP32-S2 模组和支持基础飞行的必要传感器,并提供硬件扩展接口。扩展板:搭载扩展传感器,可对接主控制板的硬件扩展接口,支持高级飞行功能。

序号

模块名

主要元器件

功能

接口

安装位置

1

主控制板 - ESP32-S2

ESP32-S2-WROVER + MPU6050

基础飞行

提供 I2C SPI GPIO 扩展接口

2

扩展板 - 定点模块

PMW3901 + VL53L1X

室内定点飞行

SPI + I2C

底部,面向地面

3

扩展板 - 气压定高模块

MS5611 气压

气压定高

I2C 或 MPU6050 从机

顶部或底部

4

扩展板 - 指南针模块

HMC5883 罗盘

无头模式等高级模式

I2C 或 MPU6050 从机

顶部或底部

扩展配置

扩展板

主要传感器

功能

接口

安装位置

扩展板- 定点模块

PMW3901 + VL53L1X

室 内定点飞行

SPI + I2C

底部 ,面向地面

扩展板-气 压定高模块

MS5611 气压

气压定高

I2C 或 MPU6050从机

顶部或底部

扩展板 -指南针模块

HMC5883 罗盘

无头模式 等高级模式

I2C 或 MPU6050从机

顶部或底部

2 ESP-Drone无人机的硬件类型

开发板名

主要配置

备注

ESP32-S2-Drone V1.2

ESP32-S2-WROVER + MPU6050

一体化

ESPlane-V2-S2

ESP32-S2-WROVER + MPU6050

需安装脚架

ESPlane-FC-V1

ESP32-WROOM-32D + MPU6050

需安装机架

1) ESP32-S2-Drone V1.2

配置清单如下:

基础配置清单

数量

备注

主板

1

ESP32-S2-WROVER + MPU6050

716 电机

4

可配置 720 电机

716 电机橡胶圈

4

46mm 螺旋桨 A

2

可配置 55mm 桨

46mm 螺旋桨 B

2

300mAh 1s 锂电池

1

可配置 350mAh 高倍率

1s 锂电池充电板

1

8-pin 25 mm 排针

2

2) ESPlane-V2-S2

3)ESPlane-FC-V1

配置清单如下:

配置清单

数量

备注

主板

1

ESP32-WROOM-32D + MPU6050

机架

1

46 mm 螺旋桨 A

2

46 mm 螺旋桨 B

2

300 mAh 1s 锂电池

1

1s 锂电池充电板

1

3 硬件组装示意图

4 项目源代码

测试版本代码,目前放在 GitHub 仓库,可使用 git 工具获取:

git clone https://github.com/espressif/esp-drone.git

项目软件主要由飞控内核、硬件驱动和依赖库组成:

  • 飞控内核来自 Crazyflie 开源工程,主要包括硬件抽象层和飞控程序。
  • 硬件驱动按照硬件接口进行了文件结构划分,包括 I2C 设备和 SPI 设备等。
  • 依赖库包括 ESP-IDF 提供的默认组件,以及来自第三方的 DSP 等。

Read more

conda环境怎么配?Hunyuan-MT-7B-WEBUI依赖管理揭秘

conda环境怎么配?Hunyuan-MT-7B-WEBUI依赖管理揭秘 你有没有遇到过这样的情况:下载好 Hunyuan-MT-7B-WEBUI 镜像,兴冲冲启动 Jupyter,双击运行 1键启动.sh,结果终端突然跳出一长串红色报错——ModuleNotFoundError: No module named 'transformers'、ImportError: cannot import name 'AutoTokenizer',甚至更糟的 CUDA version mismatch?别急,这不是模型坏了,也不是你操作错了,而是conda 环境没配对。 这恰恰是绝大多数用户卡在“最后一公里”的真实写照。镜像文档里那句轻描淡写的“运行 1键启动.sh”,背后其实藏着一套精心设计、层层校验的依赖管理体系。它不靠魔法,也不靠运气,而是一套可复现、可调试、可迁移的工程实践。本文就带你一层层剥开

新版华三H3C交换机配置NTP时钟步骤 示例(命令及WEB配置)

命令版本  启用NTP服务 默认服务可能未激活,需手动开启: [H3C] ntp-service enable 配置NTP服务器地址 1.1.1.1 在全局配置模式下使用命令ntp-service unicast-server指定NTP服务器IP地址,例如: [H3C] ntp-service unicast-server 1.1.1.1 支持域名或IPv6地址,需确保交换机与NTP服务器网络可达。 设置时区 使用clock timezone命令调整时区,北京时间示例: [H3C] clock timezone Beijing add 08:00:00 [H3C] clock protocol ntp 名称可自定义(如"Beijing"),偏移量需与实际时区匹配。 配置NTP认证(可选) 若服务器需认证,需配置密钥和关联:

网页抓取(Web Scraping)完整技术指南:从原理到实战

在数据驱动的时代,结构化信息已成为企业决策、AI 训练与市场分析的核心资源。网页抓取(Web Scraping) 作为从非结构化网页中提取结构化数据的关键技术,广泛应用于电商、金融、舆情监测、学术研究等领域。 本文将系统解析网页抓取的工作原理、工具链、反爬对抗策略与法律边界,并提供可落地的工程建议。 一、什么是网页抓取? 网页抓取是指通过程序自动访问网页,解析 HTML/JSON 内容,并将目标数据提取、转换为结构化格式(如 CSV、数据库记录)的过程。 与网络爬虫(Crawler)的区别:爬虫:广度优先遍历全站链接(如搜索引擎);抓取:深度聚焦特定页面的数据字段(如商品价格、评论)。 典型应用场景包括: * 电商比价(Amazon、Shopee 商品监控) * 招聘数据聚合(职位趋势分析) * 社交媒体舆情监测(公开评论情感分析) * 学术数据采集(论文元数据批量下载)

快学快用系列:一文学会java后端WebApi开发

快学快用系列:一文学会java后端WebApi开发

文章目录 * 第一部分:Web API开发基础概念 * 1.1 什么是Web API * 1.2 RESTful API设计原则 * 第二部分:开发环境搭建 * 2.1 环境要求 * 2.2 创建Spring Boot项目 * 2.3 配置文件 * 第三部分:项目架构设计 * 3.1 分层架构 * 3.2 包结构设计 * 第四部分:数据模型设计 * 4.1 实体类设计 * 4.2 DTO设计 * 第五部分:数据访问层实现 * 5.1 Repository接口 * 5.2 自定义Repository实现 * 第六部分:业务逻辑层实现