Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口 原创 精华

发布于 2022-3-28 18:09
浏览
3收藏

Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口

1.接口的发现

我们查阅标准系统openharmony3.0的源码

路径:OpenHarmony/applications/standard/settings/entry/src/main/ets/default

可发现openharmony标准系统的设置系统应用里面的控制WiFi是调用napi接口实现的

import WifiNativeJs from '@ohos.wifi_native_js'

2.NAPI Wifi 接口使用

①.开启wifi接口
WifiNativeJs.enableWifi();
②.关闭wifi接口
WifiNativeJs.disableWifi();
③.连接wifi接口
let obj = {
    "ssid": "xxx_wifi_name",					//wifi名
    "bssid": "xx:xx:xx:xx:xx:50",				//wifibssid,注意这里要填写的2.4G wifi bssid,5G与2.4G的bssid是不一样的
    "preSharedKey": "xxx_wifi_password",		//wifi password
    "isHiddenSsid": false,
    "securityType": 3							//wifi类型 类型3的意思是 wpa/wpa2 
}
WifiNativeJs.connectToDevice(obj)
④.更多wifi接口等你们探索

因为本次教程这是简单的使用openharmony3.0连接wifi,我们只用到这几个,@ohos.wifi_native_js 里面还有很多的接口,我就不一一列出来了,你们自己去探索。

3.利用eTS开发wifiAPP

①.开发工具
DevEco Studio 3.0.0.800
②.通过路由器查看 wifi的 bssid

打开路由器管理页面查看

Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口-开源基础软件社区

③.通过手机APP查看 wifi的 bssid

我这里使用的是万能WiFi钥匙查看 bssid

Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口-开源基础软件社区

④.实现代码
import WifiNativeJs from '@ohos.wifi_native_js';

async function On_Wifi() {               //打开wifi接口
  var buf= WifiNativeJs.enableWifi();
  console.log("wifi test :on"+buf);
}
async function connect_Wifi() {          //连接wifi
  let obj = {
    "ssid": "PDCN",                      //wifi名
    "bssid": "20:76:93:4B:7B:2E",        //wifi bssid
    "preSharedKey": "1234567888",        //wifi password
    "isHiddenSsid": false,
    "securityType": 3                    //wifi 授权方式 类型3的意思是 wpa/wpa2
  }
  var buf = WifiNativeJs.connectToDevice(obj);
  console.log("wifi test :on"+buf);
}

async function Off_Wifi() {
  var buf= WifiNativeJs.disableWifi();  //关闭wifi
  console.log("wifi test :on"+buf);
}

@Entry
@Component
struct Wifi {
  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text('WIFI 连接测试')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
      Button('打开wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100).margin(50)
        .onClick((event: ClickEvent) => {
          On_Wifi();
        })
      Button('连接wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100)
        .onClick((event: ClickEvent) => {
          connect_Wifi();
        })

      Button('关闭wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100).margin(50)
        .onClick((event: ClickEvent) => {
          Off_Wifi();
        })
    }
    .width('100%')
    .height('100%')
  }
}
⑤.安装测试

效果图

Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口-开源基础软件社区

测试成功!

4.注意事项

①.导入 @ohos.wifi_native_js 包报错不用管

Hi3516 openharmony标准系统L2 JS\eTS napi之wifi接口-开源基础软件社区

②. 2.4G与5G的wifi bssid,不一样的

一般5Gwifi的bssid 的减去2等于2.4Gwifi的bssid

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-3-28 20:45:22修改
5
收藏 3
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐