littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于Python和Flask的智能家居湿度控制系统

项目简介

KaindorfThings 是一个基于物联网(IoT)的智能家居项目,借助 ESP8266 模块监控环境湿度并控制灯光系统。项目涵盖硬件和软件组件,能让用户依据湿度水平自动控制照明设备。主要面向 SBIM 和 BEST3 等大型活动或教育机构,用于管理展览区的环境照明系统。项目提供基于 Web 的界面和 API 接口,方便对湿度传感器和灯光系统进行监控与管理。

项目的主要特性和功能

  1. 湿度监控:通过湿度传感器实时掌握环境湿度情况。
  2. 自动控制:当湿度低于预设阈值,自动开启照明设备。
  3. Web 界面:提供直观的 Web 用户界面用于监控和控制照明系统。
  4. API 接口:便于其他系统或应用集成使用。
  5. 远程管理:支持远程对系统进行管理和控制。
  6. 移动设备支持:可通过移动设备访问和控制系统。

安装使用步骤

硬件安装

所需硬件: - 1 个 ESP8266 - 1 个湿度传感器 - 1 个 Raspberry Pi 4 - 1 个 Tradfri 灯泡 - 1 个 Tradfri 遥控器 - 1 个 Tradfri 网关 - 1 个带内置交换机的路由器(如 Buffalo 路由器)

软件安装

服务器端安装

  1. 复制项目仓库(此处原文档未给出具体命令)。
  2. 安装依赖: bash sudo apt install libtools autoconf
  3. 安装 CoAP 客户端: bash ./install-coap-client.sh
  4. 创建用户和 PSK: bash coap-client -m post -u "Client_identity" -k "<Gateway Security Code>" -e "{\"9090\":\"<Nutzername>\"}" "coaps://<Gateway IP>:5684/15011/9063"
  5. 测试 CoAP 命令:使用 coapcommands.txt 文件中的示例命令进行测试。
  6. 安装 Python 依赖: bash pip install flask
  7. 启动服务器: bash python3 app/core.py
  8. 访问 Web 界面:在浏览器中访问 localhost:5000 查看。

传感器端安装

  1. 在 VSCode 中安装 PlatformIO 扩展。
  2. main.cpp 文件中配置 WiFi 和 Server IP 参数。
  3. 使用 PlatformIO 将代码上传到 ESP8266。
  4. 将 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】