第三阶段应用层——2.8 视频监控—开发板上WIFI网卡的使用(2)-AP模式

视频监控—开发板上WIFI网卡的使用(2)-AP模式

  • 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3),无线WIFI网卡(RT3070)
  • 软件平台:运行于VMware Workstation 12 Player下UbuntuLTS16.04_x64 系统
  • 参考资料:OV7740_CSP_DS_1.51 datasheet、S3C2440 datasheet
  • 开发环境:Linux-4.13.0-41内核(虚拟机)、arm-linux-gcc-4.3.2工具链、linux-3.4.2内核(开发版根文件系统)
  • 源码仓库:https://gitee.com/d_1254436976/Embedded-Linux-Phase-3


一、使用hostapd工具

1、解压、配置、编译、安装hostapd

  1. 解压
    执行tar xzf hostapd-2.0.tar.gz

  2. 配置
    进入到hostapd-2.0/hostapd/
    执行cp defconfig .config,使用默认的配置文件
    修改.config,加一行: CONFIG_LIBNL32=y
    在这里插入图片描述
    修改MakefileCC=arm-linux-gcc
    在这里插入图片描述

  3. 编译
    执行make
    在这里插入图片描述

  4. 安装
    执行make DESTDIR=$PWD/tmp install
    在这里插入图片描述
    生成了两个可执行文件
    在这里插入图片描述

  5. 把生成的可执行文件复制到开发板的根文件系统的bin目录
    执行sudo cp * /work

  6. 由于在上篇博客中介绍到,建立了一个/etc/mdev.conf,其中使用的是STA模式,现在需要使用到AP模式,所以可以把这个配置文件删除或者重命名mv /etc/mdev.conf /etc/mdev_sta.conf

2、使用hostapd的WAP与WAP2模式

  1. 新建一个配置文件/etc/myhostapd.conf,执行vi /etc/myhostapd.conf内容如下:
ctrl_interface=/var/run/hostapd
# change wlan0 to your wireless device
interface=wlan0	# 使用的网卡
driver=nl80211	# 使用的驱动
ssid=S3C2440	# AP模式下的名字
channel=1		# 

# 认证/加密方式
macaddr_acl=0	# 
auth_algs=1		# 指定标准,WEP
ignore_broadcast_ssid=0
wpa=3			# 支持WPA、WPA2
wpa_passphrase=baiwenwang	# 网络密码
wpa_key_mgmt=WPA-PSK	# 认证方式:PSK
wpa_pairwise=TKIP		# WPA的加密方式:TKIP
rsn_pairwise=CCMP		# WPA2的加密方式:CCMP
  1. 启动hostapd
    执行hostapd -B /etc/myhostapd.conf
    在这里插入图片描述
    在手机上可以搜索到此WIFI,但是一直在获取IP,无法连接上,需要使用dhcpd,来自动为连接的设备分配IP
    在这里插入图片描述

3、使用dhcpd为连接的设备分配IP

  1. 修改配置文件/etc/dhcpd.conf,执行vi /etc/dhcpd.conf,添加的内容如下:
subnet 192.168.7.0 netmask 255.255.255.0 {                       
  range 192.168.7.10 192.168.7.100;                              
  option domain-name-servers 192.168.7.1;                        
  option routers 192.168.7.1;                                    
}
  1. 创建空文件/var/db/dhcpd.leases,执行> /var/db/dhcpd.leases

  2. 配置无线网卡的IP,执行ifconfig wlan0 192.168.7.1
    在这里插入图片描述

  3. 启动dhcpd,执行dhcpd -cf /etc/dhcpd.conf wlan0
    在这里插入图片描述
    此时手机就可以连接上开发板的无线WIFI,也可以ping通
    在这里插入图片描述

在这里插入图片描述

4、通过hostapd_cli查看hostapd状态

注意,hostapd的配置文件一定得有这句ctrl_interface=/var/run/hostapd,否则hostapd_cli与hostapd之间无法进行socket通信。

执行hostapd_cli all_sta,可以查看所有的连接信息
在这里插入图片描述
执行vi /var/db/dhcpd.leases,根据上述的c4:98:80:7f:a3:23信息,可以从文件中找到对应的连接设备
在这里插入图片描述

5、使用hostapd的OPEN模式

修改/etc/myhostapd.conf配置文件如下:

ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=S3C2440
channel=1

# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0

6、使用hostapd的WEP模式

修改/etc/myhostapd.conf配置文件如下:

ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=S3C2440
channel=1

# 认证/加密方式
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0="baiwenwang123"
wep_default_key=0

7、支持自动启动AP模式

  1. 修改/etc/mdev.conf配置文件,内容如下:
wlan0 0:0 777 * /sbin/auto_wifi_ap.sh
  1. 添加/sbin/auto_wifi_ap.sh脚本,内容如下:
#!/bin/sh
if [ $ACTION = "add" ]; 
then
   hostapd -B /etc/myhostapd.conf
   ifconfig wlan0 192.168.7.1
   dhcpd -cf /etc/dhcpd.conf wlan0
else
   killall hostapd
   killall dhcpd
fi
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。   从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页