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

从零开始:Codex CLI 在 Mac 上的安全部署与权限管理

从零开始:Codex CLI 在 Mac 上的安全部署与权限管理 1. 环境准备与基础安全考量 在 macOS 上部署 Codex CLI 时,安全应该从环境准备阶段就开始考虑。不同于简单的安装教程,我们需要关注每个环节的潜在风险。 系统要求检查清单: * macOS 12 或更高版本(确保获得完整的安全更新支持) * Node.js 22+(LTS 版本,避免使用不受支持的旧版本) * npm 10+(最新稳定版) * 至少 8GB 内存(避免因资源不足导致异常行为) 重要提示:永远不要使用 sudo 安装 npm 包,这会导致全局包安装目录的权限问题。如果遇到权限错误,应该通过 npm config set prefix 调整安装路径。 推荐的安全实践:

By Ne0inhk
Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障

Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障 前言 在 Flutter for OpenHarmony 的高度安全通信领域,Signal 协议是目前全球公认的即时通讯加密标准。libsignal 是 Signal 协议的核心 Dart 实现。它能够为鸿蒙应用提供从身份认证到会话加密的全套解决方案,确保每一个字节的通信都具备前向安全性(Forward Secrecy)。本文将深入解析如何在鸿蒙端利用该库构建极致安全的加密通信能力。 一、原理解析 / 概念介绍 1.1 基础原理 Signal 协议的核心在于“双大鼠(Double Ratchet)”算法。它结合了 Diffie-Hellman

By Ne0inhk
Leetcode 202题 快乐数:数字世界中的奇妙旅程

Leetcode 202题 快乐数:数字世界中的奇妙旅程

Leetcode 202题 快乐数:数字世界中的奇妙旅程 * 视频地址 * 解题思路:从数字到链表的思维转换 * 链表思维的巧妙应用 * 快慢指针:龟兔赛跑的智慧 * 算法实现:C++代码解析 * 关键函数:数字变换 * 快乐数判断主逻辑 * 数学深度:数字会无限增大吗? * 快乐数的性质与统计 * 复杂度分析与优化 * 扩展思考 视频地址 因为想更好的为大佬服务,制作了同步视频,这是Bilibili的视频地址 在数学的奇妙花园里,有一种特殊的数字被赋予了"快乐"的称号。快乐数(Happy Number)就像一位在数字迷宫中寻找出口的旅人,它遵循着特定的变换规则,一步步走向最终的归宿——1。 快乐数的定义:对于一个正整数,如果将其各位数字的平方和不断进行替换,最终能够得到1,那么这个数就被称为快乐数。反之,如果陷入一个不包含1的循环,那么这个数就是不快乐的。 让我们以19为例,展开这段数字的奇妙旅程: 19 → 1²

By Ne0inhk
什么是python uv,如何在windows上安装uv,基础的用法有哪些?

什么是python uv,如何在windows上安装uv,基础的用法有哪些?

什么是Python UV? UV是由Astral公司(Rust工具Ruff的开发者)推出的高性能Python包管理工具,基于Rust编写,旨在替代传统的pip和pip-tools。其核心优势在于极快的速度(比pip快10-100倍)、轻量级设计(仅几十MB)以及现代化的依赖管理(支持pyproject.toml和uv.lock文件)。UV集成了虚拟环境管理、Python版本控制、依赖解析等功能,目标是成为类似Rust Cargo的全能工具,简化Python开发流程。 在Windows上安装UV的3种方法 使用Pipx(适合全局工具管理) 若已安装pipx: pipx install uv PowerShell脚本安装 打开PowerShell,执行: irm https://astral.sh/uv/install.ps1 |iex 通过PIP安装(推荐) 直接使用Python自带的pip安装,兼容性最佳: pip install uv 安装后,uv会被添加到系统环境变量,即使切换虚拟环境也能使用。 注意:

By Ne0inhk