ESP32 Arduino 开发框架

Arduino开发环境下适用于ESP32芯片系列开发板的应用开发框架。

一、概要

ESP32 Arduino Framework是专门针对ESP32开发板的Arduino应用开发框架,为用户开发IOT应用、HMI应用提供一致的开发体验。 目前支持以下功能:

  • 提供常用LCD、OLED显示屏设备的驱动
  • 提供常用音频编解码器设备的驱动
  • 提供LED、灯珠等设备的驱动
  • 提供统一的抽象化接口来操作UI、音频编解码等
  • 提供WiFi信息配置界面
  • 提供OTA在线升级
  • 内置支持LVGL、TFT_eSPI、U8G2、GFX_Library图形化开发库

二、运行DEMO

若本开发框架内置了你的开发板
  1. 打开config.h文件,找到开发板型号,将定义值修改为1

  2. 将要运行应用 APP_DEMO_xxx 的值修改为1

  3. 设置开发板的型号、FLASH大小、PSRAM、分区等选项

  4. 编译并上传运行

三、架构

ESP32 Arduino 开发框架

本框架采用C++面向对象设计,其中Board类封装硬件相关代码,包括LED、传感器、执行器件、显示器件等的驱动代码;
Application类为业务应用提供基础封装,包括时钟、WiFi配置、OTA升级、与Board类硬件驱动的交互等功能,提供一套标准的开发规范。

四、应用开发

硬件驱动开发
  1. 在boards文件夹创建一个子目录,如your_board,新建一个继承WifiBoard类(若不使用WiFi功能,也可以继承Board类)的自定义开发板类,然后实现设备的驱动:
    LED:内置单色LED、三色LED和WS2812灯珠类;
    按键:内置OneButton按键库;
    显示屏:内置U8G2、TFT_eSPI、GFX Libarary驱动库;
    其他可参考DEMO程序。

  2. 实现create_board方法,返回your_board的类实例;

  3. 设置开发板的型号、FLASH大小、PSRAM、分区等选项;

业务应用开发
  1. 在src文件夹创建一个子目录,如your_app,新建一个继承Application类的自定义应用类,然后实现业务逻辑;

  2. 继承并重写OnInit方法,编写相关初始化代码;

  3. 继承并重写OnLoop方法,编写相关需要重复执行的代码;

  4. 实现create_application方法,返回youe_app的类实例。

在Application类实例里,可以通过Board类实例来访问各硬件。


源码地址:https://gitee.com/billyzh/esp32-arduino-framework

- 本文由用户 老张 发布,文中观点仅代表作者本人,不代表本站立场。
- 如需转载,请联系作者;如有侵权,请联系本站处理。

2025-12   阅读(1118)   评论(0)
 标签: 编程 ESP32 Arduino Cpp

涨知识
智能体

智能体(Agent)是指能够感知环境并采取行动以实现特定目标的代理体。它可以是软件、硬件或一个系统,具备自主性、适应性和交互能力。智能体通过感知环境中的变化(如通过传感器或数据输入),根据自身学习到的知识和算法进行判断和决策,进而执行动作以影响环境或达到预定的目标。

评论:
相关文章
【ESP32 C++教程】Unit5-2 执行器件之舵机

本节主要讲解舵机驱动类和用按键控制舵机。


【ESP32 C++教程】Unit5-1 执行器件之继电器

本节主要讲解执行器件类型和用按键控制继电器。


【ESP32 C++教程】Unit4-3 红外接收和遥控

本小节主要讲解红外接收和遥控器件,以及遥控操作LED。


【ESP32 C++教程】Unit4-2 模拟量传感器

本小节讲解模拟量传感器使用,旋转电位器,DHT11温湿度传感器和实现自定义传感器类。


【ESP32 C++教程】Unit4-1 数字量传感器

本小节讲解Sensor类及派生类、数字量传感器使用和传感器的推荐交互流程。


【ESP32 C++教程】Unit3-2 触摸输入

本小节讲解ESP32内置触摸引脚的用法,


【ESP32 C++教程】Unit3-1 按键输入

本小节主要介绍按键信号转换、Button类及派生类、和Button交互推荐流程。


【ESP32 C++教程】Unit2-2 Ws2812灯珠

本小节主要介绍Ws2812灯珠的使用、对父类进行扩展实现自定义功能,和指针向下强制转换的使用。


【ESP32 C++教程】Unit2-1 RGB三色LED

本小节主要介绍RGB三色LED的使用,以及多态的具体实现。


【ESP32 C++教程】Unit1-3 ESP32 Arduino 开发框架

ESP32 Arduino Framework是专门针对ESP32开发板的Arduino应用开发框架,为用户开发IOT应用、HMI应用提供一致的开发体验。