『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2862|回复: 6

[技术探讨] 小白教小白-用esp32模块自制门磁传感器

[复制链接]

33

主题

312

帖子

1855

积分

金牌会员

Rank: 6Rank: 6

积分
1855
金钱
1538
HASS币
40
发表于 2023-4-7 11:57:07 | 显示全部楼层 |阅读模式
本帖最后由 lione95678 于 2023-4-14 12:06 编辑

  起因:现在网上卖的门磁传感器,基本上就是这么几种,射频的(要买那种双向的,开门和关门都会发送1次射频信号),蓝牙的,zigbee的,还有wifi的。射频的最便宜,价格在10-15元左右,我自己就是买的双向射频的(只是我的射频接收模块有时会收不到射频信号),其余几种都是30以上了吧,还要买网关。一直想自己diy一个,但小白啊,蓝牙和zigbee都搞不定,wifi的功耗一直是个问题。
后来想到了esp32或者esp8266有低功耗模式,自己又喜欢使用esphome固件。所有想到了一个自制esp32门磁的方法。
  原理很简单,使用esphomedeep_sleep(深度睡眠)+1binary_sensor(二进制传感器),平时esp32处于睡眠模式,当门打开或关闭时,触发一个gpio,就可以离开深度睡眠,并通过二进制传感器得知门是开还是关,一段时间后esp32休眠,二进制传感器的状态就是Unknown(未知)。
  下面是esphomeyaml写法:
deep_sleep:
  run_duration: 120s
  wakeup_pin: 
    number: GPIO23
    inverted: false
    mode:
      input: true
      pulldown: true 
  wakeup_pin_mode: INVERT_WAKEUP
  id: wake_up

binary_sensor:
  - platform: gpio
    pin: 
      number: GPIO15
      inverted: true
      mode:
        input: true
        pulldown: true     
    name: "客厅门"
    device_class: door
    id: keting_door
  我这里唤醒的针脚是gpio2,二进制传感器的针脚是gpio18esp32处于活动状态的持续时间是120秒。注意wakeup_pin_mode的参数,这样当gpio2针脚高低电平变化就会触发结束深度睡眠。
  注意:1、为什么不使用价格便宜的esp01或者esp8266?因为esphome说只有esp32才支持gpio触发结束深度睡眠。
      2、不可以使用esp32开发板,要自己打板焊接,因为开发板都使用ams1117ldo,静态功耗太大,自己打板可以缩小成品的尺寸,并使用低功耗的ldo,比如rt9013-33
      3、如果可以,可以再使用espadc针脚来检测锂电池电压,换算成锂电池电量,这样知道成品使用时大概什么时候可以换电池了。
      4、从唤醒模块到homeassistant检测到门开关状态,大概需要30秒左右。
  需要的元器件,只要esp32模块,2个微动开关,1块聚合物锂电池,一些电容电阻什么的,再加上嘉立创的免费打板,价格应该在25-30元(不算运费的话),当然还要3d打印外壳。算下来好像也不便宜了。
  接线很简单,一个微动开关连接gpio23.3v,另一个微动开关连接gpio183.3v即可。
  有空的时候画一个原理图和立创lda的打板文件,给大伙看看。

上传立创EDA的文件

原理图

原理图

pcb正面

pcb正面

pcb反面

pcb反面

pcb-3d正面

pcb-3d正面

pcb-3d反面

pcb-3d反面



注意,只是有空的时候自己画了文件,还没有打板测试,如果有问题还请见谅,以后有空的话会自己打板测试。就算不做门磁也可以当一个小型化的开发板使用,就是因为使用rt9013,大电流肯定不行。
因为自己是小白,所以什么信号干扰,滤波都不懂得。如果不要使用引出针脚,那就不要焊接2.0mm间距的排针,减少成品的厚度,可以使用尺寸32*20mm,厚度7-8mm的500ma聚合物锂电池。注意因为板子背部有焊盘,锂电池用绝缘胶带贴一下

Gerber_PCB_esp32门窗传感器.zip (32.9 KB, 下载次数: 2) 立创EDA原理图及pcb.rar (76.43 KB, 下载次数: 5)


评分

参与人数 1金钱 +10 收起 理由
dscao + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

14

主题

262

帖子

2223

积分

金牌会员

Rank: 6Rank: 6

积分
2223
金钱
1956
HASS币
50
发表于 2023-4-7 12:14:10 | 显示全部楼层
期待佳作!
回复

使用道具 举报

6

主题

181

帖子

1424

积分

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1243
HASS币
0
发表于 2023-4-7 20:14:52 | 显示全部楼层
这diy下来,美观不美观另说,单价格25-30元就不划算了。小黄鱼涂鸦的Zigbee门磁30元包邮。
回复

使用道具 举报

33

主题

312

帖子

1855

积分

金牌会员

Rank: 6Rank: 6

积分
1855
金钱
1538
HASS币
40
 楼主| 发表于 2023-4-10 10:33:37 | 显示全部楼层
mr_chenxc 发表于 2023-4-7 20:14
这diy下来,美观不美观另说,单价格25-30元就不划算了。小黄鱼涂鸦的Zigbee门磁30元包邮。 ...

是的,唯一的好处就是不需要网关。如果只是少量布置还可以
回复

使用道具 举报

3

主题

301

帖子

3249

积分

论坛元老

Rank: 8Rank: 8

积分
3249
金钱
2948
HASS币
0
发表于 2023-4-10 11:15:38 | 显示全部楼层
请教下LZ是做了个esp32的低功耗迷你板?能否分享下,感谢
买的开发板休眠功耗都很高
回复

使用道具 举报

38

主题

405

帖子

4324

积分

元老级技术达人

积分
4324
金钱
3864
HASS币
250
发表于 2023-4-10 11:41:51 | 显示全部楼层
曾经10块钱一个门磁买了20个zigbee的门磁,然后自己写了js配置文件,美滋滋。
回复

使用道具 举报

0

主题

1

帖子

76

积分

注册会员

Rank: 2

积分
76
金钱
75
HASS币
0
发表于 2023-6-10 15:10:12 | 显示全部楼层
唤醒到检测到状态需要30秒是不是即时性有点太差了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 13:40 , Processed in 0.126121 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表