开始 Raspberry Pi 项目前需要知道的 10 件事

投稿人:Digi-Key's North American Editors

在让大众自由掌控 PC 强大功能的革命中,Raspberry Pi 是核心,为我们提供了一个具有广泛生态支持的易用型平台。虽然该平台直观易用,但工程师和初学者依旧可以受益于使用过 Pi 的用户提供的一些小技巧。

“需要知道的 10 件事”不会尽述所有内容,在线交流论坛将就此提供持续支持。这些有价值的信息可能无法在任何指南或教程中找到,但它们是来之不易的经验总结。这包括选择和格式化 SD 卡、选择 Raspberry Pi 的电源、选择正确的 Wi-Fi 适配器、编程技巧、系统冻结时的操作说明以及如何正确为其供电以免受破坏等方面的意见和建议。

快速浏览这些小技巧,能大幅提升 Raspberry Pi 的首次使用体验,并充分感受单板计算机平台的强大功能。

1: 何时、何种情况下使用 Raspberry Pi

Raspberry Pi 的价格、性能和背后的支持社区,让您在开始所有可能的任务时就几乎无法拒绝该产品。本质上说,Raspberry Pi 是个人计算机。以 Raspberry Pi FoundationRaspberry Pi 3 Model B 为例,此产品基于高达 1.2 GHz 的 ARM® Cortex®-A53。并搭配 1 GB RAM、802.11n 无线局域网、蓝牙 4.1 和低功耗蓝牙、4 个 USB 端口,40 个 GPIO 引脚、完整的 HDMI 端口、以太网、3.5 mm 音频插孔和摄像头及显示器接口。

Raspberry Pi 3 Model B 图片

图 1: Raspberry Pi Foundation 的 Raspberry Pi 3 Model B 基于高达 1.2 GHz 的 ARM Cortex-A53,并具有 1 GB 内存和 802.11n 无线局域网连接。(图片来源: Raspberry Pi Foundation)

从读取温度传感器、控制电机和活塞的机电一体化系统,到作为完整功能计算机,该产品几乎无所不能,还可以执行一些有趣的项目包括视频处理、机器人和远程 3D 打印机控制。

2: 开始运行 Raspberry Pi

Raspberry Pi 旨在运行操作系统,而不仅仅是在裸机上编写代码。最常见的操作系统是一种名为 Raspbian(Raspberry 和 Debian 的混成词)的专用 Linux 版本风格。当然也可以运行其他操作系统,但初学者应坚持使用 Raspbian。

Raspberry Pi 作为独立计算机使用时,将需要所有传统外设,包括鼠标、键盘、SD 卡(Class 10,至少 8 GB,如 Apacer Memory AmericaAP8GMCSH10U1-B)和监视器。

需要一个外部 SD 卡读卡器,以便先将 Pi 映像从单独计算机复制到 SD 卡上。映像复制到 SD 卡后,所有其他作业都可以在 Pi 上完成。一款很好的 SD 卡读卡器是 Assmann WSW Components 的 DA-70310-2 USB 2.0 读卡器,该读卡器适用于几乎所有主流存储卡格式。

要格式化 SD 卡,请通过 Raspberry Pi 网页上的链接获取 SD Association 的 SD Card Formatter 软件。仅使用经验证的软件来确保将 NOOBS 成功安装到 SD 卡上。或者购买预装 NOOBS 的 SD 卡,例如 Raspberry Pi NOOBS 16 GB 卡。 

选择无线键盘和鼠标(如 Adafruit 的 1738),可以空出 USB 端口,避免电缆缠绕。或者使用通电 USB 2.0 集线器,如 Tripp Lite 的 4 端口 U22-004-RA。实际上,更推荐 4 端口通电集线器,因为可以降低 Pi 的电源需求。

如果打算通过 SSH 远程连接到 Pi,或者与触摸屏配合使用,则用户不再需要鼠标、键盘和监视器(参见技巧 9)。

另外,除非监视器具有 HDMI 输入端,否则需要使用一个适配器将 Pi 的 HDMI 端口和监视器的输入端连接起来。例如,将 HDMI 桥接到带 DVI-D 端口的监视器时,可使用 CnC Tech 的 741-20010-00300(图2)。

CnC Tech 的 741-20010-00300 HDMI 19 针转 DVI-D 19 针公头适配器图片

图 2: 可能需要适配器将 Raspberry Pi 的 HDMI 输出连接到监视器,例如 CnC Tech 的 741-20010-00300 HDMI 19 针转 DVI-D 19 针公头适配器。(图片来源: CnC Tech)

之后,将 Pi 嵌入到系统或项目中时,这些外设可能会放在一边。

3: 获得适当的电源

请勿通过电脑的 USB 端口为 Raspberry Pi 供电,因为它们没有防止 SD 卡损坏、Raspberry Pi 冻结和其他零星问题等电源相关问题所需的供电能力盈余。通常,2 安培电源已能够满足 Raspberry Pi 3 的需求,但推荐使用 2.5 安培的电源。

很多高电流电源带有一个管状公头输出连接器。使用 Adafruit 的 2727 插孔转 Micro USB A 插头电缆适配器,配合任意 5 V、中心正极 5.5 x 2.1 mm 柱式电源,将其配接至 Raspberry Pi 3(图 3)。

Adafruit 的 2727 插孔转 Micro USB A 电缆适配器图片

图 3: 要按照 2.5 A 推荐值为 Raspberry Pi 供电,应将 Adafruit 的 2727 插孔转 Micro USB A 电缆适配器与任意 5 V、中心正极 5.5×2.1 mm 柱式电源结合使用。(图片来源:Adafruit)

Raspberry Pi 自身并不需要使用全部电流。使用具有足够额外负载能力的电源,旨在确保其他电子元件和配件连接到电路板时,输入电压不会下降。基于此,我们来了解一下一般电源要求。

根据型号,Raspberry Pi 在空闲模式下消耗大约 100 mA 至 300 mA,每次连续迭代 Pi 将消耗更多的电流(图 4)。如果应用需要超低功耗,则在 Raspberry Pi 选择过程中应考虑这一因素。

Pi1 (B+) Pi2 B Pi3 B(安培) Zero(安培)
启动 最大值 0.26 0.40 0.75 0.20
平均值 0.22 0.22 0.35 0.15
空闲 平均值 0.20 0.22 0.30 0.10
视频播放 (H.264) 最大值 0.30 0.36 0.55 0.23
平均值 0.22 0.28 0.33 0.16
应力测试 最大值 0.35 0.82 1.34 0.35
平均值 0.32 0.75 0.85 0.23

图 4: 一些主流 Raspberry Pi 型号电流消耗的比较结果。(图片来源: Raspberry Pi Foundation)

请注意,如果 Pi 采用移动工作方式,则可能无法获得足够的电流,导致大多数 USB 移动电源因其内部电路的设置而无法导通。请使用 Adafruit 的 4000 mAh 型号 1565 或 10,000 mAh 型号 1566电池组,它们已证实可与 Pi 配合使用。

4: 获取或制作带有内置开/关按钮的 USB 电缆

Raspberry Pi 没有板载复位按钮或电源开关。为了避免每次电路板冻结并需要复位时拔下和重新插上 USB 电缆,请使用带有内置开/关按钮的 USB 电缆,例如 Adafruit 的 2379。这一需求总结于不断的实验和学习。 初学者会不可避免地在学习过程中锁定系统。使用按钮比使用电缆和连接器更简单,可减轻负担,同时避免不必要的 USB 连接器磨损。

但是,请注意: 一般情况下,切勿默认使用开/关按钮关闭 Raspberry Pi。直接断电会损坏 SD 卡,因此请务必按照正确的关机程序进行操作(参见“开关的位置”)。

5: 成功的关键:Raspberry Pi 配件板

Raspberry Pi 是功能强大的单板计算机,但也不是万能的。幸运的是,可利用大量可用的配件板来增强 Pi 的功能。

例如,虽然 Raspberry Pi 没有用于数据采集的板载模数转换器 (ADC),但有几种转换器解决方案可供选择。Seeed Technology 专门打造的 103990060 ADC 和数模转换器 (DAC) 板就是一个很好的解决方案(图 5)。

Seeed Technology 的 103990060 Raspberry Pi 扩展板图片

图 5: Seeed Technology 的 103990060 Raspberry Pi 扩展板为 Raspberry Pi 提供 8 位 ADC 和 DAC 功能。(图片来源:Seeed Technology)

为 RasPi 配备 ADC 输入的另一种方法是将此工作交由小型 Arduino 板完成,例如 Adafruit 3.3 伏 Trinket

要做到这一点,首先回顾“开始 Arduino 项目前需要知道的 10 件事”,然后使用简单草图对电路板进行编程来采集模拟数据。数据通过串行连接中继到 Pi。

更方便的方法是,使用可以与 Raspberry Pi 搭配使用的定制 Arduino 板,例如 Seeed 的 AlaMode 和 DFRobot 的 DFR0327 扩展板。

需要实时执行的任务无疑需要一个配件板,因为 Raspian 不具备此功能。Raspbian/Linux 会根据需要将 CPU 时间分配给应用程序、Python 代码和 Raspbian 自身。这种资源重新分配的不可预测性使得无法实现实时执行。

6: Wi-Fi 加密狗

将更新和应用程序安装到 Pi 上的最简单方法是通过 Wi-Fi 连接互联网,Raspberry Pi 3 已内置此功能 (802.11n)。但是,其他版本的 Raspberry Pi 没有 Wi-Fi,因此可能需要购买 Wi-Fi 加密狗。这种情况下,应做必要的研究,以确保其能够被 Raspbian 操作系统识别。Adafruit 的小型 814 802.11/b/g/n 模块是一款很棒且已证实适合 Raspberry Pi 的加密狗(图 6)。

Adafruit 的 814 USB 适配器图片

图 6: 如果您手上的 Raspberry Pi 板没有内置 Wi-Fi,请研究并找寻合适的加密狗,例如已知可用于 Raspbian 的 Adafruit 814 USB 适配器。(图片来源:Adafruit)

7: 注意输出逻辑电平和驱动能力

Raspberry Pi 使用 3.3 V 逻辑电平。这是一个很小但重要的细节,往往被忽视。3.3 V 逻辑电平意味着 Pi 可能无法与需要 5 V 逻辑电平的许多器件和配件搭配使用。此外,如果总电流不超过约 50 mA,则每个引脚上的驱动电流为 16 mA。使用 SparkFunBOB-12009 双向转换器等逻辑电平转换器可轻松解决此问题。

SparkFun 的 BOB-12009 图片

图 7: SparkFun 的 BOB-12009 将 5 V 信号转换为 Raspberry Pi 所需的 3.3 V。(图片来源:SparkFun)

8: Python 编程语言

Python 是 Raspbian 的默认编程语言。事实上,Raspbian 映像预先加载了 Python 开发环境 IDLE(集成开发和学习环境)。对于大多数 Pi 项目,使用 Python 是不可或缺的。 

在 Raspbian 中,可以选择使用 IDLE 2 运行 Python 2 或 IDLE 3 来运行 Python 3。继续使用 IDLE 3/Python 3 保持最新状态并获取最新的文档。

请注意,Python 2 和 3 代码不能直接互换。目前有很多 Python 2 代码,所以您可能希望能从 Python 3 返回至 Python 2,但是两者在语法和命名约定方面存在一些差异,不能直接兼容。但是,如果决定更改,可以仔细检查代码,进行必要更改以将 Python 2 代码转换为 Python 3,反之亦然。

开始构建 Python 程序的个性化 GUI 的最快方法是使用一组名为 TkInter 的工具,该工具已与 Raspbian 捆绑提供。TkInter 有很多简短在线教程,可以帮助用户快速上手。

对于新手编程人员,建议将项目分解为基本构建块。例如,项目涉及到输出至 LCD,读取连接到 SPI 的传感器,以及从三个按钮获取用户输入。应为每个任务编写一个单独的代码段。一次编写所有代码可能会导致错误,并加大调试难度。

9: 屏幕尺寸

编程时请使用大显示屏,不必使用是位于 Pi 上难以阅读的 3 英寸小显示屏。虽然很适合项目的最终定制界面,但最好使用全尺寸显示器甚至 7 英寸触摸显示屏,如 Raspberry Pi Foundation 的 8997466 LCD(图 8)。根据使用的 Raspberry Pi 型号,可能无法通过 DSI 连接器自动检测该显示屏。如果 Pi 型号需要手动启用屏幕,Github 文档中记录有此程序。

Raspberry Pi Foundation 的 8997466 LCD 图片

图 8: 避免使用 3 英寸小显示器,因为很难阅读。相反,请选择全尺寸显示器或 Raspberry Pi Foundation 的 7 英寸 8997466 液晶显示器。(图片来源: Raspberry Pi Foundation)

也就是说,全尺寸显示器是首选项。此外,插入 DSI 或 HDMI 端口的显示屏比通过通用 I/O 端口控制的显示屏快得多。

10: 小技巧和补救措施

  • 您可能希望使用大于 32 GB 的 SD 卡。这种情况下,请确保将卡格式化为 FAT32 文件系统。Raspberry Pi 只能读取 FAT32 卷。
  • 确保 SD 卡与 Raspberry Pi 兼容。
  • 如果卡在命令行,运行命令“sudo start x”启动 GUI。
  • Raspberry Pi GPIO 引脚未标记。为避免混淆,请获取 GPIO 参考,如 Seeed 提供的这一个引脚参考。

Raspberry Pi GPIO 引脚参考图片        

图 9: 使用手边的引脚参考来识别 Raspberry Pi GPIO 引脚。(图片来源: Seeed Technology)

  • 不要通过 GPIO 引脚为 Raspberry Pi 供电。虽然可以实现供电,但这意味着绕过板载保险丝。保险丝是自复位的,可以根据需要更换。如果电源通过 GPIO 供电,发出爆裂声时,很可能 Pi 已经损坏。

Raspberry Pi 3 板载自复位保险丝图片

图 10: 如果用户选择通过 GPIO 供电,则将绕过 Raspberry Pi 3 板载自复位保险丝(红色箭头)。这会使板面临风险。(图片来源:Digi-Key Electronics)

如果使用 Raspberry Pi 进行开发时,请备份所有文件。SD 卡上的映像有可能在某些时候遭到破坏,从而使数据不可恢复。使用 USB 闪存盘作为文件存储库来彻底规避风险,例如 Apacer 的 APHA016G2BACG-DTM 16 GB USB 驱动器。

Apacer Memory America USB 驱动器图片

图 11: 将文件保存到 USB 驱动器,以在 Raspberry Pi 的文件系统损坏时保护文件。(图片来源: Apacer Memory America)

总结

Raspberry Pi 以强大、易于使用和良好的支持而闻名。该产品是构建专业应用程序或有趣项目的绝佳基础。不管您的知识背景和技能水平如何,这些技巧将缩短学习曲线,加快上市时间,使整个过程更有成效。

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 Digi-Key Electronics 的观点、看法和意见,也不代表 Digi-Key Electronics 官方政策。

关于此出版商

Digi-Key's North American Editors