Коммуникация по Wi-Fi
Беспроводная локальная сеть (WLAN) использует радиоволны, инфракрасное излучение или другие технологии для передачи данных между устройствами, которые не связаны физически. Она широко применяется в офисах и общественных местах, где используются мобильные устройства.
Модуль WLAN предоставляет основные функции WLAN, одноранговое соединение P2P и уведомления WLAN, позволяя вашему приложению взаимодействовать с другими устройствами через WLAN.
Рисунок 1. Архитектура WLAN
/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
В таблице ниже описаны JavaScript API в @ohos.wifi, доступные для основных функций WLAN.
Таблица 1. Основные JavaScript API, доступные для базовых функций WLAN
API | Описание | Необходимое разрешение |
---|---|---|
function enableWifi(): boolean | Включает WLAN | NA |
function disableWifi(): boolean | Отключает WLAN | NA |
name="a9d1794f64a4a4177b0c247a5378cc8a3"> Disables WLAN.
Перевод текста на русский язык: Отключает беспроводную локальную сеть (WLAN).
Примечание: в запросе не хватает информации для перевода остальных фрагментов текста. Подключение к сети (connectToNetwork)
Функция connectToNetwork(networkId: number): boolean устанавливает WLAN на основе идентификатора конфигурации точки доступа.
Подключение к устройству (connectToDevice)
Функция connectToDevice(config: WifiDeviceConfig): boolean также устанавливает WLAN, но на основе конфигурации точки доступа.
Отключение (disconnect)
Функция disconnect(): boolean отключает от WLAN.
Получение уровня сигнала (getSignalLevel)
Функция getSignalLevel(rssi: number, band: number): number определяет уровень сигнала WLAN.
Перед использованием WLAN JavaScript API необходимо импортировать класс @ohos.wifi_native_js. Для этого используется команда import wf from '@ohos.wifi'.
Для проверки активности WLAN используется метод isWifiActive(). Если значение равно true, то WLAN активна, если false — неактивна.
Чтобы запустить сканирование, используется метод scan(). Чтобы получить результаты сканирования, применяется метод getScanInfoList(). ``` 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. Чтобы настроить WLAN, вы можете вызвать **addDeviceConfig**, чтобы сначала добавить конфигурацию точки доступа, а затем использовать возвращённый идентификатор конфигурации точки доступа для подключения к WLAN. Или вы можете настроить WLAN, вызвав **connectToDevice** через конфигурацию точки доступа напрямую.
```js
// Настраиваем информацию о WLAN.
var config = {
"ssid":"test_wifi",
"bssid":"",
"preSharedKey":"12345678",
"isHiddenSsid":false,
"securityType":3,
}
Способ 1:
// Добавляем конфигурацию точки доступа.
wf.addDeviceConfig(config, (err, result) => {
if (err) {
console.error("add device config error");
return;
}
console.info("config id: " + result);
// Настраиваем WLAN на основе возвращённого идентификатора конфигурации точки доступа.
wf.connectToNetwork(result);
});
Способ 2:
// Настраиваем WLAN, вызывая connectToDevice с конфигурацией точки доступа напрямую.
wf.connectToDevice(config);
```
## Задействованные репозитории<a name="section1371113476307"></a>
DSoftBus (https://gitee.com/openharmony/docs/blob/master/en/readme/dsoftbus.md)
**communication\_wifi**
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )