项目简介
KaindorfThings 是一个基于物联网(IoT)的智能家居项目,借助 ESP8266 模块监控环境湿度并控制灯光系统。项目涵盖硬件和软件组件,能让用户依据湿度水平自动控制照明设备。主要面向 SBIM 和 BEST3 等大型活动或教育机构,用于管理展览区的环境照明系统。项目提供基于 Web 的界面和 API 接口,方便对湿度传感器和灯光系统进行监控与管理。
项目的主要特性和功能
- 湿度监控:通过湿度传感器实时掌握环境湿度情况。
- 自动控制:当湿度低于预设阈值,自动开启照明设备。
- Web 界面:提供直观的 Web 用户界面用于监控和控制照明系统。
- API 接口:便于其他系统或应用集成使用。
- 远程管理:支持远程对系统进行管理和控制。
- 移动设备支持:可通过移动设备访问和控制系统。
安装使用步骤
硬件安装
所需硬件: - 1 个 ESP8266 - 1 个湿度传感器 - 1 个 Raspberry Pi 4 - 1 个 Tradfri 灯泡 - 1 个 Tradfri 遥控器 - 1 个 Tradfri 网关 - 1 个带内置交换机的路由器(如 Buffalo 路由器)
软件安装
服务器端安装
- 复制项目仓库(此处原文档未给出具体命令)。
- 安装依赖:
bash sudo apt install libtools autoconf
- 安装 CoAP 客户端:
bash ./install-coap-client.sh
- 创建用户和 PSK:
bash coap-client -m post -u "Client_identity" -k "<Gateway Security Code>" -e "{\"9090\":\"<Nutzername>\"}" "coaps://<Gateway IP>:5684/15011/9063"
- 测试 CoAP 命令:使用
coapcommands.txt
文件中的示例命令进行测试。 - 安装 Python 依赖:
bash pip install flask
- 启动服务器:
bash python3 app/core.py
- 访问 Web 界面:在浏览器中访问
localhost:5000
查看。
传感器端安装
- 在 VSCode 中安装 PlatformIO 扩展。
- 在
main.cpp
文件中配置 WiFi 和 Server IP 参数。 - 使用 PlatformIO 将代码上传到 ESP8266。
- 将 ESP8266 连接到 Raspberry Pi,并确保所有硬件正确连接。
API 端点
/api/on
:打开灯光/api/off
:关闭灯光/api/on/level?lightlevel={}
:设置灯光亮度/api/moisturedata
:接收湿度传感器数据,当湿度低于 60 时开启灯光/api/moistureout
:返回当前湿度值
已知问题
- 扩展 Web 服务器/API 功能时,避免过快发送过多 CoAP 请求,以防 Ikea 网关崩溃。
- 大型活动中,建议将路由器的 WLAN 频道设置为 13,避免与其他热点冲突。
- 灯光有时会自动闪烁,可能是网关或灯光本身问题。
未来计划
- 实现自动获取 Ikea 设备或组 ID 的功能,避免手动更改源代码。
- 改进灯光闪烁功能,避免网关过载。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】