旧门铃按下时,手机如何多收到一条提醒?
旧门铃按下时手机如何多收到一条提醒本文为教学接线与设计预期尚无实物测量记录使用 ESP32-DevKitC V4、独立低压触点与本地 Home Assistant。问题旧门铃响了手机为什么不知道它的按钮只控制原来的门铃回路没有联网。另加独立开关不碰旧电源线。ESP32 只读新开关的低压状态随后才尝试通过无线网络送提醒。物件动作小熊拿包裹按按钮板。板子同时碰到两扇门旧门照常响新门交给门卫一面红旗。门卫拿秒表等触点稳定才把纸条送往手机。回到电路新门是独立低压触点红旗是 IO27 从高变低。真实连接开发板用自己的 USB 供电。三点三伏经一万欧电阻接 IO27松开时为高。新增小开关一端接 IO27另一端接板卡地按下才拉低。只机械同动不与旧铃接线。原门铃电压未知绝不能送进 IO27。原因与结果程序连续读到稳定的低电平才记一次按铃必须等松开再允许下一次避免触点弹跳连发。接着 ESP32 通过家中无线网络向本地 Home Assistant 的专用 webhook 发请求由自动化转给手机通知服务。网络箭头不是铜线服务器收到也不等于手机已经弹窗。验证先单按新开关万用表预期看到 IO27 在三点三伏和接近零伏之间切换。再查日志、webhook 和手机通知定位故障。电阻按三点三伏除一万欧算按下约零点三三毫安这是设计计算非实测。边界如果旧按钮没有安全的并列安装位置就不做这个改造绝不拆开不明电压的门铃线路。停电、断网、服务器停机或手机禁用通知都会漏提醒旧门铃仍应独立工作。没有实物或送达记录画面是设计预期。先确定边界不给旧门铃的电源线加任何电子负载旧门铃可能使用直流、交流、变压器也可能采用没有公开接口的电子按钮。仅凭‘看上去是两个按钮脚’不能推断它们是安全的 3.3 V 干接点。本例只讨论一种受条件约束的机械改造在能够安全接触、且有足够空间的旧按钮压杆旁另装一只完全独立的 Panasonic EVQ11D07K 小开关使同一次手指按压分别推动旧按钮和新增开关。旧门铃的供电、负载和导线保持原状新增开关的任何端子都不连接旧门铃导体。若机械结构不允许、外壳带有不明电压或必须拆开带电部分才能加装就停止这个方案转而选择厂家提供的认证接口或请有资质人员处理。不要为了演示把旧铃线直接接 ESP32 输入。把它画成小熊的动作小熊拿按铃包裹走到门口压下一块按钮板板的左边让原铃响右边碰到独立小开关。门卫看到右边红旗拿秒表等到触点稳定再送一张纸条到家里的服务器。回到电路右边红旗是 IO27 从高变低秒表是软件里的消抖等待纸条是局域网 webhook 请求它们都不是旧门铃电源线的一部分。只有机械动作共用电路不共地、不并线。把新增小开关接到真实引脚Espressif 的 ESP32-DevKitC V4 官方手册明确列出 J2-1 是 3V3、J2-11 是 IO27、J2-14 是 GND并说明 Micro-USB、5V/GND 针脚和 3V3/GND 针脚三种供电方式只能选一种。本例仅通过 Micro-USB 给开发板上电不从旧门铃取电也不同时给 5V 或 3V3 针脚另加电源。将 J2-1 3V3 经 R110 kΩ 电阻接到 IO27 节点Panasonic EVQ11D07K 的一组常开触点一端接此节点另一端接 J2-14 GND。开关松开时R1 把 IO27 拉高按下闭合时节点被触点接地而变低。该型号官方资料把它列为顶按 SPST 轻触开关微小信号负载范围覆盖本例量级。按产品外形图选正确的一对触点焊前断电用通断档确认哪两端真的是‘松开断、按下通’不可凭四个外观焊盘猜同侧或对侧。按下时 R1 两端理想电压约 3.3 V欧姆定律给出 3.3 V÷10000 Ω0.00033 A即约 0.33 mA。这是器件和供电条件下的设计计算真实电流受稳压、电阻及接触电阻公差影响没有实测记录不能写成‘测得 0.33 mA’。IO27 只读取低压输入不直接驱动门铃线圈不承受旧铃电流。若用户另选了不同触点、电阻、板卡或接线座要重新核对额定负载和针脚不把这里的示意自动推广。为什么按一次不能直接发一次消息轻触开关在机械闭合和松开时会短暂弹跳。ESP32 若把每个电平跳变都当成一次访客手机可能连收几条消息。本例设定连续稳定低电平约 30 ms 后才记一次‘按下’事件然后保持不再计数等到稳定松开后才重新武装。30 ms 是教学参数不是 Panasonic 对该开关的统一保证。软件还需在网络断开时保存可识别的失败状态或有界队列如果没有可靠存储和重试断网期间的事件就可能丢失。反过来若请求超时服务器可能其实已经收到盲目重发会造成重复提醒工程版应让事件携带唯一编号并由接收侧去重。本文的 C11 小程序只复算消抖序列和电阻电流不实现 ESP-IDF GPIO、Wi-Fi 或持久队列。从开发板到手机中间还需要一台真正的服务端ESP32 把确认后的按钮事件交给 Wi-Fi 协议栈再由局域网向用户自己部署的 Home Assistant 专用 webhook 发 POST。Home Assistant 官方文档说明/api/webhook/webhook_id可以触发自动化其 Companion App 文档说明手机授权后可出现notify.mobile_app_...通知目标。自动化收到请求以后需要明确调用那部手机对应的通知目标不能靠 ESP32 一句‘发给手机’就自动生成推送。webhook 标识和家庭网络地址属于用户私有配置本文不提供真实密钥或服务器地址也不把本地 HTTP 示例暴露到公网。先在可信局域网完成基础验证若需要跨网访问应另行配置合适的 HTTPS、访问控制、网络隔离和凭据轮换。四个状态要分开IO27 稳定变低只能证明本地检测ESP32 请求发出只能证明它尝试联机Home Assistant 自动化运行只能证明服务端处理只有手机端实际弹窗或有对应确认记录才可说手机收到。Wi-Fi 断开、Home Assistant 离线、手机权限关闭或手机系统延迟都会使最后一步失败。无线箭头是软件/网络消息不是从开发板直接接向手机的铜线。本例没有用户家里的 Home Assistant、手机账户、实际门铃外壳或按压测试画面和读数均标为设计预期。先在桌面分步验证再判断能否安装第一步只把 ESP32、R1 和新增小开关放在桌上断电核对 J2-1、J2-11、J2-14 的线序与触点开闭不接任何旧门铃线。第二步只用 USB 上电万用表黑表笔接 J2-14 GND红表笔接 IO27分别记录松开和按下的真实电压预期前者接近 3.3 V、后者接近 0 V但本文没有这两笔测量。第三步看日志是否一按只记一次再单独触发 Home Assistant webhook 检查自动化再核对手机是否授权并收到。第四步在完全断开旧门铃电源后检查机械安装空间和触点行程确认旧按钮仍能正常弹回才由合适人员评估是否可装。任何一步涉及未知或危险电压就停止不为了得到一条通知牺牲原门铃的独立可靠性。逐线接线清单独立 USB 电源 → ESP32-DevKitC V4 Micro-USB 插座只用一种供电方式不从旧门铃取电ESP32-DevKitC V4 J2-1 3V3 → R1 10 kΩ 一端低压上拉不接旧门铃电源R1 10 kΩ 另一端 → ESP32-DevKitC V4 J2-11 IO27 与 EVQ11D07K 一侧触点同一输入节点松开高、按下低EVQ11D07K 对侧触点 → ESP32-DevKitC V4 J2-14 GND仅新增触点闭合时导通须断电核实所选触点对旧门铃按钮压杆 → 新增 EVQ11D07K 按帽仅机械同动两条电气回路完全不相连安装空间须实物确认ESP32 Wi-Fi 协议栈 → 局域网 Home Assistant 专用 webhook再到手机 Companion App无线/软件事件链不画成电气导线通知送达需独立核验计算与实施边界Espressif ESP32-DevKitC V4 官方用户指南J2-1 是 3V3J2-11 是 IO27J2-14 是 GNDMicro-USB 是默认电源三种供电方式只能选其一Panasonic EVQ11D07K 官方产品页顶按型常开 SPST 轻触开关额定接触负载范围从 10 µA/2 V DC 到 20 mA/15 V DC本例 3.3 V/10 kΩ≈0.33 mA 落在教学低压范围内Home Assistant 官方 webhook 文档本地 POST /api/webhook/ 可触发自动化手机 Companion App 官方文档提供 notify.mobile_app_ 目标实际目标名称必须按用户设备配置ESP-IDF 官方 esp_http_client 文档支持 POST本文不存真实 webhook 密钥、不宣称请求发出或手机收到机械同动是本例设计前提不声称任意旧门铃都能加装旧门铃原电路电压及安全认证未知绝不并接 IO27 或从原电路取电本例低电平消抖取连续 30 ms 为教学参数不是开关厂商保证按下电阻电流 3.3 V/10000 Ω0.00033 A未计算实际触点和板卡误差这些参数和数值是本例选择或可复算计算实际测量前应先检查电源极性、公共地、元件额定值、仪器探头连接。完整可运行的核心算例与验收以下 C11 程序可在电脑上用 C 编译器单独编译运行用来复算状态或数值它不是已配置 GPIO、ADC、定时器和驱动的开发板固件。移植到实板时应按前述接线配置外设、检查读取错误并另做实测。#includestdio.h/* 输入 1松开、0按下只复算 30ms 消抖与一次触发逻辑。 */intmain(void){constintsample_ms10,stable_ms30;constintsamples[]{1,0,1,0,0,0,0,0,1,1,1};intlow_ms0,high_ms0,armed1,events0;for(unsignedi0;isizeof(samples)/sizeof(samples[0]);i){if(samples[i]0){low_mssample_ms;high_ms0;if(armedlow_msstable_ms){events;armed0;}}else{high_mssample_ms;low_ms0;if(!armedhigh_msstable_ms)armed1;}}printf(press events%d; pullup current%.2f mA\n,events,3.3/10000.0*1000.0);returnevents1?0:1;}验收时同时记录输入、关键节点电压或波形、程序输出若发现传感器通信失败、输入超出允许范围或波形明显异常应停止并排查。官方资料https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32/esp32-devkitc/user_guide.htmlhttps://na.industrial.panasonic.com/products/switches-encoders-interface-devices/switches/lineup/light-touch-tactile-switches/series/79310https://www.home-assistant.io/docs/automation/triggerhttps://companion.home-assistant.io/docs/notifications/notifications-basic/https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/protocols/esp_http_client.html