树莓派构建稳健传感器 API:基于 GY‑91 多功能模块的 Flask 实现
学习在树莓派上创建可靠的 Flask API,从 GY‑91 多传感器模块读取温度、气压、湿度等数据。指南涵盖接线、软件环境搭建与可复用示例代码。
通过 GPIO 连接传感器
GY‑91 板载 4 脚 I²C 接口。按下列连接:
- 3.3V → 引脚 1 (3V3POWER)
- GND → 引脚 6 (GROUND)
- SCL → 引脚 5 (I²C Clock)
- SDA → 引脚 3 (I²C Data)
具体引脚颜色与布局请参考 GY‑91 原理图。
准备 Python 依赖
树莓派安装 Python 3。以下命令从源码编译安装最新 3.6.x,确保后续传感器库所需全部依赖就绪。
$ sudo apt-get update
$ sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
$ tar xf Python-3.6.5.tar.xz
$ cd Python-3.6.5
$ ./configure
$ make
$ sudo make altinstall
安装轻量 Web 栈暴露传感器数据:
$ pip3 install flask flask-cors flask-restful
示例代码
克隆含最小 Flask API 骨架与传感器封装的现成仓库:
$ git clone https://gist.github.com/wdelenclos/4f0c4b8d564aa5c58f47653fd184eaa7
核心逻辑从 bme280 驱动拉取数据,该驱动与 GY‑91 上的 MPU9250 与 BMP280 芯片通信。单行获取所有读数:
temperature, pressure, humidity = bme280.readBME280All()
其余路由为标准 Flask 处理器,返回最新传感器值 JSON。
运行 API
本地启动服务:
$ python3 app.py
后台持续运行可用:
$ sudo nohup python3 app.py &
演示
启动后访问 https://your‑pi‑ip:5000/status 查看实时传感器读数 JSON。原文示例展示如何用 Ajax 调用此端点并在 Web 仪表盘展示。
欢迎评论区提问或定制需求。
来源:Environmental sensor API with a RPi
制造工艺
- 树莓派传感器数据融合实战:GPS 与 MPU‑9150 IMU 的 I²C 与 UART 接入
- 树莓派接 KY‑033 循迹/门状态传感器:简易 Python 实现
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 掌握树莓派 GPIO:在 B+/Model 2 上接入 PIR 运动传感器
- 将 Acconeer A111 脉冲雷达与树莓派集成:实用指南
- Python/MicroPython 传感器记录仪:无缝写入 Google Sheets
- 树莓派摄像头安装鸟屋完整指南:NoIR 相机、LED 补光与环境监测
- Portenta H7 对接 MAX6675 热电偶温度传感器教程
- Arduino Nano高速摄影控制器 – 定格水滴碰撞瞬间
- K30 CO₂ 传感器:室内空气质量实时监测
- 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
- Python 模块导入实战指南:从基础到包管理