全能网站建设,怎么在微商城开店,开个网站做代理服务器,长春怎么做网站搭建个人智能家居 4 - WS2812B-RGB灯 前言说明ESPHomeHomeAssistant 前言
上一篇文章我们已经完成了第一个外设的添加#xff08;一个LED灯#xff09;#xff0c;今天接着来“壮大”这个系统#xff0c;添加第二个外设“RGB灯”。 环境搭建可以回顾前面的文章。前文回顾一个LED灯今天接着来“壮大”这个系统添加第二个外设“RGB灯”。 环境搭建可以回顾前面的文章。前文回顾 搭建个人智能家居 开篇搭建Home Assistant 搭建个人智能家居 2 -安装ESPHome 搭建个人智能家居 3 -第一个设备“点灯” 说明
本次添加外设接着上一篇文章创建的Dome在后面添加相应的驱动代码。会用到WS2812RGB灯5v电源一个。 本次依然分成两步 第一步是ESPHome编写yaml文件并烧录到ESP32开发板 第二步是HomeAssistant添加控制组件
ESPHome
打开上一篇文章里新建的工程找到工程的存放位置然后在存放工程的文件夹输入启动esphome的指令可参考“搭建个人智能家居 2 -安装ESPHome”
esphome dashboard xxx/ /*xxx用你创建的工程文件夹名字替代上一篇创建的名字为LED*/启动后打开浏览器输入
http://localhost:6052/进入esphome的控制页面 进去后可以看到上一篇文章创建的二进制LED工程我们这一次不用新建了直接点击编辑上一次的工程把本次添加WS2812RGB等的代码放进去即可。 点进去后可以看到上一篇文章写的二进制LED的代码由于WS2812RGB也是属于Light组件所以我们在Light组件下再创建一个“neopixelbus” 平台、“WS2812”芯片、名为RGB_LED的RGB设备完整代码如下
#Bin_LED
light:- platform: binaryname: ledoutput: bin_led#WS2812_RGB- platform: neopixelbustype: GRBvariant: WS2812pin: GPIO4num_leds: 25name: RGB_LEDoutput:- id: bin_ledplatform: gpiopin: 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通过局域网登录电脑端注册时的账号也是可以控制的感兴趣的可以去试一下。