admin管理员组文章数量:1620395
title: 鸿蒙Wi-Fi Demo运行
date: 2021-1-1 22:25:10
categories: harmony
本文首发于LHM’s notes, 欢迎关注我的博客~
坑有点多~
由于之前没有看过wifi的内核态代码,所以这里只能一个文件一个文件摸索了。但是在摸索的过程中发现,Wi-Fi内核态的代码鸿蒙竟然没有开放,只有一个libwpa.a静态库。由于官方开发板Hi3518中搭配的wifi芯片是Hi3881,猜测libwpa.a中的实现是根据Hi3881具体定制,因此没有开放出来?内核态的研究只能就此打住,后续再想办法。
接着摸索发现有几个Wi-Fi Demo用例,是和官方开发板搭配使用的,那就先将这几个Demo跑起来看看。
进入applications/sample/camera/communication/BUILD.gn
中,添加如下修改:
lite_component(“sample“) {
features = [
"wpa_supplicant:wpa_sample", #station模式的示例
"hostapd:hostapd_sample", #ap模式的示例
"wpa_cli:wpa_cli_sample" #使用client监听事件和控制wpa的示例
]
}
在features字段中增加索引,使指定的目标模板参与编译。features字段指定业务模板的路径和目标。
- wpa_supplicant是相对目标,指向该BUILD.gn当前目录下的wpa_supplicant文件
- wpa_sample是编译目标
将这三行代码加上去之后,编译之后重启系统,bin目录下会新增 wpa_supplicant
wpa_cli
hostapd
三个二进制文件。
运行STA模式
在harmonyOS 下,进入bin文件
执行 ./wpa_supplicant -i wlan0 -c ../etc/wpa_supplicant.conf
注意:
-
wpa_supplicant.conf需要提前设置ssid 和psk
-
官方开发板的wlan只支持2.4,如果手机开的热点是5G, 那么STA会怎么也扫不到
在
applications/sample/camera/communication/wpa_supplicant/config/wpa_supplicant.conf
文件下
country=GB
ctrl_interface=udp
network={
ssid="lhm" # wifi账号
psk="88888888" # wifi 密码
}
运行AP模式
在harmonyOS 下,进入bin文件
执行 ./hostapd -i wlan0 /etc/hostapd.conf
同理,hostapd.conf需要做一些配置
在applications/sample/camera/communication/hostapd/config/hostapd.conf
文件下
interface=wlan0
driver=hdf wifi
ctrl_interface=udp
ssid=testap
hw_mode=g
channel=1
ignore_broadcast_ssid=0
wpa_passphrase=12345678
执行之后那么手机可以发现一个叫testap的热点,可以连上去,但是没有网络。就像没有联网的路由器,可以连接,但是无法上网。
版权声明:本文标题:鸿蒙wifi Demo运行 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728818484a1175171.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论