本帖最后由 Cracked_hitter 于 2019-2-17 17:32 编辑
2019.02.17 更新一张NodeMCU的原理图到附件,方便理解代码。(ESP8266,GPIO2接LED,GPIO15(对应实物D8管脚)下拉到地,做开关输入)另外补充一点,本实物只是做原理的模拟,不能实际来改装墙壁开关。
初级玩家入坑实践,使用NodeMCU模拟墙壁开关功能,实现物理和HA同时控制
先放一个功能演示的视频
视频地址:https://v.youku.com/v_show/id_XNDA2NTY4MzkxMg==.html
一、主要特性
- 使用板载LED模拟光源
- 简单的无线及MQTT接入
- 断网重连
二、源码简单介绍
代码思路
- 状态标志初始化
- LED、开关、无线、MQTT客户端初始化
- 循环检查按键状态及无线连接状态
- 通断开关,状态量更新实现功能
PS:实现双控的关键,在于维护好一个全局的led状态量
三、HA配置
mqtt:
broker: 127.0.0.1
port: 1883
username: mqtt用户
password: mqtt密码
switch:
platform: mqtt
name: "Simulation_Switch"
state_topic: "simulation/switch/status"
command_topic: "simulation/switch"
qos: 1
payload_on: "1"
payload_off: "0"
retain: true
做了一个简单的模拟,源码可以优化的地方有许多,比如按键使用中断,连接状态定时检查等等。
有需要的兄弟,可以做个简单的入门参考,多多交流。
|