【物联网】什么是 Raspberry Pi?

发布于:2025-08-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

好问题 👍,我帮你把 Raspberry Pi 在你作业里的作用讲透彻(和我刚才解释的 Arduino Nano 33 IoT 对应起来),这样你能更清晰理解整个 IoT 管道。


1. 什么是 Raspberry Pi

  • Raspberry Pi 是一款低成本、信用卡大小的 单板计算机,可以跑 Linux 系统(通常是 Raspberry Pi OS)。
  • 它有完整的 操作系统、USB 接口、网络接口、GPIO 针脚,所以既能像电脑一样运行程序,又能和传感器、硬件交互。
  • 在 IoT 项目里,它通常扮演 “边缘网关(Edge Gateway)” 的角色:负责把 本地设备(Arduino、传感器)和云端(MQTT、AWS)连接起来

2. 为什么在你的项目里选择 Raspberry Pi

在 Assessment 1 的设计中:

  • Arduino Nano 33 IoT 功能有限(BLE 外设 + 传感器采集 + 控制 LED),不能直接跑 MQTT 客户端。
  • Raspberry Pi 功能强大,可以运行 Python 脚本,连接到 AWS EC2 上的 Mosquitto (MQTT Broker)

因此 Pi 在项目中的作用是:

  1. 作为 BLE Central(中心设备)

    • 使用 Python bleak 库连接到 Arduino(BLE Peripheral)。
    • 从 Arduino 读取温湿度数据。
    • 把云端命令写入 Arduino(控制 LED)。
  2. 作为 MQTT Client

    • 使用 Python paho-mqtt 库和 AWS EC2 上的 Mosquitto broker 通信。
    • 把传感器数据上传到云端。
    • 接收云端命令并转发给 Arduino。

👉 简单理解:
Arduino = IoT 节点(小传感器/小执行器)
Raspberry Pi = IoT 网关(本地大脑 + 云端桥梁)


3. 怎么方便理解

你可以把整个系统类比成一个 智能家居系统

  • Arduino = 温湿度探头/智能灯泡(硬件节点)。
  • Raspberry Pi = 家里的智能音箱(本地控制中心)。
  • AWS MQTT = 云端(阿里云/亚马逊云/小米云)。

流程:

  • Arduino 测温度 → BLE 发给 Pi → Pi 上传到云端。
  • 云端下发“开灯”命令 → Pi 收到 → BLE 发给 Arduino → Arduino 灯亮。

4. 现实生活中的应用

Raspberry Pi 在现实 IoT 应用里常用来做:

  • 智能家居网关 → 连接 Zigbee 灯泡、蓝牙传感器,再上传到云端。
  • 工业边缘计算 → 在工厂里采集传感器数据,本地预处理后上传。
  • 教育实验 → 因为便宜好用,全球学生都用它来学 IoT/AI/嵌入式。

5. 作业1代码里和 Raspberry Pi 相关的部分

你需要在 Pi 上运行 两个 Python 脚本

  1. 上行 (Upstream):bleread_mqttpub.py

    • bleak 连接 Arduino Nano 33 IoT
    • 读取 dhtCharacteristic(温湿度数据)
    • paho-mqtt 发布到 AWS MQTT broker
  2. 下行 (Downstream):mqttsub_blewrite.py

    • paho-mqtt 订阅主题 ifn649/proj1/actuators/led
    • 收到 "LED_ON" / "LED_OFF" 命令
    • bleak 写入 Arduino 的 ledCharacteristic
    • Arduino 控制板载 LED

✅ 总结:
Raspberry Pi = IoT 网关,负责 BLE ↔ MQTT 的桥接。

  • 它让 Arduino(BLE 节点)能“说云端听得懂的话(MQTT)”。
  • 没有它,你的系统就不能实现从 传感器数据 → 云端 → 执行器控制 的完整闭环。


网站公告

今日签到

点亮在社区的每一天
去签到