鸿蒙wifi Demo运行

2023-05-16


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鸿蒙wifi Demo运行 的相关文章

  • busybox概述

    busybox是什么 xff1f xff08 1 xff09 busybox是Linux上的一个应用程序 application xff0c 即只有一个ELF文件头 xff08 2 xff09 它整合了许多Linux上常用的工具和命令 xf

随机推荐

  • SR-IOV

    SSR IOV是Single Root I O Virtualization的缩写 在虚拟机中 xff0c 一切皆虚拟 比如网卡 xff0c 虚拟机看来好像有一个真实网卡 xff0c 但是这个网卡是宿主机虚拟出来的硬件 xff0c 也就是一
  • 希尔排序算法

    本章介绍排序算法中的希尔排序 内容包括 xff1a 1 希尔排序介绍 2 希尔排序图文说明 3 希尔排序的时间复杂度和稳定性 4 希尔排序实现 4 1 希尔排序C实现 4 2 希尔排序C 43 43 实现 4 3 希尔排序Java实现 转载
  • 归并排序算法

    概要 本章介绍排序算法中的归并排序 内容包括 xff1a 1 归并排序介绍 2 归并排序图文说明 3 归并排序的时间复杂度和稳定性 4 归并排序实现 4 1 归并排序C实现 4 2 归并排序C 43 43 实现 4 3 归并排序Java实现
  • 拓扑排序算法

    拓扑排序介绍 拓扑排序 Topological Order 是指 xff0c 将一个有向无环图 Directed Acyclic Graph简称DAG 进行排序进而得到一个有序的线性序列 这样说 xff0c 可能理解起来比较抽象 下面通过简
  • 线性时不变系统输出调节问题

    线性时不变系统输出调节问题 最近在学习 Nonlinear output regulation 中的linear output regulation时 xff0c 对于linear robust output regulation的问题时
  • MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本

    MinGW w64安装教程 著名C C 43 43 编译器GCC的Windows版本 MinGW w64安装教程 著名C C 43 43 编译器GCC的Windows版本 本文主要讲述如何安装 C语言 编译器 MinGW w64 xff0c
  • RT-Thread实时操作系统简介

    目录 一 概述 二 架构 三 版本选择 四 内核启动流程 五 自动初始化机制 六 内核对象模型 七 I O设备模型 1 框架 2 设备驱动使用序列图 3 设备类型 八 FinSH控制台 九 ENV工具 1 menuconfig 2 Scon
  • PCIe RAS

    对于Linux系统针对RAS的AER错误处理机制完成 PCIe RAS简单来讲就是PCIe的错误检测 纠正以及汇报的机制 它可以方便我们准确的定位 xff0c 纠正和分析错误增强系统的健壮性和可靠性 PCIe错误的分类 PCIe错误分为可校
  • Linux下的regulator调试

    先看regulator使用的小demo 如 i2c8 touchscreen 64 28 vddcama supply 61 lt amp xxxxx gt int ret struct regulator power static int
  • 关于添加系统调用遇到 Unable to handle kernel paging request at virtual address 的解决

    Unable to handle kernel paging request at virtual address 是内存访问异常的错误 xff0c 原因通常有三种 xff1a virtual address 为 0x00000000 时
  • vscode安装配置clang-format插件及使用

    vscode安装配置clang format插件及使用 首先安装插件 在vscode扩展里搜索clang format xff0c 安装排名第一的xaver clang format 确认clang format可执行程序路径 window
  • 简历中项目描述怎么写啊

    http wenda tianya cn question 7ade6dc9324bed88
  • 树莓派(Raspberry Pi 3) - 系统烧录及系统使用

    树莓派 xff08 Raspberry pi xff09 是一块集成度极高的ARM开发板 xff0c 不仅包含了HDMI xff0c RCA xff0c CSI xff0c HDMI xff0c GPIO等端口 xff0c 还支持蓝牙以及无
  • flashcache原理

    介绍flashcache的文章很多 xff0c 我就不废话了 使用上 xff0c 有余峰老哥的 文章 xff1b 原理上 xff0c 有ningoo同学的 flashcache系列 但是ningoo同学漏掉了device mapper和fl
  • 无人机算法之PID

    xff08 未完成 xff09 一 PID介绍 xff08 百度百科 xff09 PID 控制器 xff08 比例 积分 微分控制器 xff09 是一个在工业控制应用中常见的反馈回路部件 xff0c 由比例单元 P 积分单元 I 和微分单元
  • java:接口、lambda表达式与内部类

    接口 xff08 interface 接口用来描述类应该做什么 xff0c 而不指定他们具体应该如何做 接口不是类 xff0c 而是对符合这个接口的类的一组需求 接口定义的关键词是interface span class token key
  • 卫星系统算法课程设计 - 第二部分 qt的安装与创建项目

    上一篇文章只讲了基本的东西 xff0c 这一篇要完成qt的安装 xff0c 构建项目 xff0c 并且将上一篇的代码导入进去 某比利比例搜qt安装 xff0c 看到qt5 14 2的下载安装 xff0c 跟着做 1 创建项目 创建新项目 x
  • 无人机-材料准备

    xff08 未完成 xff09 一 使用空心杯电机 xff0c 型号8520 xff0c 1S版本 xff0c 约5G每只 二 空心杯机架 xff0c 型号QX90 xff0c 约8 5g 三 使用55MM桨 四 1S 600MA电池 五
  • CMake中链接库的顺序问题

    原文链接 xff1a https blog csdn net lifemap article details 7586363 cmake中链接库的顺序是a依赖b xff0c 那么b放在a的后面 例如进程test依赖a库 b库 a库又依赖b
  • 鸿蒙wifi Demo运行

    title 鸿蒙Wi Fi Demo运行 date 2021 1 1 22 25 10 categories harmony 本文首发于LHM s notes 欢迎关注我的博客 坑有点多 由于之前没有看过wifi的内核态代码 xff0c 所