mirror of
https://gitee.com/openharmony/communication_wifi.git
synced 2024-12-20 05:39:04 +00:00
90e79c98a6
Signed-off-by: Neil Chen <jingsi.chen@petalmail.com>
13 KiB
13 KiB
WLAN组件
简介
无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。
WLAN组件子系统为用户提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。
系统架构
目录
/foundation/communication/wifi
├── figures # 图片资源目录
├── interfaces # 接口适配目录
│ ├── innerkits # 内部接口适配目录
│ └── kits # WLAN组件接口的适配代码存放目录
├── services # service适配目录
│ └── wifi_standard # service实现目录
├── tests # 测试代码目录
│ └── wifi_standard # service实现模块测试代码
└── utils # 实用函数目录
├── inc # 实用函数头文件目录
└── src # 实用函数实现目录
说明
接口说明
WLAN基础功能由@ohos.wifi类提供,其接口(JS接口)说明如下。
表 1 WLAN基础功能的主要接口JS接口
使用说明
在使用WLAN JS接口前需导入接口类@ohos.wifi。
import wf from '@ohos.wifi'; // 导入js接口类
(一)获取WLAN状态
-
调用isWifiActive()接口查询WLAN是否打开。
var isWifiActive = wf.isWifiActive(); // 若WLAN打开,返回true,否则false
(二)发起扫描并获取结果
-
调用scan()接口发起扫描。
-
调用getScanInfoList()接口获取扫描结果。
// 调用WLAN扫描接口 var isScanSuccess = wf.scan(); // true // 延迟一段时间 // 获取扫描结果 wf.getScanInfos((err, result) => { if (err) { console.error("get scan info error"); return; } var len = Object.keys(result).length; console.log("get scan info number: " + len); for (var i = 0; i < len; ++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
-
调用addDeviceConfig添加配置,然后通过返回的配置id连接WLAN或调用connectToDevice通过配置直接连接WLAN。
// WLAN配置信息 var config = { "ssid":"test_wifi", "bssid":"", "preSharedKey":"12345678", "isHiddenSsid":false, "securityType":3, } 方式一: // 添加配置 wf.addDeviceConfig(config, (err, result) => { if (err) { console.error("add device config error"); return; } console.info("config id: " + result); // 通过配置id连接WLAN wf.connectToNetwork(result); }); 方式二: // 通过配置信息直接连接WLAN wf.connectToDevice(config);
相关仓
communication_wifi