MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
所需组件与材料
| Arduino Mega 2560 | ×1 |
| ESP8266 ESP-01 WiFi 模块 | ×1 |
| HC-SR501 PIR 人体红外传感器 | ×1 |
| 1000µF 电解电容 | ×1 |
| 电阻、跳线若干 | ×1 |
所需工具
- 剥线钳
所需应用与服务
- Pushbullet - 跨设备推送通知服务(需注册账号并获取 Access Token)
项目简介
本教程演示如何构建一套入侵检测系统:Arduino Mega 读取 PIR 传感器信号,通过 ESP8266 连接 WiFi,利用 Pushbullet API 将报警推送到手机。适合作为家庭安防或实验室监控的入门项目。
前置知识
- Arduino 基础与硬件接线
- AT 指令集基础(ESP8266 通信)
- PIR 传感器工作原理
硬件连接详解
PIR 传感器接线
- PIR VCC → Arduino 5V
- PIR GND → Arduino GND
- PIR OUT → Arduino 数字引脚 2(可在代码中修改)
调节电位器至最大灵敏度、最短触发周期以获得最佳检测效果。
ESP8266 接线(含供电稳定措施)
- ESP8266 GND → Arduino GND
- ESP8266 TX (UXTX) → Arduino RX2 (Serial2)
- ESP8266 CH_PD → 经 3.3V 稳压后接 Arduino 5V(建议用 AMS1117-3.3,若无可用分压电阻应急)
- ESP8266 RX (URXD) → Arduino TX2 (Serial2)
- ESP8266 VCC → Arduino 3.3V
- 关键: 在 ESP8266 VCC 与 GND 间并联 1000µF 电解电容(长脚接 VCC,短脚接 GND),防止发射瞬间大电流导致 Arduino 复位。
Pushbullet 配置
- 注册 Pushbullet 账号,安装手机 App 与 Chrome 扩展。
- 进入 Settings → Account → Access Token,复制并保存 Token。
- API 基础地址:
https://173.17.168.19:8181/pushbullet/v2/pushes(HTTP 版本,Arduino 无法处理 HTTPS)。
代码逻辑要点
完整代码见 GitHub 仓库 MotionSense.ino。核心流程:
sensor_calibration()- PIR 校准check_WiFi_radio() / reset_wifi() / set_wifi_mode()- ESP8266 初始化check_wifi_stat() / connect_ssid()- 连接 WiFi 热点- 主循环:
pirRead()读取 PIR,若检测到运动则依次调用server_connect() → post() → server_disconnect()发送推送。
关键参数修改
#define SSID "你的WiFi名称"
#define PASS "你的WiFi密码"
#define PIRPIN 2
#define AUTH_TOKEN "你的Pushbullet Access Token"
测试与调试
- 打开串口监视器(9600 波特率),观察初始化过程。
- 稳定后会循环打印
Everything fine | No intrusion。 - 手部经过 PIR 前方,应触发推送通知。
原理图
包含 PIR、ESP8266、电容、分压电阻的完整接线图,见原文 Schematics 部分。
制造工艺
- 定制 4×4 井字棋名片 PCB – 设计、制作与代码指南
- 多位置温度传感器系统,助力智能家居集成
- 862D+ 电烙铁 DIY 智能温控器:精准可靠,低成本替代方案
- 3D 打印机防火卫士:智能传感器安全系统
- 基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
- Arduino 简易排斥式磁悬浮:电路与 DIY 指南
- 进阶遥控夹爪机器人:精密抓取 DIY 指南
- 高性能 Arduino 气象气球数据记录器
- ArduFarmBot 第二部分:构建远程 IoT 控制站
- Arduino 8×8 LED 矩阵翻页时钟 - DIY 实时时钟项目
- 进阶微控制器实验平台:ESP32、Arduino、PIC 与多传感器模块集成
- CoroFence 热成像检测器:Panasonic GridEye + PIR + IoT 集成