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安装

  1. 访问 Postman官网 下载对应系统版本。
  2. 运行安装程序,注册或跳过登录(可使用离线轻量版)。
  3. 安装完成后创建新集合(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安装(推荐)

  1. 访问 DBeaver官网,下载Community免费版。
  2. 安装时勾选“关联.sql文件”和“添加桌面快捷方式”。
  3. 首次启动时选择MySQL驱动,填写连接信息:主机 localhost、端口 3306、用户名 root。

2.4.2 HeidiSQL安装

  1. 访问 HeidiSQL官网 下载便携版或安装版。
  2. 安装后打开,点击“新建”创建MySQL会话。
  3. 输入服务器地址、端口、用户名密码,点击“打开”即可连接。

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 开发环境架构总览

下图展示了本章搭建的开发环境各组件之间的关系:

物联网采集平台开发环境架构 开发者 Postman / curl Flask / FastAPI DBeaver / HeidiSQL Python 虚拟环境 MySQL 数据库 说明:开发者通过Postman/curl发送HTTP请求到Flask/FastAPI服务,服务在虚拟环境中运行, 数据最终持久化到MySQL数据库,DBeaver/HeidiSQL用于直接查看和管理数据。

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