Go to file
openharmony_ci ac2f4dc535 !182 fix(*): update d.ts file
Merge pull request !182 from Zhangfeng/br1
2021-12-23 11:25:57 +00:00
figures update readme document 2021-09-30 04:05:59 +00:00
interfaces fix(*): 1. update d.ts file; 2021-12-23 08:08:56 +00:00
services/wifi_standard fix(*): 1. update d.ts file; 2. modify sta report status enum value; 3. Reconnect directed to wpa_supplicant's interface 2021-12-14 05:26:56 +00:00
tests/wifi_standard fix(*): 1. update d.ts file; 2. modify sta report status enum value; 3. Reconnect directed to wpa_supplicant's interface 2021-12-14 05:26:56 +00:00
utils feat(*): add WiFi dump feature 2021-11-12 01:41:06 +00:00
.gitattributes update OpenHarmony 2.0 Canary 2021-06-02 02:21:01 +08:00
LICENSE update OpenHarmony 2.0 Canary 2021-06-02 02:21:01 +08:00
OAT.xml add wifi oat configuration file 2021-07-31 03:08:23 +00:00
ohos.build !155 feat(*): add WiFi dump feature 2021-11-20 10:43:31 +00:00
README_zh.md !155 feat(*): add WiFi dump feature 2021-11-20 10:43:31 +00:00
README.md !155 feat(*): add WiFi dump feature 2021-11-20 10:43:31 +00:00

communication_wifi

Introduction

A wireless local area network WLAN uses the radio, infrared, or other technologies to transmit data between devices that are not physically connected with each other. It is widely applied in offices and public places where mobile devices are used.

The WLAN module provides basic WLAN functions, peer-to-peer P2P connection, and WLAN notification, enabling your application to communicate with other devices through a WLAN.

Architecture

Figure 1 WLAN architecture

Directory Structure

/foundation/communication/wifi
├── figures            # Figures
├── interfaces         # APIs
│   ├── innerkits      # Inner APIs
│   └── kits           # WLAN APIs
├── services           # Services
│   └── wifi_standard  # Service implementation
├── tests              # Test code
│   └── wifi_standard  # Test code for the service implementation module
└── utils              # Utility functions
    ├── inc            # Header directory for utility functions
    └── src            # Implementation directory for utility functions

Usage

Available APIs

The following table describes JavaScript APIs in @ohos.wifi available for basic WLAN functions.

Table 1 Major JavaScript APIs available for basic WLAN functions

API

Description

Required Permission

function enableWifi(): boolean

Enables WLAN.

NA

function disableWifi(): boolean

Disables WLAN.

NA

function isWifiActive(): boolean

Checks whether WLAN is enabled.

NA

function scan(): boolean

Starts a WLAN scan.

NA

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

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

Obtains the WLAN scan result. This API can be called in either callback or promise mode.

NA

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

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

Adds a WLAN hotspot configuration. This API can be called in either callback or promise mode.

NA

function connectToNetwork(networkId: number): boolean

Sets up a WLAN based on the hotspot configuration ID.

NA

function connectToDevice(config: WifiDeviceConfig): boolean

Sets up a WLAN based on the hotspot configuration.

NA

function disconnect(): boolean

Disconnects from a WLAN.

NA

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

Obtains the WLAN signal strength.

NA

Usage Guidelines

Before invoking WLAN JavaScript APIs, you need to import the @ohos.wifi_native_js class.

import wf from '@ohos.wifi'; // Import the @ohos.wifi class.
  • Obtaining the WLAN state
  1. Call the isWifiActive() method to check whether WLAN is enabled.

    var isWifiActive = wf.isWifiActive(); // Value true indicates that WLAN is enabled, and false indicates the opposite.
    
  • Starting a scan and obtaining the scan result
  1. Call the scan() method to start a scan.

  2. Call the getScanInfoList() method to obtain the scan result.

    // Start a scan.
    var isScanSuccess = wf.scan(); // true
    
    // Wait for some time.
    
    // Obtain the scan result.
    wf.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);
        }
    })
    

Set up a WLAN connection.

  1. Call addDeviceConfig to add a hotspot configuration, and set up a WLAN based on the hotspot configuration ID or by calling connectToDevice with the hotspot configuration passed.

    // Configure WLAN information.
    var config = {
        "ssid":"test_wifi",
        "bssid":"",
        "preSharedKey":"12345678",
        "isHiddenSsid":false,
        "securityType":3,
    }
    Method 1:
    // Add a hotspot configuration.
    wf.addDeviceConfig(config, (result) => {
        console.info("config id: " + result);
        // Set up a WLAN based on the hotspot configuration ID.
        wf.connectToNetwork(result);
    });
    Method 2:
    // Set up a WLAN by calling connectToDevice with the hotspot configuration passed.
    wf.connectToDevice(config);
    

Repositories Involved

communication_wifi