# communication_wifi **Repository Path**: openEuler-remix/communication_wifi ## Basic Information - **Project Name**: communication_wifi - **Description**: Wi-Fi station/P2P/AP management, including enabling, disabling, scanning, connecting, and information obtaining operations | WiFi STA/P2P/AP模式的管理:开关、扫描、连接、WiFi信息 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1251 - **Created**: 2021-10-29 - **Last Updated**: 2021-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WLAN组件 - [简介](#section11660541593) - [系统架构](#section342962219551) - [目录](#section161941989596) - [说明](#section1312121216216) - [接口说明](#section1551164914237) - [使用说明](#section129654513264) - [相关仓](#section1371113476307) ## 简介 无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。 WLAN组件子系统为用户提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。 ## 系统架构 **图 1** WLAN组件架构图 ![](figures/zh-cn_image_0000001115710400.png) ## 目录 ``` /foundation/communication/wifi ├── figures # 图片资源目录 ├── interfaces # 接口适配目录 │   ├── innerkits # 内部接口适配目录 │   └── kits # WLAN组件接口的适配代码存放目录 ├── services # service适配目录 │   └── wifi_standard # service实现目录 └── tests # 测试代码目录 └── wifi_standard # service实现模块测试代码 ``` ## 说明 ### 接口说明 WLAN基础功能由@ohos.wifi\_native\_js类提供,其接口\(JS接口\)说明如下。 **表 1** WLAN基础功能的主要接口\(JS接口\)

接口名

描述

所需权限

function enableWifi(): boolean

打开WLAN。

NA

function disableWifi(): boolean

关闭WLAN。

NA

function isWifiActive(): boolean

查询WLAN是否处于打开状态。

NA

function scan(): boolean

发起WLAN扫描。

NA

function getScanInfos(): Promise<Array<WifiScanInfo>>

function getScanInfos(callback: AsyncCallback<Array<WifiScanInfo>>): void

获取WLAN扫描结果,接口可采用promise或callback方式调用。

NA

function addDeviceConfig(config: WifiDeviceConfig): Promise<number>

function addDeviceConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void

添加WLAN热点的配置信息,接口可采用promise或callback方式调用。

NA

function connectToNetwork(networkId: number): boolean

连接到WLAN网络。

NA

function connectToDevice(config: WifiDeviceConfig): boolean

连接到WLAN网络。

NA

function disconnect(): boolean

断开WLAN连接。

NA

function getSignalLevel(rssi: number, band: number): number

获取WLAN信号强度。

NA

### 使用说明 在调用WLAN JS接口前需要导入接口类。 ``` import wifi_native_js from '@ohos.wifi_native_js'; // 导入js接口类 ``` (一)获取WLAN状态 1. 调用isWifiActive​\(\)接口查询WLAN是否打开。 ``` var isWifiActive = wifi_native_js.isWifiActive(); // 若WLAN打开,则返回true,否则返回false ``` (二)发起扫描并获取结果 1. 调用scan​\(\)接口发起扫描。 2. 调用getScanInfoList​\(\)接口获取扫描结果。 ``` // 调用WLAN扫描接口 var isScanSuccess = wifi_native_js.scan(); // true // 延迟一定时间 // 获取扫描结果 wifi_native_js.getScanInfos(result => { var num = Object.keys(result).length; console.info("wifi scan result mum: " + num); for (var i = 0; i < num; ++i) { console.info("ssid: " + result[i].ssid); console.info("bssid: " + result[i].bssid); console.info("securityType: " + result[i].securityType); console.info("rssi: " + result[i].rssi); console.info("band: " + result[i].band); console.info("frequency: " + result[i].frequency); console.info("timestamp: " + result[i].timestamp); } }) ``` (三)连接WLAN 1. 调用addDeviceConfig添加配置,然后通过返回的配置id连接WLAN或调用connectToDevice通过配置直接连接WLAN。 ``` // WLAN配置信息 var config = { "ssid":"test_wifi", "bssid":"", "preSharedKey":"12345678", "isHiddenSsid":false, "securityType":3, } 方式一: // 添加配置 wifi_native_js.addDeviceConfig(config, (result) => { console.info("config id: " + result); // 通过配置id连接WLAN wifi_native_js.connectToNetwork(result); }); 方式二: // 通过配置信息直接连接WLAN wifi_native_js.connectToDevice(config); ``` ## 相关仓 分布式软总线子系统 communication\_wifi