鸿蒙wifi Demo运行


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的热点,可以连上去,但是没有网络。就像没有联网的路由器,可以连接,但是无法上网。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值