图文讲解 WiFi 驱动移植过程,很肝~
备注:由于自己目前仅使用了一款 WiFi ,因此不能代表所有的 WiFi 种类,仅以此为代表,谈谈自己的理解与思考。如有问题,欢迎一块讨论交流。可关注微信公众号「嵌入式基础学习」,通过公众号后台,加我微信好友,一起学习!
1 简介
WiFi 是什么?能用来做什么?
开启 WiFi ,连接到路由器; 开启热点(AP),让别人连接到由自己设备 WiFi 开出来的路由;
本次 WiFi 驱动移植,应用场景是什么呢?
对安装环境要求较高的地方(尽可能少的接线); 不易连接有线网络的地方; 低成本,不想用 4G 的地方; 仅用作局域网通信; ...
设备怎么与 WiFi 模块通信?有哪几种方式?
硬件怎么连接?是否需要天线?如果不需要天线有什么问题?天线不适配又有什么问题?
D+:USB接口+ D-:USB接口- ANT:天线接口
2 整体流程
2.1 基础移植
USB WiFi 的基本操作,都是通过 命令行 实现,因此必须要先检测到 WiFi 网卡,才能针对此网卡,进行特定操作。 本质与操作有线网卡 eth0 类似。
2.2 命令交叉编译
注意命令权限,正常应该是 755 ,一定要有可执行权限!!!
2.3 业务开发
HTTP Server
,这个 Server
可以处理 POST
请求,进而实现与其他移动端设备的数据交互。3 问题汇总
WiFi 配置为 AP 模式需要做什么?注意什么?
找得到:我们总得能看到这个 WiFi 热点吧? 连得上:我们即使看到了,也得能正常连上去吧?
必须要选择合适的天线,否则信号较难发射出来,又或者信号不好; 服务端需要有 DHCP 功能,确保设备可以正常连接,正常获取到 IP 地址;
如果没有开启 DHCP 功能,有什么异常?
WiFi 开启 AP 模式,信道选择有什么注意的?
WiFi 信号强度不好; WiFi 信号稳定性不好; 找到 WiFi 路由,需要的时间较久;
WiFi 模块天线选择问题
WiFi 模块相关问题,是否跟驱动有关系?
天线安装位置问题
4 总结
嵌入式编程专辑 Linux 学习专辑 C/C++编程专辑 Qt进阶学习专辑
评论