如何配置 Raspberry Pi 3 和 BeagleBoards 的无线连接

作者:European Editors

投稿人:DigiKey 欧洲编辑

低成本的 Raspberry Pi 单板计算机已取得巨大成功,可为系统设计师提供负担得起的控制器板,这种开发板可采用业内标准的 Debian Linux 编程。 Pi 目前尚缺乏的就是集成无线功能。 Raspberry Pi A 和 B 以及 Pi2 都需要外部 Wi-Fi 或蓝牙适配器,才能实现无线连接。 最新的版本 Raspberry Pi 3 增加了 64 位四核 ARM® Cortex®-A53 处理器,其频率提升到 1.2 GHz,并增加了 Wi-Fi 和 Bluetooth Smart 4.0 功能,价格与之前版本相近。 该开发板在发布之前已经预先生产了数月,并可从 Seeed 等供应商处获得。

这开启了该开发板在物联网 (IoT) 中使用的大好机会,它能轻松连接路由器或网关,进而传输传感器数据,或者从智能手机或互联网的终端进行控制。 四核处理器也具有强大的处理能力,可在本地进行数据分析、运行更广泛的控制算法,以及提供更快的响应。

许多这些 IoT 应用都不使用屏幕,因此这些开发板通过“无头”方式进行配置。 这种方法采用以太网或者串行控制台电缆连接终端。 执行这种连接的软件包含在标准软件映像中,这些映像文件随 Raspbian 操作系统一起包含在插入到开发板的 SD 卡中。

Raspbian 基于 Debian Linux,定期使用 Raspberry Pi 基金会的库进行更新,并通过开发板上的 NOOBS 安装应用程序进行安装。 然而,基金会刻意让其它 ARM Linux 发行版更容易取代 SD 记忆卡上的根分区,使得开发板可以使用其它操作系统。 这些操作系统可在建立连接之前,通过与该开发板配合使用的 PC 或笔记本电脑下载到卡上。

Raspberry Pi 3 开发板添加了 Wi-Fi 和 Bluetooth Smart 功能以及 1.2 GHz 四核 ARM Cortex-A53 处理器到同样的开发板。

图 1: Raspberry Pi 3 开发板添加了 Wi-Fi 和 Bluetooth Smart 功能以及 1.2 GHz 四核 ARM Cortex-A53 处理器到同样的开发板。

使用 Raspbian 配置无线连接的第一步是扫描本地网络。 这可通过 sudo 命令完成,格式为

: sudo iwlist wlan0 scan

它将返回所有 Wi-Fi 网络的列表,以及安全连接和其他详细信息。

要连接到该开发板,所选 Wi-Fi 网络的名称将在 ESSID(扩展服务集标识)下方列出。 这还将包括所使用的验证方法,可以是 WEP、WPA 或 WPA2。

这就提供了配置文件所需的数据。 访问命令为:

: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

在文件底部是需要根据本地网络更改的 Wi-Fi 设置。

在 network= 区块中,ssid="" 条目需更改为本地网络,psk="" 需更改为 Wi-Fi 密码。

然后按下键盘上的 CTRL+X 可保存配置文件,再按下 Y 和回车进行确认。 配置文件通常将在几秒内更新,并尝试连接到 Wi-Fi 网络。 若 Wi-Fi 未连接,则可能需要使用 sudo reboot 进行重启。 连接成功后,可通过 ifconfig 命令进行验证:

: ifconfig wlan0

若 inet addr 字段返回 IP 地址,则连接成功,IP 地址在远程连接到开发板时有用。

连接蓝牙外设

Raspberry Pi 3 的优势之一是内置蓝牙功能。 这样蓝牙外设可轻松连接开发板,建立 IoT 网络。

连接蓝牙设备的最佳方法是使用 Raspbian 操作系统中的命令行界面的 bluetoothctl 命令。

对于其他操作系统,蓝牙模块可以使用命令进行安装:

: sudo apt-get install pi-bluetooth

运行 bluetoothctl 需要通过以下命令将蓝牙芯片打开:

: power on

这将提供之前连接到该开发板的设备列表。 使用

: scan on

命令,进入发现模式,查找附近的蓝牙设备。

然后,需要打开代理,处理外设和开发板的配对:

: agent on

需要外设 MAC 地址才能进行配对,该地址通常印刷在外设上,并使用该命令输入

: pair MAC 地址

也可能出现要求输入外设(如蓝牙键盘)密码的提示。

若外设经常使用,可使用命令将其添加到受信设备:

: trust MAC 地址

然后,使用命令进行连接

: connect MAC 地址

BeagleBone Green

其他流行的低成本单板计算机,如 BeagleBone Green,并未嵌入无线功能,因此需要配置适配器或软件狗才能实现 Wi-Fi 连接。 配置方法随使用的适配器而不同。 但是,这些通常是通过操作系统进行处理,对于 BeagleBone Green 而言是 Debian Linux 发行版 3.8 版。

BeagleBone Green 开发板使用带 ARM Cortex-A8 核心的 1 GHz Sitara 处理器。

图 2: BeagleBone Green 开发板使用带 ARM Cortex-A8 内核的 1 GHz Sitara 处理器

该开发板上 Wi-Fi 连接的一个问题是:Grove 端口的接地和电源层靠近可插入 Wi-Fi 适配器的 USB 端口。 这会使信号减弱,并导致连接不良。 对于许多无头嵌入式应用,这些端口可能并不需要,并且可通过设备树关闭。 对应的命令可在 uEnv.tx 文件中找到。

另一个方法是使用短 USB 延长线,这样 Wi-Fi 适配器能与开发板相隔一段较短的距离,以避免这个问题。

开发板还需要为 Wi-Fi 适配器提供充足电源,至少需要1 A 、 5 V 电源。

无论哪种情况下,第一步要使用 SSH 将开发板上的 USB 端口连接到 PC,内核升级可确保 Wi-Fi 适配器使用最新的库:

: cd /opt/scripts/tools/

: ./update_kernel.sh

内核映像应会自动下载并安装,然后重启。

通过添加小脚本,适配器会在开发板启动时自动开启,这有助于确保可以使用所有不同的适配器。 方法如下 方法如下

: cd ~

: ntpdate -b -s -u pool.ntp.org

: apt-get update && apt-get install git

: git clone https://github.com/adafruit/wifi-reset.git

: cd wifi-reset

: chmod +x install.sh

: ./install.sh

该脚本在开发板启动时自动开启适配器,然后运行 iwconfig 命令,提供可用网络列表,以及 /etc/network/interfaces 文件所需的 ESSID,从而指定适当的连接。

使用 nano 编辑器命令配置该文件:

: nano /etc/network/interfaces

这将显示 Wi-Fi 的带注释配置块:

# WiFi Example

#auto wlan0

#iface wlan0 inet dhcp

#    wpa-ssid "essid"

#    wpa-psk  "password"

移除注释,并用相应网络名称和密码更换 ESSID 和密码,以对适配器进行配置。 网络连接可使用 ifup wln0 命令进行手动测试,这将返回该连接的 IP 地址,这在远程访问开发板时有用。 现在,重启开发板将调用打开适配器并配置网络连接的脚本。

结论

aspberry Pi 3 开发板加入Wi-Fi 和 Bluetooth Smart 功能,可让开发人员通过简单配置即可使用许多新的嵌入式无头应用。 这样,可通过 PC、智能手机和云服务远程轻松访问开发板。 但是,其他开发板的用户仍可使用无线适配器提供同样的功能。

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

关于此作者

European Editors

关于此出版商

DigiKey 欧洲编辑