练习:构造 IoT 硬件

已完成

在本单元中,你将了解本模块中使用的硬件。 然后,你将构造用于监视洞穴条件和控制风扇的设备。

GPIO 标头

Raspberry Pi 上的此引脚阵列称为常规用途输入/输出 (GPIO) 标头。

Photo of a Raspberry Pi 3 with the GPIO header highlighted.

此通用引脚标头支持使用各种协议的通信。 下一单元将详细介绍支持的协议。

线路板

线路板是线路的快速原型制作工具。

A half-sized breadboard with the bus strips (red) and socket strips (cyan) highlighted.

线路板按行和列组织,称为条。 边缘上的总线条带(在上图中以红色表示)在线路板的整个长度上提供连续连接。 它们用于为线路供电。 利用朝向线路板(青色)中间的插座条可以将组件连接在一起,而无需焊接或使用电线。

Photo of a breadboard illustrating how connections work in socket strips.

例如,插入到上图中行 1、列 a 的任何引脚也将连接到插入行 1、列 b-e 的任何引脚。 在分隔线的另一侧,行 1f-j 以类似方式连接。

可以将线路板与 GPIO 分线板配对,以简化使用 GPIO 引脚的原型设计过程。

测量环境条件

若要测量温度和湿度,将使用常用的低成本环境传感器 BME280。

Photo of two examples of available BME280 breakouts.

BME280 传感器芯片已安装在分线板上。 只需将分线板连接到 Raspberry Pi 上的内部集成线路 (I2C) 总线。 可在 GPIO 标头上访问 I2C 总线。

注意

BME280 分线板的制造商有很多。 大多数设计都类似,并且制造商不应对功能进行任何更改。 此模块是使用先决条件中的 Adafruit 示例构建的。 确保你的 BME280 分线板包括一个内置集成电路 (I2C) 接口。

提示

大多数 BME280 分线在销售时均未连接引脚标头。 因此,大多数需要焊接组装。 如果不知道如何焊接,请不要气馁! 焊接并不像你想象的那么难! 有很多教程和视频可以帮助你入门。

控制风扇

你要生成的设备与你为实际设备生成的内容略有不同。 在实际方案中,将使用如下的中继模块来控制风扇的电源:

Photo of an example of a generic 5V relay module.

中继是一种电磁交换机,可让你使用小电流来控制大电流。 当小电流通过中继上的低压输入时,它会激活交换机。 激活交换机将完成另一条线路。

实际设备可能会使用此中继来控制风扇的电源。 一个足够大以保持洞穴湿度的风扇通常需要大的交流电流。 出于安全目的,并且为了持续关注代码,设备将使用 LED 来表示中继。 亮起的 LED 将指示中继为“开”。

若要激活 LED,代码将激活 GPIO 引脚以用于输出。 GPIO 引脚将向 LED 发送电流,该 LED 将亮起。 这与用来将电流发送到中继并激活交换机的过程相同。

练习:构造 IoT 设备

你将使用线路板来生成设备。 完成的线路板应如下图所示。

Fritzing diagram illustrating the breadboard solution.

构造设备时请参考上图。

  1. 如图所示,将 GPIO 分线和 BME280 分线放置在线路板上。

  2. 在线路板上放置跳线,将 BME280 连接到 GPIO 分线。

    GPIO 引脚 BME280 分线引脚 图示颜色
    3.3V VIN(有时标记为 3V3) Red
    接地 GND 黑色
    SDA SDI(有时标记为 SDA) 蓝色
    SCL SCK(有时标记为 SCL) Orange
  3. 在线路板上放置跳线,将 LED 连接到 GPIO 分线。

    连接此... ...到此 图示颜色
    GPIO 引脚 21 LED 阳极
    (较长,正极引线)
    绿色
    LED 阴极
    (较短,负极引线)
    1.0K 欧姆电阻
    (任一端)
    不可用
    1.0K 欧姆电阻
    (另一端)
    接地 不可用

    注意

    需要使用电阻器来确保 LED 不会因电流过大而烧坏。 在真实的中继方案中,不需要电阻器。

Photo of a completed breadboard prototype.

连接 Raspberry Pi

当 Raspberry Pi 断电时,使用带状电缆将 GPIO 分线连接到 Raspberry Pi 的 GPIO 接头。 启动 Raspberry Pi。

下一单元将介绍 .NET IoT 库。