如何从wifi适配器获取信息?

时间:2016-04-30 08:17:13

标签: linux raspberry-pi

我想在树莓派上创建一个本地网页,并能够使用该页面在wifi网络之间切换。

我将从哪里开始获取可用的SSID列表及相关信息? (此时,我没有选择语言,但会考虑Perl,python或JavaScript)

1 个答案:

答案 0 :(得分:1)

命令sudo iwlist wlan0 scan列出了PI可用的WiFi网络。

sudo用于允许普通用户帐户的超级用户(root)访问。

您应该使用visudo命令编辑sudo配置文件。使用任何其他命令或编辑器可能会使sudo无法使用并锁定您的root访问权限!

这一行:

www-data  ALL=(ALL) NOPASSWD:/sbin/iwlist wlan0 scan

应允许您的网络服务器用户访问SSID列表命令。

现在任何脚本(包括bash)都可以获得SSID列表:

#!/usr/bin/perl
use strict;
use warnings;

open my $iwlist_fh,'-|','sudo iwlist wlan0 scan';
while (<$iwlist_fh>) {
    print "SSID $1 found\n" if /ESSID:"(.+)"/;
}
close $iwlist_fh;

注意:iwlist命令可能需要几秒钟(或更长时间)才能运行。您可能希望异步获取列表。