描述
它是什么?
原始的 BeagleBone Black 没有集成 Wi-Fi 功能。有几个选项可以为开发板提供无线互联网功能。一种是将其连接到桥接中继器(这是一种与无线网络路由器具有相同构造的设备),如图 1 所示,即电池供电,以便 BBB 在需要移动性的项目中移动。该解决方案的缺点是体积庞大、价格昂贵且耗电量大。另一种方法是购买 USB Wi-Fi 卡,它可以在 BBB 中与 Debian 一起使用。当互联网速度和带宽不是优先事项时,此选项非常好,而且成本低。这种解决方案的缺点是信号接收和传输非常微弱,根据我的经验,不是很可靠,它还占用了一个USB口,可以通过加一个外接供电的USB Hub来解决。最后一种选择是使用 USB Wi-Fi 适配器,意味着具有良好的传输和接收功率(带有高增益天线),如图 2 所示,此设备的优点是它可以获得稳定的连接并且价格相对较低. 主要缺点之一是 BeagleBone 的 Debian 版本(以及许多其他 Linux 发行版)没有开箱即用的驱动程序,因此,需要下载和编译它们(如果您能找到开源驱动程序)。该设备的优点是连接稳定且价格相对较低。主要缺点之一是 BeagleBone 的 Debian 版本(以及许多其他 Linux 发行版)没有开箱即用的驱动程序,因此,需要下载和编译它们(如果您能找到开源驱动程序)。该设备的优点是连接稳定且价格相对较低。主要缺点之一是 BeagleBone 的 Debian 版本(以及许多其他 Linux 发行版)没有开箱即用的驱动程序,因此,需要下载和编译它们(如果您能找到开源驱动程序)。
图 1:带有中继器桥的机器人(机器人顶部的黑色物体)
图 2:带有 USB-Wi-Fi 适配器和高增益天线的机器人(机器人后面的黑色设备)
需要什么材料?
要成功遵循本指南,假定在开始之前已收集/遵循以下列表。
BeagleBone Black 开发板(原装无 Wi-Fi)通过桶形连接器供电,5V 且至少 1 安培
tp-link – Archer T2U Plus – AC600 高增益无线双频 USB 适配器
按照我在 hackster.io 中发布的以下链接中的说明进行操作: https: //www.hackster.io/ederfernandotorres3/setup-beaglebone-black-with-device-tree-overlays-9e0ded
快速说明
对于将在 BBB 终端上运行的所有命令,可以在命令之前或之后给出命令作用的快速解释或旁注。例如:
sudo apt update
获取当前已安装程序的更新目录。
不要期望在命令之前被命令“键入”或“输入”。
关键字和词汇表
构建:在 C 语言中,构建过程是将嵌入式软件的高级源代码表示形式转换为可执行二进制映像的完整过程
编译:是构建过程的步骤之一,它将高级语言文件转换为目标文件,但它仍然需要链接或“粘合”到 C 代码可能使用的库。由于在本教程中我们不处理目标文件,因此如果使用“编译代码”一词,则表示“构建代码”
以太网:是一种连接计算机的通信协议,称为“局域网 (LAN)”或“有线区域网络 (WAN)”。用于此类网络的连接器是 RJ45 连接器。用于此网络的电缆称为“以太网电缆”
GitHub :是一个分布式版本控制平台,用户可以在其中协作或采用开源代码项目、分支代码、分享想法等
IP 地址:是唯一的字符串(数字集),用于标识每台使用 Internet 协议在网络上进行通信的计算机。IP 地址示例:192.168.1.23
内核:是计算机操作系统核心的计算机程序,通常可以完全控制系统中的所有内容,它促进了硬件和软件组件之间的交互。
Linux-Headers :是一个提供 Linux 内核标头的包,这些标头与 Linux 分开安装。它们定义包含在内核中的函数声明以用于用户空间程序。需要内核或硬件功能的程序需要使用这些 Linux-Headers 进行编译
Make :是一个 Linux 命令,用于从源代码构建和维护程序和文件组
Makefile :这是一个特殊文件,包含维护项目所需的 shell 命令。它定义目标并包含将确定构建过程的特定配置的标志
单板计算机:是建立在一块威廉希尔官方网站 板上的完整计算机,具有微处理器、存储器、输入/输出和功能计算机所需的其他功能。
我能做些什么?
1.----------------更新内核----------------
需要以下列出的命令来更新 BeagleBone 中的内核
1.更新应用目录
sudo apt update
2.安装更新的应用程序
sudo apt upgrade
3.转到BBB脚本所在的文件夹
cd /opt/scripts/tools/
4.运行git pull
git pull || true
此命令将使用 git 来确保此文件夹是最新的
图 3:这显示了更新“/tools”目录后终端的外观
5.更新内核
sudo ./update_kernel.sh
此命令将运行脚本来更新内核。如果要求您输入密码
6.重启系统
sudo reboot
2. --------安装Linux-Headers和其他应用程序--------
这些是在 BBB 中编译和安装适配器驱动程序之前需要完成的步骤。在本节中,我们确保 BBB 安装了所有必需的软件,例如内核的头文件、编译器、框架和版本控制系统,需要从其存储库下载源代码。
1.安装linux-headers
sudo apt install linux-headers-$(uname -r) <- $(uname -r)
此命令将安装当前的 Linux 头文件。如果您正在编译使用 Linux 内核提供的函数的软件,则需要这些标头。
图 4:安装 Linux-Headers
2.安装bc
sudo apt install bc
此命令安装源代码所需的基本计算器。
3.安装build-essential
sudo apt install build-essential
Build-essential 是一个“元包”,它将安装编译 C/C++ 程序所需的程序,例如 GNU C 编译器等。
4.安装dkms
sudo apt install dkms
dkms 是一个可以生成 Linux 内核模块的框架
5.安装git
sudo apt install git
Git 是一个版本控制系统,它允许您在本文档中从 GitHub 下载文件(以及我们不会在本指南中使用的其他功能)。
可选:使用一个命令安装所有包。
sudo apt install bc build-essential dkms git
注意:它不包括 Linux-Headers
图 5:在一条命令中安装多个应用程序
3. ---下载、编译和安装驱动程序---
在此步骤中,我们将下载 Wi-Fi 适配器驱动程序的源文件。为不同系统编译驱动程序的说明包含在名为 README 的文件中,本指南基于该文件。有一个名为“Makefile”的文件,其中包含编译器如何构建代码的说明。GitHub 中此源代码的维护者已在 Makefile 中包含标志以选择为其构建目标机器,例如,您可以将“CONFIG_PLATFORM_I386_PC”的标志从“n”更改为“y”以告诉编译器为 Intel x86 兼容处理器构建可执行代码。BBB 不在平台列表中,但有一个用于 32 位 Raspberry Pi,它与 BBB 一样在 ARM 处理器中运行,字节顺序和其他设置相同,
1.新建目录
mkdir wifi_driver
命令创建一个目录来保存下载的驱动程序,我将调用我的“wifi_driver”。
2.进入新目录
cd wifi_driver
3.使用git获取源码
git clone https://github.com/morrownr/8821au-20210708.git
上面的git命令会将在GitHub中找到的源代码复制到刚刚创建的目录中
4. 进入8821au-20210708
cd 8821au-20210708
这会将当前目录更改为刚刚创建的目录
5. 修改 Makefile 以构建 BBB
5a 。打开并修改 Makefile
sudo nano Makefile
查找标有“平台相关”的部分
图 6:这是我们要查找的 Makefile 区域,标记为“平台相关”
5b 。禁用 CONFIG_PLATFORM_I386_PC:
更改:“CONFIG_PLATFORM_I386_PC = y”到“CONFIG_PLATFORM_I386_PC = n”
5c 。启用 CONFIG_PLATFORM_ARM_RPI:
更改:“CONFIG_PLATFORM_ARM_RPI = n”到“CONFIG_PLATFORM_ARM_RPI = y”
图 7:为 BBB(和 Raspberry Pi)构建具有正确值的平台标志
5d 。按键盘:“ctrl”+“x”,然后“y”,然后“enter”退出并保存更改。
6.运行安装脚本
6a 。运行安装驱动程序 sh。
sudo ./install-driver.sh
上面的安装需要几分钟(大约 25 分钟)。该文件自动运行“make”命令并将消息打印到控制台,使安装更加“人机交互”
6b 。编译安装完成后,会询问是否编辑驱动选项,点击“n”表示否。
图 8:通过安装发送的消息和安装完成后提出的问题
6c 。系统将询问您是否要重新启动,如果没有提示,请键入“y”,然后“输入”。输入:“须藤重启”
7. 现在您可以将 Wi-Fi 卡连接到 USB 端口,确保您的 BBB 连接到至少 1A 电流的 5V 桶形连接器
4. ------配置Wi-Fi连接------
1.运行connmanctrl
sudo connmanctl
Connmanctl 是一种实用程序,可以方便地连接到无线网络。
2.在beaglebone上开启Wi-Fi功能
enable Wi-Fi
您可能会收到 Wi-Fi 已启用的错误消息,这没关系。
3. 扫描 Wi-Fi 以查看可用的连接
scan Wi-Fi
等到 Connmanctl 说它已经完成。
图 9:使用 Connmanctl 扫描 Wi-Fi 连接
4.列出上一条命令找到的所有网络
services
“服务”命令显示扫描网络的列表。
图 10:Connmanctl 上的“服务”命令列出了可用的互联网连接
5.开启代理,让无线代理输入无线网络密码
agent on
6. 连接到您的网络
connect
“网络ID”是SSID(Wi-Fi连接名称)后的一串字母,以“wifi_”开头。例如,要连接到 jinjed2022,我必须输入:“connect wifi_984827ebd889_6a696e6a656432303232_managed_psk”
7.你会被要求输入密码,输入它
图 11:这是您输入 Wi-Fi 连接密码的地方
8. 要验证前面的步骤是否有效,需要使用命令“services”
services
您应该会在所需的 Wi-Fi 连接旁边看到“*A0”或“*AR”。
9.退出连接
quit
10.使用“ifconfig”查看网络连接信息
ifconfig
ifconfig 命令用于在 Linux 上查看网络连接(并可用于更改网络接口的配置)
11.找到wlan0连接。记下 IP 地址 (inet),在我的例子中它的私有 IP 地址是192.168.1.151
图 12:ifconfig 显示 wlan0 信息
12.关闭BBB
sudo shutdown now
关闭 BBB 并断开以太网电缆,如果这是您连接到威廉希尔官方网站 板的方式。
13. 在连接 USB Wi-Fi 卡的情况下打开 BBB
启动时间可能比以前更长。使用步骤 11 中收集的 IP 地址进行远程访问。如果未连接,请转到本指南:https: //www.hackster.io/ederfernandotorres3/setup-beaglebone-black-with-device-tree-overlays-9e0ded . 并转到解释如何使用 IP 扫描器查找 BBB 的新 IP 地址的部分
14.测试互联网连接
ping google.com
上述命令测试 BBB 是否可以通过向 google.com 发送/接收包来连接到 Internet。
图 13:成功连接到 google.com 显示收到了多少包
15. 按键盘上的“CTRL”和“c”停止 ping google.com
- - - - - - - - -结论 - - - - - - - - -
本指南可用于提供 BBB Wi-Fi 功能。
--参考资料和附加信息--
https://manpages.debian.org/testing/connman/connmanctl.1.en.html
https://www.fis.gatech.edu/how-to-configure-bbw-wifi/
https://github.com/morrownr/8821au-20210708
.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !