鸿蒙os不需要wifi,【鸿蒙HarmonyOS HiSpark IPC DIY Camera】hi3518-wifi的配置与使用

fe981311000ce35b7e99c873d25c59e0.png

主 要是修改和3518相关的wpa_supplicant.conf hostapd.conf 两个文件,对wifi相关的ssid、passwd等进行配置

【编译生成wifi可执行文件】 请参考以下示例代码编译可执行程序wpa_supplicant:(SDK里面有这些代码,不做修改)

路径 ./applications/sample/camera/communication/wpa_supplicant/src/wpa_sample.c

#include 

#include 

#include 

#include 

pthread_t g_wpaThread;

char* g_wpaArg[20] = {0};

intg_wpaArgc = 0;

staticvoid* ThreadMain()

{

printf("[WpaSample]init wpa_supplicant.\n");

void *handleLibWpa = dlopen("/usr/lib/libwpa.so", RTLD_NOW | RTLD_LOCAL);

if (handleLibWpa == NULL) {

printf("[WpaSample]dlopen libwpa failed.\n");

returnNULL;

}

int(*func)(int,char**) =NULL;

func =  dlsym(handleLibWpa, "wpa_main");

if (func == NULL) {

dlclose(handleLibWpa);

printf("[WpaSample]dlsym wpa_main failed.\n");

returnNULL;

}

intret = func(g_wpaArgc, g_wpaArg);

printf("[WpaSample]run wpa_main failed, ret:%d.\n", ret);

for(inti = 0; i 

printf("[WpaSample]arg %d:%s.\n", i, g_wpaArg[i]);

}

if (dlclose(handleLibWpa) != 0) {

printf("[WpaSample]dlclose libwpa failed.\n");

returnNULL;

}

returnNULL;

}

intmain(intargc,char*argv[])

{

g_wpaArgc = argc;

for(inti = 0; i 

g_wpaArg[i] = argv[i];

}

intret = pthread_create(&g_wpaThread,NULL, ThreadMain,NULL);

if (ret != 0) {

printf("[WpaSample]create thread failed error:%s.\n", strerror(ret));

return1;

}

pthread_join(g_wpaThread, NULL);

return0;

}

路径 ./applications/sample/camera/communication目录下面的BUILD.gn文件

import("//build/lite/config/component/lite_component.gni")

lite_component("sample") {

features = [

"wpa_supplicant:wpa_sample",

]

}

路径 ./applications/sample/camera/communication/wpa_supplicant目录下面的BUILD.gn文件

import("//build/lite/config/component/lite_component.gni")

sample_sources = [

"src/wpa_sample.c",

]

config_file = [

"config/wpa_supplicant.conf"

]

executable("wpa_sample_exe") {

output_name = "wpa_supplicant"

sources = sample_sources

}

group("wpa_sample") {

deps = [

":wpa_sample_exe",

]

}

copy("config") {

sources = config_file

outputs = [

"$root_out_dir/etc/wpa_supplicant.conf"

]

}

路径 ./build/lite/product/ipcamera_hi3518ev300.json

3a9b1a39ae1188f50bd6f90c9431f13f.png

【修改station模式的配置】 将以下配置写到配置文件wpa_supplicant.conf

country=GB

ctrl_interface=udp

network={

#要连接的SSID

ssid="example"

#如果不需要加密就写key_mgmt=NONE

#key_mgmt=NONE

#如果需要加密就写这行密码

psk="12345678"

}

【修改ap模式的配置】 将以下配置写到配置文件hostapd.conf

interface=wlan0

driver=hdf wifi

ctrl_interface=udp

ssid=testap

hw_mode=g

channel=1

ignore_broadcast_ssid=0

#下面是wpa2-psk类型加密的配置

#如果不需要加密可以删除

auth_algs=1

wpa=2

wpa_passphrase=12345678

rsn_pairwise=CCMP

【使用方法】

将wpa_supplicant、wpa_supplicant.conf、hostapd.conf拷贝到单板中(sdcard目录)

启动sta的命令:

./sdcard/wpa_supplicant -i wlan0 -c /sdcard/wpa_supplicant.conf

启动ap的命令:

./sdcard/hostapd -i wlan0 /sdcard/hostapd.conf

【WIFI设备检测】 进入OHOS界面后,输入ifconfig,检查wlan0网口是否加载正常,加载成功标识如下:

OHOS # ifconfig

wlan0 ip:0.0.0.0 netmask:0.0.0.0 gateway:0.0.0.0

HWaddr 0a:11:31:aa:7e:1a MTU:1500 Stop Link UP

lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1

ip6: ::1/64

HWaddr 00 MTU:16436 Running Link UP

【编辑推荐】

【责任编辑:jianghua TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值