pdf-icon

产品上手指引

大语言模型

Thread

Module Gateway H2

IoT 测量仪表

IoT 云端服务

Ethernet 摄像头

拨码开关&引脚切换

Module GPS v2.0

Module ExtPort For Core2

Module LoRa868 V1.2

Atom-Lite HA Light

1. 环境安装

  • 参考 Home Assistant 官网文档 安装 Home Assistant。
  • Setting -> Add-ons -> Add-ons STORE 中安装 ESPHome Builder 插件。
  • ESPHome Builder 插件安装成功后,在其管理页面选中 Show in sidebar 将其添加至左侧导航栏 。
  • 本教程参考自 HA 官方使用文档,如有需要可自行访问。

2. 添加设备

打开 ESPHome 插件页面,右下角点击 NEW DEVICE,创建一个新设备。

出现 New device 提示界面,点击 CONTINUE 按钮。

为设备填写名称,该名称可自定义,这里填写为 Atom-Lite

随后出现选择设备类型界面,需要先将 Use recommended settings 取消勾选,然后选择 ESP32 进入详情页。

在详情页中寻找到 M5Stack-ATOM,选中后点击 NEXT 按钮。

出现设备配置成功界面,把 key复制后点击 INSTALL 进入安装步骤。

选择 Manual download 开始进行程序编译并等待编译安装完成。

3. 程序编写及编译

当上述步骤完成后,回到 ESPHome Builder 主界面会发现多了一个 Atom-Lite 的设备,点击 EDIT 按钮进入 yaml 文件编辑页面。

把以下代码复制到 yaml 文件中,并将图示位置的 ssidpassword 修改为你的 Wi-Fi 账号和密码。

yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
esphome:
  name: atom-lite
  friendly_name: Atom-Lite

esp32:
  board: m5stack-atom
  framework:
    type: arduino

logger:
api:
  encryption:
    key: "TIqaP/Xwb4OlV9DN3I9U0x5LxZ1SCgC2aURMsvJ6g+s="

ota:
  - platform: esphome
    password: "3a2dcd5805e662562f42228f69c02f33"

wifi:
  ssid: "GL-AXT1800-06a"
  password: "m5stack001"
  ap:
    ssid: "Atom-Lite Fallback Hotspot"
    password: "jFsIc2XGuKRe"

captive_portal:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO39
      mode: INPUT
      inverted: true
    name: "Atom Button"
    id: atom_button
    filters:
      - delayed_on: 50ms
      - delayed_off: 50ms
    on_multi_click:
      - timing:
          - ON for at most 0.8s
          - OFF for at most 0.5s
          - ON for at most 0.8s
          - OFF for at least 0.2s
        then:
          - logger.log: "Double Clicked"
          - light.turn_on:
              id: atom_light
              red: 100%
              blue: 50%
              green: 20%
              brightness: 50%
      - timing:
          - ON for at least 0.8s
        then:
          - logger.log: "Single Long Clicked"
          - light.turn_on:
              id: atom_light
              green: 100%
              blue: 50%
              red: 30%
              brightness: 100%

light:
  - platform: neopixelbus
    type: GRB
    pin: GPIO27
    num_leds: 1
    variant: sk6812
    name: "Atom RGB Light"
    id: atom_light
    restore_mode: RESTORE_DEFAULT_OFF
    effects:
      - random:
          name: "Random"
          transition_length: 1s
          update_interval: 1s

先点击 SAVE 按钮保存 yaml 文件,再点击 INSTALL 按钮开始编译固件并烧录。

再次点击 Manual download 开始编译固件并等待完成。

固件编译提示:
通过 HA 进行固件编译较为耗费资源,首次编译可能会需要较长时间进行资源下载,跟实际部署 HA 服务的设备以及网络质量相关。尝试编译失败的情况,也可以点击下方的 web tools 烧录按钮,烧录我们已经打包完成的固件。并在烧录完成后按照提示配置 Wi-Fi 连接信息。(配置失败情况下可断开连接,刷新页面重试)

4. 固件烧录

固件保存

等待编译完成后,点击 DOWNLOAD 按钮会出现烧录方式选择的界面,这里我们选择 Factory format 以保存到本地。

等待程序本地下载完成

回到主界面选择 INSTALL 进入烧录选择界面,这次选择 Plug into this computer,并将设备与电脑用 USB 连接以烧录。

选择 Open ESPHome Web 进入烧录界面

先点击 CONNECT 按键,然后选择接入电脑的串口设备并连接(若此处没有出现串口请自行检查是否硬件连接有误)。

点击 INSTALL 进入本地固件文件选择界面

选择刚刚保存到本地的固件文件,点击 INSTALL 并等待烧录完毕

烧录完成!

5. 接入设备配置

完成固件烧录后,设备开机将自动进行 Wi-Fi 连接。点击 Setting 进入设置界面查看 Discovered 处的设备,点击 ADD 添加设备。

6. HA 配置自动化

点击 Settings 进入设置界面并选择 Devices & services

在搜索栏中搜索 ESP 即可找到 ESPHome,进入并选择 Atom-Lite

Atom-Lite 配置页面中,可以看到 Atom RGB LightAtom Button 两个 Entity,自动化就是通过配置各种 Entity 来实现逻辑的,我们点击 + 号添加 Automations,随后跟着指引操作即可。

就这样我们用 Atom ButtonAtom RGB Light 两个实体来组成了一个 Automation ,这个自动化的效果是当单击按钮时会切换灯光状态。

7. HA 组件控制 Atom RGB

点击 Overview 菜单,进入组件控制界面,点击右上角的 edit 按钮,进入编辑界面。

By card 界面搜索 Light 并选择 Atom RGB Light 实体组件。

组件配置如下:

8. 效果展示

  • 双击按钮 RGB 灯切换为粉色。
  • 按钮长按 2s 以上,RGB 灯切换为绿色。
  • RGB 灯的状态不仅会试试体现在组件上,还可以直接通过组件来控制实体。
On This Page