项目简介
本项目借助Arduino微控制器和TensorFlow Lite机器学习模型,对室内环境的热舒适度进行预测,并通过Web界面实时展示预测结果。系统先通过Python脚本生成数据集并训练模型,之后将模型部署到Arduino设备,结合Web界面实现蓝牙通信与数据呈现,适用于家庭和办公环境,可助力用户智能调控空调温度,降低能源消耗。
项目的主要特性和功能
- 数据生成与模型训练:运用Python脚本生成热舒适度数据集,借助TensorFlow完成模型训练。
- 模型转换与部署:把训练好的模型转换为TensorFlow Lite格式,部署到Arduino Nano 33 BLE Sense或ESP32设备。
- 实时监测与显示:利用Arduino设备实时采集温湿度数据,计算舒适度并通过Web界面展示。
- 多设备支持:支持Arduino Nano 33 BLE Sense和ESP32设备,兼容i2c显示屏和DHT22温湿度传感器。
- Web界面交互:提供基于HTML的Web界面,支持蓝牙连接与数据实时更新。
安装使用步骤
1. Python环境准备
- 安装Python 3及以上版本,同时安装TensorFlow、pandas、pythermalcomfort依赖库。
- 运行
generate_thermal_comfort_data.py
生成数据集,按需调整metValue
和clothesValue
参数。 - 运行
generate_thermal_comfort_model.py
生成TensorFlow模型并保存。 - 运行
convert_to_tflite.py
将模型转换为TensorFlow Lite格式。 - 使用
convert_model.sh
脚本将TFLite模型转换为Arduino可用的C++文件。
2. Arduino环境准备
- 安装Arduino IDE,添加ArduinoBLE、Arduino_HTS221、EloquentTinyML库。
- 打开Arduino项目文件,导入生成的模型文件(如
model.h
)。 - 根据季节设置
CURRENT_MODEL_TYPE
参数为SUMMER
或WINTER
。 - 连接Arduino设备,选择正确端口并上传代码。
3. Web界面使用
- 打开
web
文件夹中的index.html
文件,使用支持BLE的浏览器(如Chrome)访问。 - 点击“Connect”按钮,搜索并配对Arduino设备。
- 配对成功后,Web界面实时显示温湿度及舒适度数据。
4. ESP32设备使用(可选)
- 连接ESP32、i2c显示屏和DHT22温湿度传感器,参考引脚配置图。
- 打开ESP32项目文件,上传代码并运行。
注意事项
- 确保所有依赖库正确安装,按需调整参数。
- 项目模型精度损失约2 - 3%,适用于一般场景,可按需优化。
- 本项目为开源项目,欢迎贡献改进。
下载地址
点击下载 【提取码: 4003】