LibreTiny 平台
此组件包含 LibreTiny 平台的平台特定选项。 它支持以下微控制器,常用于 Tuya 设备等:
- BK72xx: BK7231T, BK7231N
- RTL87xx: RTL8710BN, RTL8710BX
- LN882x: LN882HKI
由于支持不同的微控制器,您需要根据设备使用的处理器包含适当的 ESPHome 组件。
请参阅 LibreTiny/Boards 查找您的开发板类型。
# BK72xx 示例配置项bk72xx: board: generic-bk7231n-qfn32-tuya
# RTL87xx 示例配置项rtl87xx: board: generic-rtl8710bn-2mb-788k
# LN882x 示例配置项ln882x: board: generic-ln882hki-
board (Required, string): 应使用的 PlatformIO 开发板 ID。从 此列表 中选择适当的开发板(名称旁边的图标可用于复制开发板 ID)。
这会影响 CPU 选择和一些内部设置 - 确保选择正确的 CPU。 如果不确定特定开发板的选择,请选择通用开发板,如
generic-bk7231n-qfn32-tuya。 -
framework (Optional): ESPHome 使用的基础框架选项。
-
version (Optional, string): 要使用的 LibreTiny 版本号,来自 LibreTiny 平台发布。默认为
recommended。其他值dev: 使用来自 https://github.com/kuba2k2/libretiny 的最新提交,请注意这可能随时会出问题latest: 使用来自 https://github.com/kuba2k2/libretiny/releases 的最新发布,即使尚未被推荐。recommended: 使用推荐的框架版本。
-
source (Optional, string): 用于框架的 PlatformIO 包或仓库。这可用于使用框架的自定义或修补版本。
-
-
family (Optional, string): 此开发板上使用的 LibreTiny 支持的微控制器系列。
bk7231n、bk7231t、rtl8710b、rtl8720c、bk7251、bk7231q、ln882hki之一。 默认为从开发板检测到的变体,如果使用 ESPHome 未知的开发板,此选项是必需的。建议不要包含此选项。
由于 BK72xx 和 RTL87xx 芯片在 IoT 开源开发领域相对较新,关于刷写和配置它们的资源不多。
以下是一些有用的链接:
-
tuya-cloudcutter - 通过空中下载刷写 ESPHome 到兼容 Tuya/SmartLife 应用程序的某些设备(仅限 BK72xx!)
- digiblurDIY 的图文和视频指南
- LibreTiny 视频指南
- ESPHome-Kickstart - 使用 Cloudcutter 上传 OTA 的入门固件
-
UPK2ESPHome - 从 Cloudcutter 配置文件或 Kickstart 固件自动生成 ESPHome YAML(也仅限 BK72xx)
GPIO 引脚编号
Section titled “GPIO 引脚编号”LibreTiny 支持的芯片使用开发板的内部 GPIO 引脚编号,这意味着您不必担心其他类型的引脚编号,太好了!
此外,您可以使用引脚功能宏快速访问绑定到特定外设的 GPIO,例如 UART1 TX/RX 或 PWM0。 请参阅 LibreTiny/GPIO 访问 了解更多信息。
大多数流行的开发板(通常被错误地称为”芯片”),通常随智能家居设备一起提供,被 LibreTiny 支持,这意味着有引脚图可用,并描述了所有 GPIO。 访问 LibreTiny/Boards 查找所有支持的开发板。
引脚功能表概述了所选开发板上可用的所有 GPIO。
您可以使用任何可见的名称来访问特定的 GPIO。
关于 BK72xx 引脚的一些说明:
TX2 (P0)和RX2 (P1)用于默认的 Logger UART 端口。TX1 (P11)和RX1 (P10)用于刷写固件,以及 Tuya。ADC3 (P23)是 BK7231 上唯一可用的 Adc。
关于 RTL8710BN/BX 引脚的一些说明:
-
TX2 (PA30)和RX2 (PA29)用于刷写固件,以及默认的 Logger UART 端口。 -
TX2 (PA30)还用于确定启动时的引导模式(类似于 ESP32)。 在启动时将其拉低将进入”下载模式”。
关于 LN882H 引脚的一些说明:
-
TX0 (PA2)和RX0 (PA3)用于刷写固件,以及默认的 Logger UART 端口。 -
BOOT1 (PA9)还用于确定启动时的引导模式(类似于 ESP32)。 在启动时将其拉低将进入”下载模式”。
使用各种命名样式的示例配置项:
# P26/GPIO26 上的 GPIO 开关(BK72xx 示例)switch: - platform: gpio name: 继电器 1 pin: P26
# PA12 上的 GPIO 二值传感器(RTL87xx 示例)binary_sensor: - platform: gpio name: "引脚 PA12" pin: PA12
# ADC 读取(BK72xx 示例)sensor: - platform: adc pin: ADC3 name: "电池电量"
# PWM 组件output: - platform: libretiny_pwm pin: PWM2 frequency: 1kHz id: pwm_output# 使用 PWM 的灯光light: - platform: monochromatic output: pwm_output name: "厨房灯"
# UART1 上的 Tuya MCU(BK72xx 示例)uart: rx_pin: RX1 tx_pin: TX1 baud_rate: 9600tuya:这些是 LibreTiny 平台的一些高级配置选项。
# 示例配置项bk72xx: board: cb2s framework: version: dev loglevel: debug debug: - wifi - ota sdk_silent: auto uart_port: 2 gpio_recover: false options: LT_LOG_HEAP: 1 LT_AUTO_DOWNLOAD_REBOOT: 1-
loglevel (Optional, string): LibreTiny 核心的日志级别。控制核心日志消息的输出(不影响 ESPHome logger!)。这些消息仅在物理 UART 上可见。
verbose、trace(与verbose相同)、debug、info、warn(默认)、error、fatal、none之一。 -
debug (Optional, string 或字符串列表): 要为其启用 LibreTiny 调试的模块。 请参阅 LibreTiny/配置 了解更多信息 - 某些模块默认启用。
wifi、client、server、ssl、ota、fdb、mdns、lwip、lwip_assert中的一个或多个。 指定none将禁用所有模块。您也可以将none与一个或多个模块组合使用。 -
sdk_silent (Optional, string): 定义 SDK 日志”静默模式”。 这会禁用来自供应商 SDK 的消息,使 UART 输出更易读,但可能会隐藏一些错误消息。 这仅影响物理 UART 端口。 请参阅 LibreTiny/配置 了解更多信息。
all: 禁用所有消息(默认)。auto: 选择性禁用,例如在 Wi-Fi 激活期间。none: 保留所有日志消息,不禁用任何内容。
-
uart_port (Optional, int): 选择框架的默认 UART 端口。 这会影响 LibreTiny 日志消息,以及 ESPHome logger 的默认端口(例如,如果您没有指定其他端口)。 0、1、2 之一。默认值取决于芯片,由 LibreTiny 适当选择。
-
gpio_recover (Optional, boolean): 禁用 JTAG/SWD 调试外设。这可能是释放应用于其他功能的 GPIO 所需的。默认为
true。 -
options (Optional, mapping): 传递给 LibreTiny 平台的自定义选项。 请参阅 LibreTiny/配置 查看所有选项。 这优先于(覆盖)上述所有选项。