树莓派 + DHT11 + ThingSpeak:打造你的第一个物联网项目
物联网 (IoT) 正在重塑我们与日常设备的交互方式。通过将传感器数据上传云端,你可以随时随地监控和管理环境。如果你是 IoT 新手,一个简单的温度、湿度和光照监测器是绝佳的入门项目。
在潮湿的东北夏季,地下室环境变化剧烈。我的工作室位于地下室,虽有除湿机保持干燥,但温度仍低于室外夏季气温。我想精确掌握其温湿度变化,由此萌生了这个首个 IoT 项目。
DHT11 传感器价格低廉,可读取温度和相对湿度。虽非实验室级精度,但监测地下室环境绰绰有余。我还加入了一个廉价光敏电阻,检测灯光是否遗忘关闭。
与其自建 Web 服务器,我选择了 ThingSpeak,这是一个提供简单 API 用于发布和可视化传感器数据的云服务。
步骤 1:项目所需材料
我们将在面包板上原型验证,无需焊接。设计验证后可迁移至 PCB。
硬件:
- 树莓派 2 及 SD 卡、Raspbian 系统
- USB 电源适配器
- USB 数据线
- 面包板和跳线
- 2 × DHT11 传感器
- 2 × 10 kΩ 电阻
- 2 × 光敏电阻
- 2 × 1 µF 电容
步骤 2:准备树莓派
首先在树莓派上安装 Raspbian。如需帮助,参考 Soldering Sunday 指南 或官方 树莓派 OS 安装指南。
接着启用 Python 的 GPIO 访问支持。你需要 Adafruit GPIO 和 DHT 库。按官方 Adafruit 教程操作:
步骤 3:理解 GPIO 引脚
GPIO(通用输入/输出)引脚是树莓派软件与外部硬件的桥梁。所有树莓派型号共享 1–26 号引脚;新款增加 27–40 号。务必核对物理引脚号与代码中使用的 GPIO 编号,避免接错线。
深入了解请参考 GPIO 教程。
步骤 4:搭建电路
接线前务必关闭树莓派电源,防止损坏。使用杜邦线(母头接树莓派排针,公头接面包板)。
连接如下:
- DHT11 — 引脚 1 接 3.3V,引脚 2 接树莓派 GPIO 23 (物理引脚 16) 并接 4.7 kΩ 上拉电阻到 3.3V,引脚 4 接地。
- 光敏电阻 — 一脚接 3.3V,另一脚接树莓派 GPIO 24 (物理引脚 18)。在光敏电阻引脚与地之间并联 1 µF 电容滤波。
对照附带的 Fritzing 示意图和照片核对接线。
步骤 5:配置 ThingSpeak 进行 IoT 数据管理
访问 ThingSpeak,注册免费账号并新建频道。命名频道及其字段(如 Temperature、Humidity、Light)。注意字段顺序,决定后续数据上传的映射。
选择频道可见性(公开/私有),可选填写位置。复制频道的 Write API Key,Python 脚本发布数据时需要它。
硬件接好、频道配置完毕后,即可编写 Python 脚本读取传感器值并上传 ThingSpeak。脚本运行后,你的地下室环境将随时随地可见。
制造工艺
- 树莓派多路DS18B20 1-Wire温度监测:接线与编程全指南
- 树莓派与 Python 构建远程温度传感器:分步实战指南
- IoT 入门教程:树莓派流式传输温度数据
- 气象站接入 CWOP 实战指南:公民天气观测计划
- 树莓派传感器数据融合实战:GPS 与 MPU‑9150 IMU 的 I²C 与 UART 接入
- 树莓派与 BrickPi 构建 ThingSpeak 温度监测系统
- 树莓派多传感器温度光照监测系统:DS18B20 实战构建
- 树莓派传感器与执行器控制实战:加速度计、舵机与数据流
- 树莓派自动化气雾栽培系统:湿度传感器智能控制
- 掌握树莓派 GPIO:在 B+/Model 2 上接入 PIR 运动传感器
- 将 Acconeer A111 脉冲雷达与树莓派集成:实用指南
- 树莓派 3 接 DHT11 传感器上传数据到 ThingsIo.ai 云平台