第8章 无线AP的实现
来源:互联网 发布:js split 数组 length 编辑:程序博客网 时间:2024/06/05 02:39
8.1在开发板上面使能Wi-Fi
简单的来讲,我们有时候担心手机流量用得太多,于是在笔记本上打开了 wifi 给手机连接,这时候,笔记本就充当了 Access Point 的角色,无线网络简单的可以看成是无线接入点,终端,无线介质组成,手机接入到笔记本 wifi 情景中,手机是终端,同样的道理,开发板也可以是无线接入点,这样手机可以搜索到,当然笔记本也可以搜索到该 wifi。
开启和关闭 wifi 的方式有三种: 开发板上开启, Web 操作界面开启, 源码中使能 wifi。
通过前面的章节的学习,我们成功的将OpenWrt系统在我们的开发板上面跑了起来,但是我们却收不到开发板发出的Wi-Fi信号。那么,接下来,我们就通过修改开发板上面的配置文件wireless,位于/etc/config目录,来开开启Wi-Fi信号。
命令:vi /etc/config/wireless
wireless的内容如下。
config wifi-device radio0
option type mac80211
option channel 11
option hwmode11g
option path ‘10180000.wmac’
option htmode HT20
#REMOVE THIS LINE TO ENABLE WIFI:
option disabled1
config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt
option encryption none
大家应该看到注视了,我们要使能Wi-Fi,只需要将option disabled1这一行给注释掉即可。因此将
#REMOVE THIS LINE TO ENABLE WIFI:
option disabled1
改为
#REMOVE THIS LINE TO ENABLE WIFI:
#option disabled1
或者去掉。
然后保存退出,并重启开发板,就能收到Wi-Fi信号了。对应的SSID为OpenWrt。
8.2通过Web界面使能Wi-Fi
在上一章中,我们辛辛苦苦给开发板添加了Web界面,那么,现在我们就通过Web界面来使能或者关闭Wi-Fi信号。
首先通过浏览器登录到开发板的Web界面,然后鼠标选中网络,在弹出的下拉菜单中选中无线,如图 3 所示。
最后,在无线的界面中,点击启用按钮,如图4所示,即可开启开发板的Wi-Fi。
8.3在源码中使能Wi-Fi
如果是在开发板上面来使能Wi-Fi,操作虽然简单,但是和前面配置WAN、LAN口有一样的问题,就是每次重新烧写固件后,都需要重新去修改配置文件,非常麻烦。那么,接下来就来讲解如何通过修改源码的方式来使能Wi-Fi信号。
要在源码中使能Wi-Fi信号,那么需要修改mac80211.sh这个脚本程序,位于openwrt源码/package/kernel/mac80211/files/lib/wifi目录。同样,只需要将如图5所示的下面画线的这行注释掉即可。
最后,保存退出,再重新编译系统。然后将新编译出来的固件烧写到开发板上面即可。
8.4修改SSID的名称
通过前面的努力,我们成功的启动了开发板的Wi-Fi信号,但是发现它的SSID为OpenWrt,如果我们想取一个我们自己喜欢的名字,该怎么操作呢?
以取名为“openwrt”为例。
同样是修改mac80211.sh这个脚本程序,该脚本程序位于openwrt系统源码的/package/kernel/mac80211/files/lib/wifi目录。
我们只需要将mac80211.sh这个脚本程序中的
改为
option ssid openwrt_linux
最后,保存退出,再重新编译系统。然后将新编译出来的固件烧写到开发板上面即可。
8.5 为接入点设置密码
成功让开发板作为 AP 后,我们发现可以直接的进行连接而没有通过密码验证,这里我们通过 web 界面进行密码设置,开发板设置的地方是在:/etc/config/wireless,可以通过web 成功设置后回去查看!
设置步骤如下:
1) 登录 web 界面后选择 网络->无线,对 AP 进行修改。
2) 设置密码
小贴士:vi 操作笔记
1.关于退出
:wq! —-强制保存退出
:wq —- 保存退出
:x —– 作用和:wq 一样
ZZ —- 作用和:wq 一样,(注意 Z 是大写的,并且不是在命令模式)
:q —- 退出
:q! — 强制退出
==============================================
2.关于移动
h : 在当前行向左移动一个字符
j: 移动到下一行
k: 移动到上一行
l: 在当前行向右移动一个字符
Ctrl +f: 向前滚动一页
Ctrl +b: 向后滚动一页
:n 将光标定位到第 n 行
:
G 将光标定位到本文章的最后一行,与: $功能相同。
H 将光标定位到屏幕的顶端
M 将光标定位到屏幕的中间
L 将光标定位到屏幕的底端
============================================
3.关于搜索
/: 后面跟要查找的东西,在文件中向前搜索
?: 后面跟要查找的东西,在文件中向后搜索
n: 向前重复搜索
N: 向后重复搜索
=============================================
4.关于复制
yy: 复制光标当前行
nyy: 复制光标当前行到当前行以下的 n-1 行
:1,100 co 200 将 1~100 的内容复制到第 200 行
:100,102 co $ 将 100~102 行的内容复制到最后一行。
==============================================
5.关于粘贴
p : 粘贴到当前行的下一行
P(大) : 粘贴到当前行的 上一行
==============================================
6.关于删除.剪切
dd 删除当前行
ndd 与 nyy 相似
dw 删除一个单词
ndw 与 ndd 相似
x 删除一个字符
nx 删除 n 个字符
dG 删除当前光标到文件末尾的所有内容。
d0 删除当前光标到本行行首的所有内容
d
=============================================
7.关于插入
i: 在当前位置的字符前面进入插入模式
I: 在当前行的开头进行插入
a: 在当前位置的字符后面进入插入模式
A: 在当前行的结尾进行插入
o: 在当前行下面打开一个新行进行插入
O: 在当前行上面打开一个新行进行插入
=============================================
8.关于撤销
u: 撤销上一次的更改
=============================================
9.关于替换
regexp: 是要匹配的式样
replacement: 是要替换的字符串
:s/regexp/replacement ————————-替换当前行出现的第一个式样
:s/regexp/replacement/g ————————-替换当前行所有的匹配
:%s/regexp/replacement/g ———————–替换文件中所有匹配式样
=============================================
PS: 还有一个重要的命令就是”.” 命令,这个命令是用来重复上一命令的
vi 里如何:撤销上次操作?,多次重复一组编辑操作?…….
a) 撤消上一个编辑操作。 ====> u
b) 重复上一个编辑操作。 =====> .
c) 还原被撤消的编辑操作。 ======> Ctrl + R
d) 多次重复一组编辑操作。 ====> “. ” 命令可以重复最近一次的编辑动作
- 第8章 无线AP的实现
- 无线AP与无线路由器的区别?什么是无线AP?
- 笔记本电脑(Windows7)实现无线AP
- Win7虚拟Wifi,实现无线路由器的AP功能
- 基于openwrt和s3c2440的无线ap实现
- 基于openwrt和s3c2440的无线ap实现
- iptables学习笔记:使用NAT实现简单的无线AP
- iptables学习笔记:使用NAT实现简单的无线AP
- [AP]无线AP和无线路由的区别
- wlan无线ap的基础知识
- 无线网关和无线AP的区别
- 无线路由器与无线AP的区别
- 无线路由器与无线AP的区别
- 无线AP和无线路由的区别
- 无线AP与无线路由的区别
- 无线AP与无线路由器的区别
- 无线AP与无线路由器的区别
- 无线AP与无线路由的区别
- CAMWorks.For.Solid.Edge.2017.SP2.Win64 1DVD
- python中的pickle模块
- 分享一些实用的工具类
- js生成随机不重复ID
- 将数据写到本地的某个文件夹下
- 第8章 无线AP的实现
- bzoj 3811: 玛里苟斯(期望+线性基)
- java中调用cmd命令
- codeforces 805F
- 唯快不破:TCP/IP详解--TCP传输小数据包效率问题
- C++编程中对缓冲区的理解
- RocketMQ在windows上安装和开发使用
- 宫涵蕴宇宙第一霹雳无敌可爱
- Ajax动态提交参数名和参数值(SpingMVC为例)