使用ESP8266和KiwisIoT设计一个智能车库监控
通过实时监控车辆的在场情况、距离、温度和湿度,可以显著提升车库的智能化水平。在这个项目中,我使用ESP8266 NodeMCU、红外传感器、HC-SR04超声波传感器以及DHT11温湿度传感器,构建了一个简单的智能车库监控系统。
ESP8266收集传感器数据,并通过Wi-Fi将信息发送至KiwisIoT平台,在平台上以实时仪表盘的形式显示数据。
该系统可监控以下四个参数:
•车辆在场状态
•距离
•温度
•湿度
该项目是一个简单的示例,展示了如何将传感器、ESP8266和物联网仪表板结合在一起,构建一个联网的监控系统。
工作原理
红外传感器用于检测车库内是否有车辆。
当检测到车辆时,系统会向KiwisIoT发送“True”;当没有车辆时,则发送“False”。
HC-SR04超声波传感器用于测量传感器与物体之间的距离,可用于监控车库内车辆的位置。
DHT11传感器用于测量车库的温度和湿度。
所有传感器读数均由ESP8266收集,并发送至不同的KiwisIoT通道。
传感器数据大约每两秒更新一次。
电路连接
红外传感器
红外传感器输出端连接至D7。
HC-SR04超声波传感器
超声波传感器使用D1作为触发信号,D2作为回波信号。
注意:如果HC-SR04产生5V的回波信号,请在将其连接到ESP8266 GPIO之前,使用合适的电压分压器或电平转换器。
DHT11
DHT11的数据引脚连接至D5。
引脚配置
KiwisIoT 配置
传感器数据通过四个通道发送至 KiwisIoT 平台。
创建一个 KiwisIoT 仪表板,并为这四个通道配置相应的小部件。
在 Arduino 代码中,将 Wi-Fi 和 Topic ID 的占位符替换为您的实际信息。
Arduino IDE 设置
我使用 Arduino IDE 1.8.19 编程 ESP8266 NodeMCU。
在上传程序前,请先安装 ESP8266 板件和所需库。
所需库:
•ESP8266WiFi
•KiwisIoT
•DHT
选择:
Tools → Board → ESP8266 Boards → NodeMCU 1.0 (ESP-12E Module)
然后选择正确的 COM 端口并上传程序。
Arduino 代码
理解代码
车辆检测
使用 digitalRead() 函数读取红外传感器的输出。
当传感器输出为低电平时,系统认为已检测到车辆。
结果发送至 KiwisIoT 通道 0。
距离测量
HC-SR04 发送超声波脉冲,并测量回波返回的时间。
距离计算公式如下:
计算出的距离值随后发送至 KiwisIoT 通道 1。
温度与湿度
DHT11 提供温度和湿度读数。
温度数据发送至通道 2。
湿度数据发送至通道 3。
数据更新
ESP8266 每约 2 秒读取并发送一次传感器数据,同时 kiwisiot.run() 保持物联网通信处于活动状态。
测试
上传程序后,我以115200波特率打开了Arduino串口监视器。
ESP8266成功读取了传感器数据,并将信息发送至KiwisIoT。
示例输出如下:
KiwisIoT仪表板
KiwisIoT仪表板通过独立的组件显示四个参数。
仪表板包含:
•检测到的车辆
•距离
•温度
•湿度
测试期间,仪表盘显示:
这为通过物联网仪表盘远程监控车库提供了一种简便的方式。
工作流程
结果
智能车库监控系统成功通过ESP8266 NodeMCU采集了红外传感器、超声波传感器和DHT11的数据。
传感器读数通过Wi-Fi传输至KiwisIoT,并在仪表板上显示。
结论
本项目展示了如何使用ESP8266和几个简单的传感器来构建一个联网的车库监控系统。红外传感器用于检测车辆是否存在,超声波传感器测量距离,DHT11则监测温度和湿度。
通过将ESP8266连接到KiwisIoT,所有这些信息都可以通过一个统一的仪表盘实时查看。
该项目也可作为开发更高级智能车库、停车及物联网自动化应用的起点。
本文编译自hackster.io





