搭建个人智能家居 4 -WS2812B-RGB灯

搭建个人智能家居 4 - WS2812B-RGB灯

前言

上一篇文章我们已经完成了第一个外设的添加(一个LED灯),今天接着来"壮大"这个系统,添加第二个外设"RGB灯"。

环境搭建可以回顾前面的文章。前文回顾:
搭建个人智能家居 开篇(搭建Home Assistant)
搭建个人智能家居 2 -安装ESPHome
搭建个人智能家居 3 -第一个设备"点灯"

说明

本次添加外设接着上一篇文章创建的Dome,在后面添加相应的驱动代码。会用到WS2812RGB灯,5v电源一个。

本次依然分成两步:

第一步是ESPHome编写yaml文件并烧录到ESP32开发板

第二步是HomeAssistant添加控制组件

ESPHome

打开上一篇文章里新建的工程,找到工程的存放位置,然后在存放工程的文件夹输入启动esphome的指令(可参考"搭建个人智能家居 2 -安装ESPHome")

bash 复制代码
esphome dashboard xxx/		/*xxx用你创建的工程文件夹名字替代,上一篇创建的名字为LED*/

启动后打开浏览器输入

bash 复制代码
http://localhost:6052/

进入esphome的控制页面

进去后可以看到上一篇文章创建的二进制LED工程,我们这一次不用新建了,直接点击编辑上一次的工程,把本次添加WS2812RGB等的代码放进去即可。

点进去后可以看到上一篇文章写的二进制LED的代码,由于WS2812RGB也是属于Light组件,所以我们在Light组件下再创建一个"neopixelbus" 平台、"WS2812"芯片、名为"RGB_LED"的RGB设备,完整代码如下:

cpp 复制代码
#Bin_LED    
light:
  - platform: binary
    name: "led"
    output: bin_led



#WS2812_RGB
  - platform: neopixelbus
    type: GRB
    variant: WS2812
    pin: GPIO4
    num_leds: 25
    name: "RGB_LED"



output:
  - id: bin_led
    platform: gpio
    pin: GPIO2 

说明:

WS2812RGB灯属于Light组件,一个yaml文件中不能添加多个相同组件,所以直接在上一篇文章的Bin_LED的定义后面接着写即可。

本次实验用的IO口是GPIO4,可自行更改。

num_leds是控制的灯数,由于本次实验用的是一个25颗灯珠的WS2812RGB灯板,所以填了25。

name随意。

编辑好yaml文件后点击保存并编译生成固件。

生成固件后通过"flash download tools"烧录,烧录步骤这边不过多赘述

(如果ESP2开发板就只用来做这个项目的可以用OTA在线烧录,由于这边使用的这块ESP32的开发板经常要用在其他地方,上一篇文章烧录的程序早就被刷掉了,所以这边用离线的烧录方法)。

烧录完成后打开串口助手看一下返回日志,wifi是否连上了。

HomeAssistant

接上节,检查确认wifi连上后,启动HomeAssistant。

启动HomeAssistant的步骤不做赘述(可参考"搭建个人智能家居 开篇(搭建Home Assistant)")

启动完后在浏览器打开启动页面里的IPv4的地址,进入HomeAssistan控制面板

由于上一篇文章做Bin_LED实验的时候就已经添加了这块ESP32开发板设备,所以重新进入HomeAssistant的控制页面刷新后就自动把这块ESP32这个设备里的实体刷新出来了,包括了我们刚才在yaml文件里添加的WS2812RGB灯。

实体的名称组成:工程名称+yaml文件里创建的实体name

所以上图名称为BIN_LED RGB_LED这个实体就是我们刚才在yaml文件里添加的WS2812RGB。

现在给ESP32开发板断电,连接WS2812RGB灯板。

上电!

这个实体灯光调节的方式还比较多,有固定颜色还有调色板。

WS2812RGB灯设备添加完成。

移动端安装了HomeAssistant的APP通过局域网登录电脑端注册时的账号也是可以控制的,感兴趣的可以去试一下。

相关推荐
艾格北峰2 天前
STM32 物联网智能家居 (六) OLED显示设备
arm开发·stm32·单片机·嵌入式硬件·物联网·智能家居
xiaohai@Linux3 天前
ESP32 在IDF_V5.3.1版本下实现AP无线热点模式!(带WIFI事件处理)
c语言·嵌入式硬件·tcp/ip·wifi·esp32
乐鑫科技 Espressif3 天前
解锁 AIoT 无限可能,乐鑫邀您共赴 Embedded World 2025
esp32·wi-fi·iot·乐鑫科技·embedded world
Anna_Tong6 天前
如何通过阿里云内容安全在数字时代获得“第一防线”?
安全·网络安全·阿里云·云计算·智能家居·内容安全·实时监控
沐欣工作室_lvyiyi7 天前
基于单片机控制的电动汽车双闭环调速系统(论文+源码)
单片机·嵌入式硬件·物联网·智能家居·电机
深圳启明云端科技7 天前
ESP32无线Wi-Fi蓝牙方案,设备智能连接控制,物联网通信应用
物联网·esp32·芯片·乐鑫·模组·无线方案
木燚垚11 天前
物联网水质监测系统设计与实现/基于STM32的水产养殖云监控系统设计
stm32·嵌入式硬件·物联网·智能家居
PassLink_12 天前
ESP32S3(主模式) 与 STM32(从模式) 进行SPI全双工通信
stm32·单片机·嵌入式硬件·esp32·spi
深圳启明云端科技12 天前
设备智能化无线交互,ESP32-C3芯片方案,物联网WiFi蓝牙控制通信
物联网·人机交互·智能家居·乐鑫·esp32-c3
生活最重要(ง •̀_•́)ง14 天前
[ESP32:Vscode+PlatformIO]添加第三方库 开源库 与Arduino导入第三方库的区别
esp32·arduino·第三方库·开源库·platformio