如何用树莓派构建一个外观专业的接入点
你是否曾想用树莓派打造一个专业级的接入点?如今,Pi 3内置Wi-Fi功能,实现这一目标变得前所未有的简单。
本文发表于《MagPi》第45期,介绍了全新的树莓派3以及Pi Supply系列的PaPiRus和Pi PoE扩展板。请注意,虽然本文主要使用Pi PoE,但所有内容在没有它的情况下同样可以完成。本设置假设你正在使用更新版本的Rasbian Jessie系统,并且熟悉nano命令行及部分配置文件操作。
组装步骤
使用PaPiRus和Pi PoE搭建这款树莓派接入点非常简单。整个过程仅需少量焊接,其余部分只需将各个组件按顺序堆叠即可。
项目所需材料
- 树莓派3
- 带2.7英寸显示屏的PaPiRus
- Pi PoE扩展板
- 40针公头连接器
- GPIO适配器(可选)
- TP-Link TL-POE150S或其他PoE注入器
额外的接口是为了能够将PaPiRus安装在Pi PoE设备上,或者像我通过GPIO适配器那样进行安装。在某些情况下,你的基础设施可能已经支持以太网供电(PoE),但如果没有,就需要使用PoE注入器,例如TP-Link TL-POE150S。
按照所示方式连接所有设备,并确保PaPiRus的扁平电缆正确接线。
完成所有连接并准备就绪后,长按Pi PoE模块的开关即可启动系统。
准备接入点
初始设置时,请连接显示器、键盘、鼠标和以太网线,然后启动Rasbian系统。通过以下命令扩展文件系统:
选择“扩展文件系统”,等待重启前完成操作。由于我们当前处于raspi-config界面,我们将借此机会启用SPI功能,该功能稍后用于PaPiRus。选择“高级选项”中的SPI,并接受在开机时加载相关模块。
然后重启系统并更新操作系统:
此时,我们已准备好安装和配置hostapd,它将用于创建本系统的无线接入点(AP)部分。
接下来,我们需要创建如下格式的配置文件。请注意,该文件目前不存在,我们将从头开始新建一个。
现在是下载 GitHub 上支持代码的合适时机,该代码还包含配置文件的模板。
编辑 hostapd.conf 模板文件:
并将下面的内容替换为自己的实际值。
将 hostapd.conf 文件复制到正确目录:
接下来,我们需要修改以下文件,以便在启动时让 hostapd 使用上述配置。
通过添加以下内容来更改它:
最后,我们启动服务。
我们希望这个配置不要依赖于会自动更改网络设置的服务,因此我们将禁用 dhcpcd。
现在需要安装 bridge-utils 工具,以便合并以太网和无线接口。
此时,我们可以使用提供的模板来配置网络:
并进行相应修改。
备份现有的配置文件:
然后复制新的文件。
现在你可以重启 Pi,如果一切正常,应该会发现一个 SSID 与你选择一致的新接入点!你现在可以通过指定的 br0 IP 连接到它。接入点已准备就绪,连接到它的设备应能从家庭或办公室路由器的 DHCP 获取 IP 地址,并可正常浏览互联网。太棒了!
准备好 PaPiRus
与 Pi PoE 不需要软件步骤不同,PaPiRus 需要安装驱动程序和软件包,这些包还提供了现成的示例,以便我们在开始编写代码管理 AP 之前先测试其功能。
要安装 PaPiRus 软件,请从您的主目录执行以下命令。如果不确定当前所在位置,可使用 `cd~` 返回主目录。
安装过程应该相当迅速,并会解决使用 PaPiRus 界面所需的各类依赖项。
安装完成后,我们需要告诉系统将使用哪个屏幕。我们已为 2.7 版本(最大的版本)创建了管理 AP 的脚本。在这种情况下,您需要运行:
以上就是全部内容。运行:
如果一切顺利,你应该能在你的PaPiRus上看到一个漂亮的时钟。我们现在几乎完成了,距离让AP准备就绪并投入使用只剩一步之遥。
运行管理脚本
我们创建了一些演示代码,用于在PaPiRus上显示有关AP的各种信息。通过使用四个开关,你可以访问网络统计信息以及AP配置的基本信息。运行:
你的PaPiRus屏幕应该会亮起来,显示你的SSID和AP IP地址。按下开关2,你可以看到一些带宽信息;按下开关3,则可查看AP网络设置的详细情况。现在你拥有了一个非常实用且便于携带的接入点,可以随身携带参加树莓派聚会、黑客松活动,或任何你接下来想去的地方。
提示:
此AP与其他配置的区别
在操作系统层面创建AP有几种方法。我们认为,这主要取决于人们对AP的定义。为了避免深入讨论,我们决定将AP实现为一个ISO二层设备,这意味着它不会涉及路由、防火墙或NAT功能。该设备会将以太网网卡和Wi-Fi“合并”成一个网桥,仅拥有一个IP地址,实际上其行为类似于普通AP,而非家庭宽带路由器。
您的家用或办公路由器需要启用DHCP
AP本身不提供DHCP服务,因此必须确保路由器已启用DHCP功能。此外,设置的第一部分还要求树莓派能从路由器获取IP地址,以便接收来自互联网的所有数据包。
本文编译自hackster.io





