2. 开发环境搭建:Python虚拟环境配置、Flask与FastAPI框架安装、Postman/curl工具准备、数据库客户端(DBeaver/HeidiSQL)安装
在开始物联网采集平台的编码之前,必须搭建一套干净、可复现的开发环境。本章将指导你完成从Python虚拟环境配置到API框架安装,再到接口调试工具与数据库客户端的全流程准备。所有操作均基于Windows 10/11与Python 3.10+,macOS/Linux用户可参照对应命令。
2.1 Python虚拟环境配置
虚拟环境用于隔离不同项目的依赖包,避免全局包冲突。推荐使用Python内置的venv模块,无需额外安装。
2.1.1 创建项目目录与虚拟环境
mkdir iot-platform
cd iot-platform
python -m venv venv
执行后会在iot-platform目录下生成venv文件夹,包含独立的Python解释器与pip。
2.1.2 激活虚拟环境
| 操作系统 | 激活命令 |
|---|---|
| Windows (CMD) | venv\Scripts\activate |
| Windows (PowerShell) | venv\Scripts\Activate.ps1 |
| macOS / Linux | source venv/bin/activate |
激活后终端提示符前会出现(venv)标识,表示当前处于虚拟环境中。
2.1.3 验证环境与升级pip
python --version
pip install --upgrade pip
提示: 每次打开新终端开始开发前,务必先激活虚拟环境。退出环境可使用
deactivate 命令。
2.2 Flask与FastAPI框架安装
本课程将同时使用Flask和FastAPI两个框架:Flask用于快速原型与轻量设备接口,FastAPI用于高性能数据采集与异步处理。两者可共存于同一虚拟环境。
2.2.1 安装Flask
pip install flask
验证安装:
python -c "import flask; print(flask.__version__)"
2.2.2 安装FastAPI与ASGI服务器
pip install fastapi uvicorn
验证安装:
python -c "import fastapi; print(fastapi.__version__)"
2.2.3 框架对比速览
| 特性 | Flask | FastAPI |
|---|---|---|
| 异步支持 | 需额外扩展 | 原生async/await |
| 自动API文档 | 需Flask-RESTx | 内置Swagger/ReDoc |
| 数据校验 | 手动或Marshmallow | Pydantic模型 |
| 性能 | 同步WSGI | 异步ASGI,高并发 |
| 适用场景 | 轻量设备端、原型 | 采集网关、数据服务 |
课程约定: 后续章节中,Flask负责设备注册与配置管理接口,FastAPI负责传感器数据上报与批量查询接口。
2.3 Postman与curl工具准备
API开发过程中需要频繁发送HTTP请求进行调试。Postman提供图形化界面,curl适合命令行快速测试与脚本集成。
2.3.1 Postman安装
- 访问 Postman官网 下载对应系统版本。
- 运行安装程序,注册或跳过登录(可使用离线轻量版)。
- 安装完成后创建新集合(Collection),用于组织物联网平台的API请求。
2.3.2 curl基础用法
Windows 10/11自带curl,macOS/Linux默认已安装。常用命令示例:
# GET请求
curl http://localhost:5000/api/devices
# POST请求(JSON数据)
curl -X POST http://localhost:8000/sensor/data \
-H "Content-Type: application/json" \
-d '{"device_id":"sensor01","temperature":25.6}'
# 查看响应头
curl -I http://localhost:5000/health
注意: 在Windows CMD中使用curl时,JSON字符串需使用双引号包裹,内部双引号需转义。推荐在PowerShell或Git Bash中执行。
2.4 数据库客户端安装
物联网平台采集的数据最终需要持久化存储。本课程选用MySQL作为关系数据库,同时提供DBeaver和HeidiSQL两种客户端工具供选择。
2.4.1 DBeaver安装(推荐)
- 访问 DBeaver官网,下载Community免费版。
- 安装时勾选“关联.sql文件”和“添加桌面快捷方式”。
- 首次启动时选择MySQL驱动,填写连接信息:主机
localhost、端口3306、用户名root。
2.4.2 HeidiSQL安装
- 访问 HeidiSQL官网 下载便携版或安装版。
- 安装后打开,点击“新建”创建MySQL会话。
- 输入服务器地址、端口、用户名密码,点击“打开”即可连接。
2.4.3 客户端对比
| 特性 | DBeaver | HeidiSQL |
|---|---|---|
| 跨平台 | Windows/macOS/Linux | 仅Windows |
| 数据库支持 | MySQL/PostgreSQL/SQLite等20+种 | MySQL/MariaDB/SQL Server |
| ER图生成 | 内置 | 需插件 |
| 启动速度 | 中等(Java) | 快(原生) |
| 推荐场景 | 多数据库、数据分析 | 快速管理MySQL |
建议: 如果你使用Windows且仅操作MySQL,HeidiSQL更轻量;如果需要跨平台或多数据库支持,选择DBeaver。
2.5 开发环境架构总览
下图展示了本章搭建的开发环境各组件之间的关系:
2.6 环境验证清单
完成上述安装后,请逐项确认以下检查点:
| 序号 | 检查项 | 验证方法 |
|---|---|---|
| 1 | 虚拟环境激活 | 终端提示符显示 (venv) |
| 2 | Flask安装成功 | python -c "import flask; print(flask.__version__)" 输出版本号 |
| 3 | FastAPI安装成功 | python -c "import fastapi; print(fastapi.__version__)" 输出版本号 |
| 4 | Postman可启动 | 打开Postman,能创建新请求 |
| 5 | curl可用 | curl --version 输出版本信息 |
| 6 | 数据库客户端连接 | 使用DBeaver或HeidiSQL成功连接本地MySQL |