本帖最后由 hsrh 于 2019-2-26 11:03 编辑
1. 功能 上周有一次晚上忘了关后门,门就这样开了一晚上,幸运的是没有发生什么事。现在每天晚上都要看看门关好了没有,养成了强迫症,就想做个自动检测门是否关好的模块。上网搜了搜门窗报警器,就是磁感应原理,正好手上有霍尔传感器模块,可以自己做一个。 门未关:发送UNLOCK消息到HASS,同时蜂鸣器报警; 门关好:发送LOCK消息到HASS 2. 元件
电路连接比较简单了,电源使用USB。
3. 安装 外壳用3D打印机打了个,就是简简单单的小盒子。ESP8266没有直接焊接在底板上,做了个插座,可以拔下来重新上传代码。 注意让霍尔传感器尽量靠近盒子边缘,可以感应到磁铁的磁力。
安装到门上,盒子背面用双面胶粘到门框上。磁铁对准霍尔传感器位置,直接吸到门上就行。不是铁门的话,磁铁也用双面胶粘一下即可。磁铁与霍尔传感器之间的距离需要调试一下,做到门开一点缝,蜂鸣器就报警。
4. 代码 说明: 1、wifi连接使用了WiFiManager库
工作过程: 上传代码第一次启动时:ESP模块将进入AP模式(默认AP名称:AutoConnectAP,密码87654321),并启动webserver(默认IP 192.168.4.1); 使用手机或电脑连接这个AP,并打开网址192.168.4.1,在网页中配置wifi参数,并保存; ESP模块自动重启,完成wifi配置。 2、HASS配置 lock: - platform: mqtt name: "Back_door" state_topic: "home-assistant/door/back_door_state" payload_lock: "LOCK" payload_unlock: "UNLOCK" optimistic: false qos: 1 retain: true
关门状态: 开门状态:
这下在睡觉前看看手机就能检查门关好了没有。 代码:
5. 改进 如果嫌蜂鸣器声音小的话,可以换成喇叭; 没有开门锁功能,要加的话也简单,加一个继电器连接电磁锁即可;
|