1. 项目概述与环境搭建:了解温室监控项目需求,安装Python与必要的库
各位同学,咱们今天正式开始这门课。说实话,每次带新项目,我最怕的就是一上来就敲代码。你连项目要干啥都没搞清楚,写出来的代码十有八九要返工。所以,咱们先花点时间,把温室监控这个项目彻底聊透。
1.1 这个项目到底要做什么?
想象一下,你是一个温室管理员。你关心什么?
- 温度别太高,也别太低——作物会死
- 湿度要合适——太干太湿都不行
- 光照得够——植物要光合作用
- 土壤别太干——根会渴死
嗯,说白了,就是四个核心指标:温度、湿度、光照强度、土壤湿度。
那咱们这个项目要干啥?
- 实时显示:在网页上看到当前的数据,比如“现在温度28.5°C”
- 历史记录:过去24小时、一周的数据都能查
- 数据可视化:画个折线图,一眼看出趋势
- 报警功能:温度超过35°C,系统得提醒你
我个人习惯,做项目前先画个简单的功能脑图。你想想看,如果连需求都没理清,后面改代码改到崩溃是常有的事。
✅ 传感器数据采集(模拟数据)
✅ 数据存储(SQLite数据库)
✅ Web实时显示(Flask框架)
✅ 历史数据查询(按时间筛选)
✅ 数据可视化(Matplotlib生成图表)
✅ 阈值报警(超限提醒)
1.2 为什么选这些工具?
你可能要问:老师,为啥用Flask不用Django?为啥用SQLite不用MySQL?
我跟你讲,选工具要看场景。咱们这个项目,说白了就是个轻量级的监控系统,不需要复杂的用户权限管理,也不需要高并发。Flask就够用了,轻巧灵活。我在项目中遇到过用Django做小项目的情况,配置起来那叫一个繁琐,杀鸡用牛刀了属于是。
至于SQLite,它就是个文件数据库,不需要单独安装数据库服务。你想想看,温室里可能就一台树莓派或者旧电脑在跑,装个MySQL多费劲。SQLite直接读写文件,简单粗暴,够用。
Matplotlib呢,是Python里最成熟的绘图库。虽然有人说它丑,但功能是真的强。咱们后面会用它画温度曲线、湿度柱状图,效果还不错。
1.3 环境搭建:一步一步来
好,理论说完了,咱们动手。先把Python装上。
第一步:安装Python
我建议你用Python 3.8以上版本。为什么?因为3.8以下有些库的兼容性不太好,我踩过这个坑。
- Windows用户:去python.org下载安装包,记得勾选“Add Python to PATH”
- Mac用户:用Homebrew安装,命令是
brew install python3 - Linux用户:
sudo apt install python3 python3-pip
装完之后,打开终端(Windows叫命令提示符),输入:
python --version
如果看到类似 Python 3.9.7 这样的输出,说明装好了。
python -m venv venv然后激活:Windows用
venv\Scripts\activate,Mac/Linux用 source venv/bin/activate
第二步:安装必要的库
咱们需要三个核心库:Flask、SQLite(Python自带)、Matplotlib。
SQLite不用装,Python标准库自带。你只需要装Flask和Matplotlib:
pip install flask
pip install matplotlib
如果你用的是虚拟环境,记得先激活再安装。
装完之后,验证一下:
python -c "import flask; print(flask.__version__)"
python -c "import matplotlib; print(matplotlib.__version__)"
没有报错,就说明装好了。
1. 换国内镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib2. 或者用梯子,你懂的。
1.4 项目目录结构
嗯,这里要强调一下。很多新手喜欢把所有文件堆在一个文件夹里,看着就头疼。我建议你从一开始就建立清晰的目录结构:
greenhouse_monitor/
├── app.py # Flask主程序
├── database.py # 数据库操作
├── sensor.py # 模拟传感器数据
├── templates/ # HTML模板文件夹
│ └── index.html # 主页面
├── static/ # 静态文件
│ └── style.css # 样式文件
└── data/ # 数据库文件存放
└── greenhouse.db # SQLite数据库文件
你想想看,这样分门别类,以后找文件多方便。我在项目中见过那种几千行代码写在一个文件里的,维护起来简直是噩梦。
1.5 第一个测试:跑通Flask
咱们先写个最简单的Flask应用,验证环境没问题。
新建一个文件叫 app.py,输入以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "温室监控系统启动成功!"
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
然后在终端运行:
python app.py
打开浏览器,访问 http://127.0.0.1:5000,如果看到“温室监控系统启动成功!”,恭喜你,环境搭建完成!
debug=True 表示调试模式,代码改了自动重启,省得你手动刷新。host='0.0.0.0' 表示允许局域网内其他设备访问,方便你用手机测试。port=5000 是端口号,你可以改成别的,比如8080。
1.6 避坑指南
最后,分享几个我踩过的坑:
- 端口被占用:有时候5000端口被其他程序占了,换个端口就行,比如5001
- 中文乱码:Python文件头部加上
# -*- coding: utf-8 -*- - Matplotlib中文显示问题:默认字体不支持中文,后面我会教你怎么设置
- 虚拟环境忘激活:装了库但导入报错,八成是没激活虚拟环境
好了,环境搭建就到这里。下一章咱们开始写传感器数据模拟和数据库操作。记住,基础打牢了,后面才能跑得快。