构建一个简单的物联网灯光监控系统
在本项目中,我们将利用ESP8266 Wi-Fi开发板和LDR传感器,构建一个简单的物联网灯光监控系统。
ESP8266读取LDR传感器的光照强度,并通过Wi-Fi将传感器数据发送至KiwisIoT云平台。用户可通过在线仪表板实时查看这些数据。
这是一个适合初学者的简单项目,帮助理解完整的物联网数据流:
传感器 → ESP8266 → Wi-Fi → 云端 → 仪表板
同样的原理也可扩展到温度、湿度、气体、运动、压力等其他传感器。
为什么选择这个项目?
许多初学者的物联网项目会使用Blynk等平台,将微控制器连接到仪表板。而本项目展示了另一种方法:将ESP8266传感器节点连接到KiwisIoT云平台,并远程可视化传感器数据。
该项目的目标不仅在于读取LDR值,更在于理解传感器数据如何从物理硬件传输到云端仪表板。
工作原理
该项目采用以下架构:
LDR 用于检测周围光线的变化。ESP8266 通过其模拟输入读取传感器值,并将读数通过网络发送至 KiwisIoT。
1 — 硬件准备
所需组件:
•NodeMCU ESP8266
•LDR 传感器/模块
•面包板
•跳线
•USB 数据线
•计算机
如果你使用的是LDR模块,它通常会提供一个模拟输出,可连接到ESP8266的ADC输入端。
2 — 连接LDR
对于LDR模块,典型的连接方式如下:
在接线前,请先检查你所使用的LDR模块和ESP8266开发板,因为模块引脚标识和ADC特性可能有所不同。
本项目中重要的连接是将LDR的模拟输出连接到ESP8266的模拟输入端。
3 — 安装Arduino IDE
在电脑上安装Arduino IDE。
然后在Arduino IDE中添加ESP8266板支持,并从“工具 → 板子”菜单中选择与你的硬件匹配的正确ESP8266开发板。
4 — 安装KiwisIoT Arduino库
安装KiwisIoT Arduino库。
该库使ESP8266应用能够与KiwisIoT平台进行通信。
安装完成后,如需要请重启Arduino IDE。
5 — 创建KiwisIoT面板
现在我们将创建一个KiwisIoT云仪表板,用于可视化LDR传感器的数据。
如果你已有账户,请使用邮箱地址和密码登录。
如果你是新用户,请先创建一个KiwisIoT账户。
登录后,打开“我的面板”。
点击:
创建新面板
为您的仪表板起一个合适的名称。
对于本项目,我们可以使用:
面板名称:ESP8266 LDR 监控
该面板将用于显示从 ESP8266 接收的传感器数据。
6 — 获取仪表板主题 ID
创建面板后,打开刚创建的仪表板。
在仪表板右上角,您会看到:
主题ID
例如:
每个仪表板的实际主题ID都会不同。
点击主题ID旁边的复制图标,然后复制它。
我们将使用这个主题ID来编写ESP8266程序。
数据传输流程如下:
重要提示:请使用您自己的主题ID,不要复制本教程中显示的示例主题ID。
7 — 添加传感器小部件
在KiwisIoT仪表板中,您会看到“小部件”面板。
KiwisIoT提供了多种用于显示和控制物联网数据的小部件。
对于本项目,我们可以使用:
仪表盘(Gauge)
仪表盘小部件可用于显示当前的LDR模拟值。
将仪表盘小部件从小部件列表拖拽到仪表板中。
如果您希望可视化光照传感器数值随时间的变化,也可以添加图表小部件。
对于基础项目,我们建议使用:
仪表盘 + 图表
8 — 配置仪表盘小部件
打开仪表盘小部件的设置。
根据ESP8266的LDR数据配置该小部件。
名字
使用:
通道ID
使用:
通道ID必须与ESP8266程序中使用的通道ID一致。
在本项目中,代码通过以下方式发送传感器值:
因此,Gauge小部件应使用:
通道ID = 1
单位
你可以使用:
或:
因为LDR输出的是模拟传感器读数,而不是像°C这样的校准物理单位。
最小值
对于典型的ESP8266 10位ADC:
最大值
实际可用范围可能取决于你的ESP8266板和LDR电路。
点击:
更新
以保存小部件配置。
9 — 配置ESP8266代码
现在打开Arduino IDE。
使用KiwisIoT Arduino库将ESP8266连接到KiwisIoT平台。
基本配置如下:
10 — 输入你的KiwisIoT信息
有三个重要值需要替换:
a. Wi-Fi名称
将:
替换为你的Wi-Fi网络名称。
示例:
b. Wi-Fi密码
将:
替换为你的Wi-Fi密码。
c. 仪表盘主题ID
将:
替换为你从KiwisIoT仪表板复制的主题ID。
示例:
请使用你自己的主题ID。
11 — 选择LDR传感器引脚
LDR的模拟输出连接到ESP8266的模拟输入。
对于NodeMCU ESP8266:
因此代码中使用:
如果你使用的是其他板或传感器连接,请根据硬件调整传感器引脚。
基本连接方式如下:
12 — 上传程序
使用USB将ESP8266连接到电脑。
在 Arduino IDE 中:
工具 → 板子 → 选择你的 ESP8266 板
然后选择正确的:
工具 → 端口
点击:
上传
上传完成后,打开:
串口监视器
将波特率设置为:
你应该能看到类似以下的传感器读数:
实际数值会根据光照强度而变化。
13 — 在 KiwisIoT 上监控 LDR
返回你的 KiwisIoT 控制面板。
此时,仪表盘上的 Gauge 组件应显示从 ESP8266 接收到的传感器值。
完整的通信流程如下:
14 — 测试不同光照条件
现在测试项目在不同光照环境下的表现。
测试 1 — 正常室内照明
观察当前的模拟值。
测试 2 — 使用手遮挡 LDR
用手遮住 LDR。
传感器值应该发生变化。
测试 3 — 使用手电筒
将手电筒对准 LDR。
模拟读数应再次改变。
你可以同时在 Arduino 的串口监视器和 KiwisIoT 控制面板中观察这些变化。
15 — 添加图表
为了更好地可视化,向控制面板添加一个图表组件。
使用相同的配置来设置图表。
现在项目可以同时显示:
当前光照值 → 仪表盘上的 Gauge
和
光照值历史 → 图表
这使得项目在实时物联网监控方面更具实用性。
16 — 理解 KiwisIoT 架构
最终系统由五个主要层级组成:
17 — 扩展项目
一旦基本的 LDR 监控系统运行正常,您可进一步扩展其功能,包括:
•自动灯光控制
•继电器控制
•智能路灯
•光照强度告警
•历史数据可视化
•多传感器支持
•数据记录
•异常检测
•传感器预测
•基于 AI 的分析
•ESP32 支持
•基于 MQTT 的物联网应用
结论
在本项目中,我们将一个LDR传感器连接到ESP8266,并通过Wi-Fi将传感器数据发送至KiwisIoT云平台。
该项目展示了完整的物联网数据处理流程:
LDR → ESP8266 → Wi-Fi → KiwisIoT → 仪表盘
对于希望学习传感器监控、云物联网仪表盘及互联设备开发的初学者而言,这是一个简单的入门起点。
后续可添加更多传感器和人工智能功能,将这个基础的物联网系统升级为AIoT应用。
本文编译自hackster.io





