2.1.1.15使用WIFI网卡3_工具wpa_supplicant(STA模式)

目录

1、  wpa_supplicant介绍

2、wpa_supplicant应用程序的编译与使用

(1) 先编译它的依赖libopenssl

(2)要有一个配置文件.config

3、使用:(查看wpa_supplicant的README文件)

① OPEN

② WEP/WEP

③WPA(TKIP)

④ WPA2(AES) 

⑤ 配置文件/etc/wpa_wpa2.conf里设置多个network:


 

1、  wpa_supplicant介绍

supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机——AP——认证服务器,可用于上述4种"认证/加密"

2、wpa_supplicant应用程序的编译与使用

(阅读README文件)

(1) 先编译它的依赖libopenssl

tar xzf openssl-1.0.1d.tar.gz
cd openssl-1.0.1d/


第一类是全局性选项:

--openssldir=OPENSSLDIR
          安装目录,默认是 /usr/local/ssl 。
--prefix=PREFIX
          设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。
--install_prefix=DESTDIR
          设置安装时以此目录作为"根"目录,通常用于打包,默认为空。
zlib
zlib-dynamic
no-zlib

         使用静态的zlib压缩库、使用动态的zlib压缩库、不使用zlib压缩功能。
threads
no-threads

        是否编译支持多线程的库。默认支持。
shared
no-shared

       是否生成动态连接库。
asm
no-asm

       是否在编译过程中使用汇编代码加快编译过程。
      //配置  (shared是指生成动态链接库,因为没加此项前生成的都是静态库文件。no-asm是指不使用里面的汇编代码,里面的         汇编代码是给x86特别优化的)

./config shared no-asm --prefix=$PWD/tmp
修改Makefile:
CC= arm-linux-gcc(交叉编译)
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
NM= arm-linux-nm
MAKEDEPPROG= arm-linux-gcc

//编译
make

//安装

make install
安装:(把编译处理的头文件和库文件复制到工具链那里)
把编译出来的头文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

cd tmp/include
sudo cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/ -rf


把编译出来的库文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

openssl-1.0.1d/tmp/lib$ sudo cp * -rf -d /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/

把编译出来的库文件应该放入NFS文件系统的lib目录:
/work/nfs_root/fs_mini_mdev_new/lib

(2)要有一个配置文件.config

tar xzf wpa_supplicant-2.0.tar.gz 
cd wpa_supplicant-2.0/wpa_supplicant/
cp defconfig .config
修改.config加上一行: CONFIG_LIBNL32=y
修改Makefile:
CC=arm-linux-gcc(使用交叉编译)

//编译
make(make log.txt 2>&1这句话是指编译输出的信息会存入log.txt,错误的信息也会存入第一个文件(log.txt))

//指定安装路径(DESTDIR=$PWD/tmp指目的目录等于当前目录下的tmp)

make DESTDIR=$PWD/tmp install

把生成的应用程序拷贝到网络文件系统的bin目录下面

cp tmp/usr/local/sbin/ work/nfs_root/fs_mini_mdev_new/bin/

启动开发板 

3、使用:(查看wpa_supplicant的README文件)

参数使用

这里-p是直接创建相关的目录,如目录run本来是没有的,但是要创建wap_supplicant,这样会先创建run目录,再在run目录下创建wpa_supplicant

mkdir -p /var/run/wpa_supplicant

注意:配置文件来源于/work/projects/wifi/wap_supplicant/wap_supplicant-2.0/wap_supplicant/examples里的.config文件,复制到网络文件系统的/etc目录下

① OPEN

//-B是指应用程序wpa_supplicant运行于后台,-c是指定配置文件, -i是指定网卡接口名

wpa_supplicant -B -c/etc/plaintext.conf -iwlan0

查看网卡wlan0的状态

wpa_cli -iwlan0 status // 查看状态

配置网卡IP

ifconfig wlan0 192.168.1.55

ping网关,若能ping通,表明配置网卡IP成功

ping 192.168.1.1


配置文件/etc/plaintext.conf内容为:
ctrl_interface=/var/run/wpa_supplicant

//network表示连接哪个网络

network={
        ssid="dswei" //AP名

        key_mgmt=NONE//指认证的方法
}

killall wap_supplicant  killall用于杀死指定名字的进程(kill processes by name)。

ifconfig wlan0 down 关闭网卡0

② WEP/WEP

wpa_supplicant -B -c/etc/wep.conf  -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件/etc/wep.conf:

ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="dswei"
        key_mgmt=NONE //使用open或wep的认证方式
        wep_key0="baiwenwang123"  //密码(5个字符或13个字符)
        wep_tx_keyidx=0 //表示使用哪一个密码,现在使用第0个密码
}


③WPA(TKIP)

wpa_supplicant -B -c/etc/wpa-psk-tkip.conf  -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件/etc/wpa-psk-tkip.conf

ctrl_interface=/var/run/wpa_supplicant  # 一个目录,用于wpa_supplicant和wpa_cli的socket通信,用作wap_cli查看应用程序wpa_supplicant状态
network={
        ssid="dswei"
        proto=WPA  # proto: list of accepted protocols, 可取WPA,RSN
                   # If not set, this defaults to: WPA RSN
        key_mgmt=WPA-PSK # 认证方式(PSK是指把密码放在无线AP那里)
                         # If not set, this defaults to: WPA-PSK WPA-EAP
        pairwise=TKIP    # If not set, this defaults to: CCMP TKIP
        group=TKIP       # If not set, this defaults to: CCMP TKIP WEP104 WEP40 
        psk="baiwenwang12"  #密码
}


④ WPA2(AES) 

配置文件来源:cp /etc/wpa-psk-tkip.conf  /etc/wpa_wpa2.conf

wpa_supplicant -B -c/etc/wpa_wpa2.conf -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件/etc/wpa_wpa2.conf:

ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="dswei"
        psk="baiwenwang123"
}


另:
wpa_cli可工作于"命令模式"和"交互模式"

命令模式:wpa_cli -iwlan0 status 

                 wpa_cli -iwlan0 scan_results 查看扫描的无线AP结果

交互模式:直接执行wpa_cli命令,可执行其他命令,输入quit命令退出


⑤ 配置文件/etc/wpa_wpa2.conf里设置多个network:

ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="dswei"
        psk="baiwenwang123"
}
network={
        ssid="Programer"
        psk="baiwenwang"
}


⑥ 访问外网:

man resolv.conf查看格式,修改/etc/resolv.conf(在服务器上的)添加DNS:(DNS是域名服务器,把网址)
nameserver 192.168.1.1


设置网关:
route add default gw 192.168.1.1
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值