ESP8266 MQTT RGB LED使用JSON进行家庭助理 该项目为家庭助理,一个惊人的,可扩展的开源家庭自动化系统添加了轻松创建DIY照明的方法。 我感到沮丧的是内置的MQTT灯不支持转换(颜色/亮度之间的衰落),并且它使用多个单独的调用来设置不同的值(状态(开/关),亮度,颜色)),所以我决定制作我自己的版本。从0.26版开始,MQTT JSON光平台已被合并到家庭助理中。 通过发送JSON有效负载(在MQTT消息中),家庭助理可以包括必要的字段,将往返行程从3减少到1.例如,这是一个包含所有字段的示例负载: { "state": "ON", "brightness": 120, "color": { "r": 255, "g": 100, "b": 100 }, "transition": 5 }
安装/配置 要设置此系统,您需要在Home Assistant中配置MQTT JSON灯组件,并设置灯光以进行控制。本指南假设您已经设置并运行Home Assistant。如果没有,请参阅这里的安装指南。
家庭助理方 - 在你的configuration.yaml,添加以下内容:
光: - light:
- - platform: mqtt_json
- name: mqtt_json_light_1
- state_topic: "home/rgb1"
- command_topic: "home/rgb1/set"
- brightness: true
- rgb: true
- optimistic: false
- qos: 0
- 设置name,state_topic以及command_topic使用为您做的感测值。
- 重新启动家庭助理。根据您的安装方式,流程不同。对于Raspberry Pi All-in-One安装,请使用sudo systemctl restart home-assistant.service(或仅重新启动Pi)。
光边 我正在使用ESP8266-01微控制器作为我的灯,因为它们便宜而且小巧。尺寸和价格的缺点是编程它们可能有点麻烦。有很多网站进入细节,所以我不会在这里做。您将需要一个ESP设置来使用Arduino IDE。请参阅这里的自述文件以获取说明。 - 在Arduino IDE中使用库管理器,安装ArduinoJSON和PubSubClient。您可以在“素描”菜单的“包含图书馆” - >“管理图书馆...”下找到图书馆管理员。
- 为您的灯打开相应的文件夹。对于RGB灯,请使用mqtt_esp8266_rgb。对于只支持亮度的灯,请使用mqtt_esp8266_brightness。
- config-sample.h使用您的PIN码,WiFi设置和MQTT设置的设置更新文件。
- 确保该CONFIG_MQTT_CLIENT_ID设置是您的网络的唯一值。
- 设置CONFIG_MQTT_TOPIC_STATE并CONFIG_MQTT_TOPIC_SET匹配您放入的值configuration.yaml。
- 保存配置文件为config.h。
- .ino在Arduino IDE中打开文件,并使用正确的连接上传到ESP。
接线
对于使用N-MOSFET进行控制的RGB LED条,您需要将其类似于: 需要注意的是MOSFET已从上拉了在此设置电阻器。这意味着当模块复位时,指示灯可能会亮起,但是必须将ESP的引脚保持在正确的启动状态。
|