步骤1:收集零件
为此,我正在使用:
Raspberry Pi 2 Model B运行Raspbian
带WiFi分析器应用程序的智能手机
U-verse 2线网关
Linksys WAP300N无线接入点
注意:
用黑桃括起来的文本(例如♣replace-this♣)应替换为实际值。当然,除去黑桃。
测量内容始终包含在附录中。
步骤2:设置无线访问点
图像:在智能手机上运行的应用WiFi Analyzer的屏幕截图。
WiFi Analyzer
确保您的无线访问点(AP)受到邻居的干扰最小。
在智能手机上加载Wi-Fi分析器应用程序。
确保您的Wi-Fi频道与邻居的Wi-Fi频道不同。
默认情况下,大多数ISP在通道1上设置其用户。
如果可能,请将您的AP置于不同于邻居的通道上。
使用奇数编号的信道。
设置无线接入点
确保正确设置了AP。我的ISP提供商的网关具有内置的802.11b/g AP,我为18Mbps的连接付费。我禁用了网关的AP,并向我的网络添加了802.11n AP。 802.11n AP具有以下设置:
2.4 GHz(禁用5GHz)
网络模式=混合
网络名称(SSID)=:
通道宽度=自动(20MHz或40MHz)
通道= 1
SSID广播=启用
安全模式= WPA2(不‘
第3步:这全与功耗有关
2.4GHz与Raspberry Pi配合使用效果最好。
h2》
图片:电源适配器和Raspberry Pi引脚
电源适配器
高质量的电源适配器是RPi正常运行的基础。
我有5个电源适配器,这些电源适配器包含在Raspberry Pi入门套件中。 5个适配器中的2个提供一致的5V。
添加到Raspberry Pi的任何设备都使用电源。因此,USB设备或HDMI监视器可以使Raspberry Pi达到次佳的性能。
根据http://nordicgroup.us/rpi/power/:
“ Raspberry Pi在4.75V以下开始不稳定运行”
[您必须有一个电源,在5.2V(12瓦)下输出]“ 2.4A”。额外的0.2V减轻了电缆和Raspberry Pi板上电压降的影响。”
根据http://elinux.org/RPi_Hardware来测量电压:
使用万用表设置为20伏直流电(或20v =)
测量从Pin#02直流电源5V到Pin#06接地的电压
电压应介于4.75和5.25伏特。
推荐的电源适配器和电缆:
5.2V 2.1A USB电源适配器,来自亚马逊$ 5.99
Micro来自亚马逊的USB至USB电缆3英尺$ 4.69
测量:
适配器的传输带宽,可提供正确的电压
12.2 Mbps
提供4.75V或更低电压的适配器的传输带宽:
7.66 Mbps
第4步:选择适配器
图片:iperf3,每个适配器上的间隔为1000。 x轴为Mbps,y轴为该带宽内的测量计数。
选择适配器
设备可以宣传为802.11n,但不能在Raspberry Pi上达到11n的带宽速率。列出设备的传输速率会产生误导。而是测量实际带宽。
Wi-Fi芯片组的多个方面都会对带宽产生负面影响。
Realtek率先开发了软调制解调器;降低了以太网的成本,同时将处理从以太网芯片组转移到主机处理器。在PC或MacBook上,CPU经常处于空闲状态,这是一个很棒的功能,并且可以节省金钱。但是,在Raspberry Pi上,将处理任务转移到ARM会对WiFi带宽和应用程序性能产生负面影响。
我的大多数应用程序不需要高WiFi带宽。某些需要高WiFi带宽的应用程序是Media Server,NAS和基于Raspberry Pi的PC。
一些通用规则:
当前的适配器必须本地支持版本的Raspbian。
检查是否有人使适配器能够工作,或者已知适配器有问题。
首先查看以下链接:http://elinux.org/RPi_USB_Wi-Fi_Adapters。
必须由Raspberry Pi模型支持适配器二手(Raspberry Pi 2 Model B)
测量性能
我将在购买适配器时测量更多的适配器。为了获得最佳性能(最好的带宽放在首位):
熊猫300Mbps无线N USB适配器
Edimax EW-7811Un 150Mbps 11n Wi-Fi USB适配器
Wi-Pi Raspberry Pi 802.11n无线适配器
TP-LINK TL-WN725N无线N纳米USB适配器150Mbps
RT5370
》 Panda设备只有拇指驱动器的大小,并且可能不会像较小的加密狗那样将大量的处理任务分担给CPU。
步骤5:最小设置
图像:以最小设置(蓝色)运行iperf3 100间隔的结果,然后使用推荐的设置(红色)再次运行。 x轴为Mbps,y轴为该带宽内的测量计数。
最小设置与我建议的设置之间的差异并不明显。我选择了一个设置,该设置比最小设置要复杂一些,但是测量结果不支持此选择(请参见图片)。
只要您没有电源问题,您的网关支持dhcp,您的适配器在raspbian中具有驱动程序支持,那么这是使wifi正常工作的最小设置:
/etc/network/interfaces
如果您有wpa_supplicant.conf文件,请将其重命名。
运行命令:
$ sudo nano /etc/network/interfaces
,然后编辑以仅包含:
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid “♣your-ssid♣”
wpa-psk “♣your-pass-phrase《♣”
CTRL-o写入文件
ENTER确认写入
CTRL-x退出nano编辑器
步骤6:/etc/network/interfaces
图片:使用“ iface eth0 inet dhcp”(蓝色),然后再使用“#iface”运行iperf3 100个间隔的结果eth0 inet dhcp”(红色)。 x轴为Mbps,y轴为该带宽内的测量计数。
/etc/network/interfaces
/etc/network/interfaces文件中的每个参数均已测量。
此文件必须正确,否则wifi无法正常工作。
登录树莓派并运行命令:
$ sudo nano /etc/network/interfaces
编辑文件为:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpd
# For static IP, consult /etc/dhcpcd.conf and ’man dhcpcd.conf‘
# Include files from /etc/network/interfaces.d:
# source-directory /etc/network/interfaces.d
# Commented parameters were used in measurements
# All comments can be removed
# Replace spades (♣) and text enclosed in ♣replace-this♣ with actual value
# loopback interface
# loopback is used for tools to talk to themselves on the RPi
auto lo
iface lo inet loopback
# ethernet interface
# leave ethernet interface - may be needed for cable connection in the future
iface eth0 inet dhcp
# Wireless adapter
# Use only one group of settings at a time - either RT5370 or WiPi
# RT5370 settings:
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
# Use wpa-ssid and wpa-psk OR wpa_supplicant, but not both
# wpa-ssid “♣your-ssid♣”
# wpa-psk “♣your-pass-phrase♣”
# Use wpa-conf instead of wpa-roam
# Using wpa-roam without correct wpa_roam.conf causes issues
# For example, on reboot wpa-roam can default to IPv6 and wifi stops
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#
# Turning power management off reduces dropped packets
wireless-power off
# WiPi settings:
# auto wlan0
# iface wlan0 inet dhcp
# wpa-ssid “♣your-ssid♣”
# wpa-psk “♣your-pass-phrase♣”
# default interface
# iface default inet dhcp
CTRL-o写入文件
ENTER确认写入
CTRL-x退出纳米编辑器
第7步:/etc/wpa_supplicant/wpa_supplicant.conf
图片:以每间隔100个间隔运行iperf3的结果生成密钥,而是使用密码短语。 x轴为Mbps,y轴为该带宽中的测量计数。
预生成的密钥
创建预生成的PSK密钥。登录到Raspberry Pi并运行以下命令:
$ wpa_passphrase ♣your-ssid♣ ♣your-pass-phrase♣
输出:
network={
ssid=“♣your-ssid♣”
psk=♣your-pre-generated-key♣
}
/etc/wpa_supplicant/wpa_supplicant.conf
已测量/etc/network/interfaces文件中的每个参数。
wpa_supplicant.conf文件必须正确,否则wifi无法正常工作。
登录树莓派并运行以下命令:
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
编辑文件如下所示:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=“♣your-ssid♣”
# use a pre-generated key
psk=♣your-pre-generated-key♣
# if creating a standard image for many projects, then use pass phrase
# instead of generated key
# a generated key depends on the Raspberry Pi’s MAC
# psk=“♣your-pass-phrase♣”
# specify for clarity
key_mgmt=wpa_psk
proto=rsn
# CCMP is the correct encryption to use for WPA-PSK
# The Wi-Fi Alliance requires 802.11n transmissions use WPA2 and CCMP
pairwise=CCMP
group=CCMP
}
CTRL-o写入文件
ENTER确认写入
CTRL-x退出nano编辑器
步骤8:Testwifi.sh
图片:显示微波炉运行时的传输速率下降。
testwifi.sh
在我的第一个Raspberry Pi项目中,该pi会间歇性地失去连接并且无法恢复。当时,我没有意识到电源适配器的重要性。如果出现任何问题,我写了此脚本来还原wifi。
登录到Raspberry Pi并运行以下命令:
$ sudo nano /usr/local/bin/testwifi.sh
编辑文件,如下所示:
!/bin/bash
# Router IP address
TESTIP=♣u-verse-gateway-ip-address♣
counter=0
while true; do
# ping the router
ping -c1 ${TESTIP} 》 /dev/null
if [ $? != 0 ]
then
# try a couple of times before restarting, pings can get lost
if [ “$counter -lt 3 ]
then
counter=$((counter+1))
logger ”testwifi.sh: WiFi seems down, sleeping“
sleep 2
else
logger ”testwifi.sh: WiFi seems down, restarting“
sudo /sbin/ifdown --force wlan0
sleep 10
sudo /sbin/ifup wlan0
exit 0
fi
else
logger ”testwifi.sh: WiFi seems fine“
exit 0
fi
done
exit 0
CTRL-o写入文件
ENTER确认写入
CTRL-x退出nano编辑器
使文件可执行:
$ sudo chmod ug+x /usr/local/bin/testwifi.sh
或
$ sudo chmod 0755 /usr/local/bin/testwifi.sh
创建一个crontab条目以定期运行脚本:
$ sudo crontab –e
,并使它看起来像:
# run every 2 minutes:
*/2 * * * * /usr/local/bin/testwifi.sh 》》 /var/log/syslog
CTRL-写入文件
ENTER确认写入
CTRL-x退出nano编辑器
您已完成!
第9步:附录测量
图片:显示是否带有wpa_supplicant.conf
测量
基本的测量方法是:
重复并完善直到测量准确且容易报告的
将micro SD卡刷新到NOOBS
应用设置更改以使Raspberry Pi处于已知的良好状态
在笔记本电脑上将iperf3作为服务器运行
为每个测量重复以下步骤:
重新启动(Raspberry Pi)RPi
,无需更改即可运行iperf3作为RPi上的客户端
进行一次更改并重新启动RPi
运行iperf3作为RPi上的客户端
删除更改
将iperf3结果复制并粘贴到Excel中
在没有结果更改的情况下绘制结果Excel
在测量过程中,我将microSD卡刷新了五次。
大多数测量100个间隔。某些测量值为1000。需要更精确的数据时,需要更多的间隔。例如,当比较适配器时。
分析包括使用2 sigma测试计算平均值,最小值,最大值和标准偏差以及显着性。所有的iperf3结果都将转换为Mbps(M位/秒)
测量结果会四舍五入以适合1Mbps的bin并进行计数。四舍五入消除了一些准确性,但是使绘制图形的结果更易于解释。
两个结果(有或无变化)都以图形表示:y轴=计数,x轴= Mbps。
步骤10:附录Iperf3
图片:显示了通过无线访问点运行iperf3的两个MacBook Pro之间的带宽。
iperf3
iperf3是用于测量带宽的命令行速度测试工具。
测量两台笔记本电脑(PC或MacBooks)之间的带宽。此度量为您的网络上可实现的最高带宽建立了基线。使用网络外部的iperf3服务器可能会导致测量差异,这些差异超出了您的控制范围。
所有其他测量都是在笔记本电脑和Raspberry Pi之间进行的。这种方法隔离了Raspberry Pi上显示对带宽有影响的更改。
期望Raspberry Pi和PC之间的带宽小于两台PC之间的带宽。
安装iperf3:
打开一个终端窗口。
下载并在两台笔记本电脑/台式机上安装iperf3。 (我使用的是MacBook Pro,但它也可以在PC上使用)
http://macappstore.org/iperf3/
查找MacBook的IP地址,该IP地址将用作iperf3服务器
$ ifconfig | grep ”inet 192.168“
inet 192.168.1.76
ssh并登录到Raspberry Pi
$ ssh pi@♣raspberry-pi-ip-address♣
在Raspberry Pi上安装iperf3
$ sudo apt-get install iperf3
使用perf3进行测量:
要进行测量,请从Raspberry Pi到MacBook运行iperf3
打开终端窗口并启动iperf3服务器正在运行:
$ iperf3 -s
打开第二个终端窗口,登录Raspberry Pi并运行:
$ iperf3 -c 192.168.1.76 -R -b 0 -i1 -t 100
选项说明($ man iperf3):
-R在反向模式下运行perf
-bn = 0将带宽设置为无限制,否则n = bandwidth-不需要
-i1暂停n秒带宽报告之间的间隔-不需要
-t 100将间隔数设置为100
步骤11:附录CCMP
图像:带有和不带有CCMP
CCMP是WPA2标准所使用的标准加密协议,比WPA的WEP协议和TKIP协议更有效。这里真的没有选择。使用CCMP。
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid=♣your-ssid♣
psk=♣your-pre-generated-key♣
# only have one of measurement 1, 2 or 3
# measurement 1
# pairwise=CCMP
# group=CCMP
# measurement 2
# pairwise=CCMP
# group=CCMP
# measurement 3
pairwise=CCMP TKIP
group=CCMP TKIP
}
步骤12:附录Key_mgmt和Proto
图片:使用和不包含key_mgmt和 proto
使用和不使用key_mgmt和proto进行测量。
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
wpa-ssid=”♣your-ssid♣“
wpa-psk=”♣your-generated-psk♣“
# Only include measurement 1 or 2, but no both
# Measurement 1
# key_mgmt=WPA-PSK
# proto=RSN
# Measurement 2
key_mgmt=WPA-PSK
proto=RSN
pairwise=CCMP
group=CCMP
}
步骤13:附录环回接口
图像:带和不带环回接口
带和不带环回接口的测量。
Loopback被Raspberry Pi上的各种应用程序用来与自己对话。因此,我不会进行此更改。
$ sudo nano /etc/network/interfaces # Measurement 1
auto lo
iface lo inet loopback
# Measurement 2
# auto lo
# iface lo inet loopback
步骤14:附录默认界面
图像:带有和不带有默认界面的
带有和不带有默认界面的测量。
$ sudo nano /etc/network/interfaces # Measurement 1
iface default inet dhcp
# Measurement 2
# iface default inet dhcp
第15步:使用和不使用GUI的附录
图片:使用和不使用GUI
使用和不使用测量GUI。删除GUI会在Micro SD卡上释放大约2GB的空间。
要删除GUI,请执行以下操作:
$ sudo apt-get --purge remove ‘x11-*’
$ sudo apt-get --purge auto remove
$ sudo reboot $ sudo raspi-config
高级选项
memory_split:
Raspberry Pi的RAM有限。 RAM在中央处理器(CPU)和图形处理器(GPU)之间共享。 Raspbian Wheezy为GPU提供了64MB的RAM。删除GUI可以为运行在CPU上的应用程序释放此RAM。之后运行raspi-config应该显示分配给GPU的0MB。
在raspi-config中设置后,此命令将显示分配给GPU的内存:
$ cat /boot/config.txt
gpu_mem=0
责任编辑:wv
-
适配器
+关注
关注
8文章
1957浏览量
68089
发布评论请先 登录
相关推荐
评论