Raspberry Pi 3 无外设设置

Raspberry Pi 3 无外设设置

Raspberry Pi 3 无外设设置

Raspberry Pi 3 虽然小巧廉价,但却拥有大量的功能。它的用途五花八门,从隐藏在电视背后的媒体中心到智能洒水系统可谓无所不包,但首先你要启动它。

我个人推荐连接专用的显示器、键盘和鼠标,让您的 Pi 3 跟独立电脑一样,但我知道这并不总是可行的。如果您手上只有一台笔记本,并且空间有限、资金有限,那您该怎么办呢?别担心。Raspberry Pi 系统通过 SSH 或串行连接即可发挥全部功能,无需其他额外设备即可运行。要想进行有效的无外设设置,您需要做两件事:安装操作系统和建立连接。操作如下。

第 1 步 – 从我的错误中学习

我最初是想利用串口-USB 适配器,比如 Adafruit Raspberry Pi 串口数据线。我曾在 Pi 1、Pi 2 以及其他编程项目上可靠地使用过它们。我认为这是挺简单的一件事,但我很快就得到了教训。记住,RX 和 TX 的意思是接收到设备和从设备向外传输,所以适配器的 RX 应接到 Raspberry Pi 的 TX,而其 TX 则应接到 Pi 的 RX。在 Raspberry Pi 上,TX 和 RX 的适当引脚分别是 8 号 和 10 号。务必要用 9 号或 6 号引脚接地。我倾向于使用 9 号,因为我有一个小风扇要连接 4 号和 6 号引脚获取 5 伏的电源,这有助于在重负荷下给 Pi 降温。

Raspberry Pi 3 无外设设置

在连接好串口数据线并向准备运行系统的 SD 卡中加载完 NOOBS 后,我突然遇到两个问题:在默认配置下,NOOBS 不会进行开箱即用的无外设安装,并且串行端口将我带到了一个我无法交互的故障恢复控制台。SD 卡重新装载了 Raspbian,试图绕过 NOOBS 在没有更多接口设备的情况下进行安装的困境。在整个过程中,为了查看进度并确保一切正常,我把 Pi 连接到了副显示器。Raspbian 安装虽然成功了,但我的串行控制台却没有任何显示,对输入也没有任何反应。

经过一番研究,我发现 Raspberry Pi 3 在关联串行控制台时有一个问题。由于新款 Pi 集成了更多功能,如 WiFi 和蓝牙,所以需要连接来支持这些功能。确切地说,串行控制台之前所用的 UART 现在用作了蓝牙通信。需要这一 UART 的原因在于,其总线速度可不依赖于系统时钟速度进行设置,这对蓝牙模块来说是十分必要的。Raspberry Pi 3 还有另外一个 UART,但它有一个问题:其波特率与系统频率相绑定,也就是说它的速度会随着处理器速度变化而变化。在没有固定波特率的情况下几乎无法进行有效的通信。这个问题的解决办法,是借助一个 config flag 来固定系统频率并实现 115200 的一致波特率。此举的副作用是降低 Raspberry Pi 的整体性能,但可以通过使 Raspberry Pi 进入恒定涡轮加速模式来抵消不利影响。记住:只能在冷却完 Pi 并且使用风扇给其降温的情况下强制进入涡轮加速模式。

启用串行接口的后果

要想在 mini-UART 上启用串行连接,请在向 Windows 机器插入装有 Raspbian 的 SD 卡时,添加 “enable_uart=1” 到 config.txt 文件,后者位于根目录中。当在 Raspberry Pi 中查看文件系统时,Config.txt 文件位于 /boot/ 中。通过此操作,当 Pi 启动后,您即可访问串行控制台。现在您可以插入装有 Raspbian 的 microSD 卡并使用 Putty 等终端连接到 Pi。

启用串行接口的后果


使用命令行来连接 WiFi

 

串行接口面向 Raspberry Pi 后,您现在可以使用命令行来连接 WiFi 了。要想列出 Pi 连接范围以内的所有接入点,您可以使用命令 “sudo iwlist wlan0 scan”。您需要确定您想连接的 WiFi 的 ESSID 以及所用的认证方式,该认证方式列在 ESSID 下面。凭借 WPA 及更新的 WPA2 防护,此方法的剩余部分可运行良好,但如果您使用 RADIUS 或 WPA2 企业版进行认证的话您还需要其他指南。我强烈建议不要在任何无线设置中使用 WEP,因为它很容易崩溃。有了 SSID 和 WiFi 密钥后,您会使用 “sudo nano /etc/wpa_supplicant/wpa_supplicant.conf” 来编辑 wpa_supplicant 配置文件。您希望添加一下文本到文件末尾,来使用您的信息替换 SSID 和密钥:

network={

ssid="The_ESSID_from_earlier"

psk="Your_wifi_password"

}

依次按下 Ctrl+X、Y 和 Enter 键来推出并保存文件。现在 WPA-supplicant 应当注意到变更并尝试连接到所列网络。如果不是这样的话,您可以使用 “sudo ifdown wlan0 && sudo ifup wlan0” 手动重启接口,或者使用 “sudo reboot now” 来重启。您可以验证网络连接并使用 “ifconfig wlan0” 确定要通过 SSH 连接的 IP 地址。inet addr 是 Pi 在您的网络中的 IP 地址。

当我没有专用键盘和鼠标时,我倾向于像这样使用串口给 Raspberry Pi 3 连网,因为这种方法能让我快速配置 WiFi 并确定串口到 SSH 的 IP 地址。在使用串行接口完成操作后,我推荐您在我们之前修改过的 config.txt 文件中将 “enable_uart” 更改为 0,以便在 Pi 上重新启用更高的时钟速度。最后一步可帮您避免因串行连接所带来的不利后果。

简单的方法

启动和运行 WiFi 还有另外一个简单得多的方法,那就是将配置过的 wpa_supplicant.conf 直接拖拽到最近装载的 Raspbian SD 卡的根目录中。注意,SD 卡必须是最近刚装载的,并且没有经历过安装程序。在 Raspberry Pi 中启动 SD 卡后,安装程序还将把您的自定义配置文件加入到主系统中,从而允许 Pi 连入您的网络。此串行连接方法的其中一个缺点是它不太容易告诉您 IP 地址,所以您不太方便通过 SSH 进行连接。刚刚启动并且没有经过自定义的 Pi 的网络名称是 “raspberrypi”,这意味着如果它和您的主要及其同在一个网络的话,您可以对它进行 ping 查询来获取 SSH 连接的 IP 地址。

对于 NOOBS

NOOBS 安装程序需要花费更多工作,但能够给您带来具有多种操作系统功能的 NOOBS。要想在无外设情况下使用 NOOBS,需要将其配置为静默安装,并能在安装 Raspbian 后移动 wpa-supplicant 文件。要想在 NOOBS 中启用静默安装,您需要在 SD 卡根目录中编辑 recover.cmdline 文件。该文件最初的样子是:

runinstaller quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1
elevator=deadline

为进行静默安装和默认美式键盘而修改后的文件则是:

runinstaller quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1
elevator=deadline keyboard=us silentinstall

这一版本的 recovery.cmdline 会自动安装 SD 卡上的操作系统。SD 卡上只能有一个操作系统,这点很重要,否则静默安装将会失败。现在的 NOOBS 离线安装程序中已经有了 Raspbian,并且不经修改也能良好地运行。

为了支持复制 wpa_supplicant.conf 文件,我们需要添加一款由 Procount 开发的名叫 NOOBSConfig 的第三方工具。它有一个专门的示例来讲解如何为 Raspbian 复制 wpa 文件。

添加静默安装和 NOOBSConfig 可给我们带来一张能够放入 Raspberry Pi 并完全自动安装和接入网络的 SD 卡。您可以按照上述步骤,使用 ping 命令来查找 IP 地址,然后通过 SSH 连接到您的新微型 Linux 机中。

总结归纳

在通过上述办法实现 Raspberry Pi 3 无外设运行后,最后我要还有一些步骤要给大家推荐。使用 “sudo raspi-config” 您会进入一个带有大量有用工具的菜单。首先要做的是 “Expand Filesystem”,该操作可以扩展系统以确保它能够使用所有可用空间,这么做的原因是向 SD 卡刻录图片时可造成未分配空间剩余。然后使用菜单中的第二个选项修改用户密码,默认密码不安全,会让您的系统暴露在攻击之下。第五个选项允许您更改区域、时区、键盘布局和 WiFi 国家,以确保一切设置与您的期望一致。高级选项菜单包含更多选项,但要特别指出的是您可以在这找到启用和禁用串行通信的选项,该选项可切换我之前所提到的 enable_uart 变量 I。

Raspberry Pi 3 是一款优质廉价的电子学入门产品

 

现在您有了可以连网并拥有更强大运算能力的 Raspberry Pi,以及拥有海量项目范例的活跃社区。尽情享受将想法变为现实的乐趣吧,不要忘记同您身边的人分享您的激情。Raspberry Pi 3 是一款优质廉价的电子学入门产品。