将 Raspberry Pi 连接到 Azure IoT 中心
本文提供了开始使用Azure IoT 中心将运行 Raspberry Pi OS 的 Raspberry Pi 连接到云的基本步骤。 可以使用物理 Raspberry Pi 设备或联机设备模拟器。
先决条件
在开始本文之前,准备好以下先决条件:
- Azure 订阅。
- Azure 订阅中的 IoT 中心。 如果还没有中心,则可以按照创建 IoT 中心中的步骤进行操作。
- 在 IoT 中心注册的设备。 如果 IoT 中心内没有设备,请按照注册设备中的步骤操作。
使用联机模拟器
选择以下按钮以启动 Raspberry Pi 联机模拟器。
Web 模拟器中有三个区域。
组装区域 - Pi 模拟器的图形描述,包括 Pi 和两台设备之间的连接:
- 连接到 I2C.1 的 BME280 湿度传感器
- 连接到 GPIO 4 的 LED
编码区域 - 一个联机代码编辑器,可在其中使用 Raspberry Pi 进行编码。 默认示例应用程序可从模拟 BME280 传感器收集传感器数据,并将数据发送到 IoT 中心。 该应用程序与真实 Pi 设备完全兼容。
集成控制台窗口 - 显示代码输出的窗口。 在此窗口的顶部,有三个按钮。
运行 - 在编码区域运行应用程序。
重置 - 将编码区域重置为默认示例应用程序。
折叠/展开 - 可使用右侧的按钮折叠/展开控制台窗口。
注意
Raspberry Pi Web 模拟器当前已存档,不再被主动维护。 源代码在 GitHub 上公开:raspberry-pi-web-模拟器。
在 Pi Web 模拟器上运行示例应用程序
在编码区域,请确保自己处理的是默认示例应用程序。 将第 15 行中的占位符替换为 IoT 中心的设备连接字符串。
选择“运行”或在集成控制台窗口中键入
npm start
以运行应用程序。
应看到以下输出,该输出显示传感器数据和发送到 IoT 中心的消息:
使用物理设备
以下部分逐步讲解了如何设置 Raspberry Pi 解决方案,包括:
Raspberry Pi 设备
注意
已在 Raspberry Pi 2 和 Raspberry Pi 3 版块上测试本文中的步骤。
连接到 Pi 的监视器、USB 键盘和鼠标。
运行 Windows 或 Linux 的 Mac 或 PC。
Internet 连接。
16 GB 或更大的 microSD 卡。
USB-SD 适配器或 microSD 卡,用于将操作系统映像刻录到 microSD 卡中。
带有 6 英尺微型 USB 电缆的 5 伏 2 安电源。
安装 Raspberry Pi OS
准备用于安装 Raspberry Pi OS 映像的 microSD 卡。
下载台式机版 Raspberry Pi OS。
a. 台式机版 Raspberry Pi OS(.zip 文件)。
b. 将台式机版 Raspberry Pi OS 映像提取到计算机上的文件夹中。
将台式机版 Raspberry Pi OS 安装到 microSD 卡中。
b. 运行 Etcher 并选择已在步骤 1 中解压缩的 Raspberry Pi OS 映像。
c. 如果尚未选择 microSD 卡驱动器,请选择。
d. 选择“Flash”,将台式机版 Raspberry Pi OS 安装到 microSD 卡中。
e. 在安装完成后,从计算机中移除 microSD 卡。 可以安全地直接移除 microSD 卡,因为在完成时 Etcher 会自动弹出或卸载 microSD 卡。
f. 将 microSD 卡插入到 Pi 中。
启用 SSH 和 I2C
将 Pi 连接到监视器、键盘和鼠标。
启动 Pi,然后使用
pi
作为用户名并使用raspberry
作为密码来登录 Raspberry Pi OS。依次选择 Raspberry 图标 >“首选项”>“Raspberry Pi 配置”。
在“接口”选项卡上,将“SSH”和“I2C”设置为“启用”,然后选择“确定”。
接口 说明 SSH 安全外壳 (SSH) 通过远程命令行远程进入 Raspberry Pi。 SSH 是本文档中向 Raspberry Pi 远程发出命令的首选方法。 I2C 集成电路总线 (I2C) 是一种通信协议,用于与传感器等硬件进行交互。 需要此接口才能连接本文中的物理传感器。 如果没有物理传感器,并且想要使用 Raspberry Pi 设备中的模拟传感器数据,可以将“I2C”保持禁用状态。
注意
若要启用 SSH 和 I2C,可在 raspberrypi.org 和 Adafruit.com 中找到更多参考文档。
将 Pi 连接到网络
通过使用微型 USB 电缆和电源为 Pi 通电。 使用以太网电缆将 Pi 连接到有线网络,或者按照 Raspberry Pi Foundation 中的说明将 Pi 连接到无线网络。 Pi 连接到网络后,需要记下Pi 的 IP 地址。
注意
请确保将 Pi 与计算机连接到同一网络。 例如,如果计算机连接到无线网络,而 Pi 连接到有线网络,则在 devdisco 输出中可能看不到 IP 地址。
在 Pi 上运行示例应用程序
以下示例从 BME280 传感器收集传感器数据(也可以模拟数据 - 如果没有可用硬件),并将其发送到 IoT 中心。
SDK 中 IsInRole 中的声明 | 示例 |
---|---|
Python | iot-hub-python-raspberrypi-client-app |
C | iot-hub-c-raspberrypi-client-app |
节点 | RaspberryPiApp |
注意
这些示例当前已存档,不再被主动维护。