espressif/esp-brookesia

0.3.0

uploaded 3 weeks ago
ESP-Brookesia is a human-machine interaction development framework designed for AIoT devices.

readme (zh)

[![Arduino Lint](https://github.com/espressif/esp-brookesia/actions/workflows/arduino_lint.yml/badge.svg)](https://github.com/espressif/esp-brookesia/actions/workflows/arduino_lint.yml) [![Version Consistency](https://github.com/espressif/esp-brookesia/actions/workflows/check_lib_versions.yml/badge.svg)](https://github.com/espressif/esp-brookesia/actions/workflows/check_lib_versions.yml)

**最新 Arduino 库版本**: [![GitHub Release](https://img.shields.io/github/v/release/espressif/esp-brookesia)](https://github.com/espressif/esp-brookesia/releases)

**最新 Espressif 组件版本**: [![Espressif Release](https://components.espressif.com/components/espressif/esp-brookesia/badge.svg)](https://components.espressif.com/components/espressif/esp-brookesia)

# ESP-Brookesia

* [English Version](./README.md)

## 概述

ESP-Brookesia 是一个面向物联网设备的人机交互开发框架,旨在简化用户 UI 设计和应用程序开发的流程,它支持高效的开发工具与平台,加速客户 HMI 应用产品的开发与上市。

> [!NOTE]
> "[Brookesia](https://en.wikipedia.org/wiki/Brookesia)" 是一种变色龙属的物种,擅长于伪装和适应环境,这与 ESP-Brookesia 的目标紧密相关。该框架旨在提供一种灵活、可扩展的 UI 解决方案,能够适应各种不同的设备、屏幕大小和应用需求,就像 Brookesia 变色龙那样,具有高度的适应性和灵活性。

ESP-Brookesia 的主要特性包括:

- 采用 C++ 开发,可在 `PC` 或 `ESP SoCs` 平台上编译,并支持 `VSCode`、`ESP-IDF`、`Arduino` 开发环境。
- 提供丰富的标准化系统 UI,支持动态调整 UI 样式。
- 采用 app 的应用管理方式,实现多个 app 的 UI 隔离与共存,使用户专注于各自 app 内的 UI 实现。
- 应用 UI 兼容 "[Squareline](https://squareline.io/) 导出代码" 的开发方式。

各系统 UI 的功能演示如下:

<div align="center">
    <img src="https://dl.espressif.com/AE/esp-dev-kits/esp_ui_phone_p4_function_ev_board_1024_600_2.gif" alt ="esp_ui_phone_p4_function_ev_board">
</div>

<div align="center">
    <a href="https://docs.espressif.com/projects/esp-dev-kits/zh_CN/latest/esp32p4/esp32-p4-function-ev-board/index.html">ESP32-P4-Function-EV-Board</a> 运行系统 UI - <a href="./docs/system_ui_phone_CN.md">Phone</a>
    <br>
    (<a href="https://dl.espressif.com/AE/esp-dev-kits/esp_ui_phone_demo_1024_600_compress.mp4">点击查看视频</a>)
</div>
<br>

ESP-Brookesia 的功能框图如下,主要由以下几个部分组成:

<div align="center">
    <img src="docs/_static/readme/block_diagram.png" alt ="block_diagram" width="600">
</div>
<br>

- **System UI Core**:实现了所有系统 UI 统一的核心逻辑,包括 app 管理、样式表管理、事件管理等。
- **System UI Widgets**:封装了系统 UI 的通用控件,包括状态栏、导航栏、手势等。
- **System UIs**:基于 "System UI Core" 和 "System UI Widgets" 实现了多种类型的系统 UI。
- **Squareline**:包含多个 "Squareline Studio" 导出的不同版本的 *ui_helpers* 文件,避免同时在多个 app 内使用的函数重名问题。
- **Fonts**:包含系统 UI 默认使用的字体。

## 使用

请参阅文档 - [如何使用](./docs/how_to_use_CN.md) 。

## 系统 UIs

当前,ESP-Brookesia 提供了以下系统 UI:

- [Phone](./docs/system_ui_phone_CN.md)

## 系统 UI 控件

请参阅文档 - [系统 UI 控件](./docs/system_ui_widgets_CN.md) 。

Links

Supports all targets

License: Apache-2.0

To add this component to your project, run:

idf.py add-dependency "espressif/esp-brookesia^0.3.0"

or download archive

Stats

  • Archive size
    Archive size: 2.99 MB
  • Downloaded in total
    Downloaded in total 57 times
  • Downloaded this version
    This version: 57 times

Badge

espressif/esp-brookesia version: 0.3.0
|