使用NodeMCU和KiwisIoT实现运动检测与报警系统
项目概述
本项目是一个基于物联网的简易运动检测与报警系统,使用NodeMCU ESP8266、PIR运动传感器、蜂鸣器和KiwisIoT平台构建而成。
PIR传感器可检测周围环境中的运动。当检测到运动时,NodeMCU会触发蜂鸣器,并通过Wi-Fi将运动状态发送至KiwisIoT平台。
用户可通过KiwisIoT仪表盘远程监控传感器状态。
该项目展示了基本的物联网工作流程:物理传感器连接至微控制器,本地处理数据,然后将信息发送至在线仪表盘。
工作原理
系统遵循以下简单流程:
•PIR传感器监测周围环境。
•传感器检测到运动并产生输出信号。
•NodeMCU读取PIR传感器的输出信号。
•如果检测到运动,蜂鸣器将被开启。
•运动状态通过Wi-Fi发送至KiwisIoT。
•仪表盘显示当前传感器状态。
•当运动停止时,蜂鸣器关闭,仪表盘更新信息。
•检测到运动 → 蜂鸣器开启 → KiwisIoT显示“是”
•无运动 → 蜂鸣器关闭 → KiwisIoT显示“否”
所需硬件:
•NodeMCU ESP8266
•PIR运动传感器
•蜂鸣器
•跳线
•USB数据线
所需软件
•Arduino IDE
•ESP8266板载件
•KiwisIoT库
•Wi-Fi 连接
电路连接
PIR传感器 → NodeMCU
蜂鸣器 → NodeMCU
将PIR传感器连接到D5,蜂鸣器连接到D6。
KiwisIoT设置
打开KiwisIoT平台并登录您的账户。
为运动检测系统创建一个新的仪表板或面板。
创建仪表板后:
•为运动状态创建一个通道。
•使用通道1来接收传感器数据。
•获取仪表板生成的Topic ID。
•添加合适的组件以显示运动状态。
•在NodeMCU程序中使用该Topic ID。
仪表板使用两个状态值:
•YES – 有运动
•NO – 无运动
Arduino IDE设置
使用USB线将NodeMCU ESP8266连接到电脑。
打开Arduino IDE并配置ESP8266板。
上传程序前:
•选择ESP8266板。
•选择正确的COM端口。
•安装KiwisIoT库。
•输入您的Wi-Fi凭据。
•输入您的KiwisIoT Topic ID。
•验证代码。
•上传程序。
代码
代码说明
包含KiwisIoT库,以便NodeMCU能够与KiwisIoT平台进行通信。
向KiwisIoT对象提供Wi-Fi名称、密码以及仪表盘主题ID。
将PIR传感器配置为输入,蜂鸣器配置为输出。
该代码读取PIR传感器的当前输出值。
当传感器返回高电平时,检测到运动,蜂鸣器被激活,并向KiwisIoT发送“YES”信号。
当传感器返回低电平时,蜂鸣器关闭,并向仪表盘发送“NO”信号。
功能:
在NodeMCU持续检查传感器的同时,保持与KiwisIoT的通信处于活动状态。
测试
测试1 — 无动作
打开NodeMCU,并保持PIR传感器前方区域静止不动。
串口监视器应显示:
蜂鸣器应保持关闭状态。
KiwisIoT仪表盘应显示:
测试2 — 检测到动作
将手移动或行走至PIR传感器前方。
串口监视器应显示:
蜂鸣器应开启。
KiwisIoT仪表盘应显示:
这表明PIR传感器、NodeMCU、蜂鸣器、Wi-Fi连接以及KiwisIoT仪表盘已正常协同工作。
KiwisIoT仪表盘
NodeMCU将运动状态发送至KiwisIoT仪表盘的通道1。
仪表盘显示:
这使得用户能够远程监控运动传感器,而不仅仅依赖于串口监视器。
故障排除
PIR传感器未检测到运动
检查:
- PIR VCC连接
- PIR GND连接
- PIR OUT连接至D5
- PIR传感器调整
- 传感器初始化时间
蜂鸣器无法工作
检查:
- 蜂鸣器正极连接至D6
- 蜂鸣器负极连接至GND
- 蜂鸣器与电路兼容性
KiwisIoT未接收数据
检查:
- Wi-Fi名称和密码
- 互联网连接状态
- KiwisIoT主题ID
- 频道编号
- KiwisIoT库是否已安装
- setup()中是否调用kiwisiot.begin()
- loop()中是否调用kiwisiot.run()
结论
基于物联网的运动检测与报警系统提供了一种简便的方式,将运动感应、本地警报、Wi-Fi通信和云端监控功能集成在一起。
PIR传感器用于检测移动,NodeMCU处理传感器信号,并通过蜂鸣器发出即时的本地警报。同时,运动状态会被发送至KiwisIoT,以便通过仪表盘进行监控。
本项目是开发更高级物联网安全与监控应用的理想起点。
本文编译自hackster.io





