栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 其他 > Spark

【鸿蒙HarmonyOS HiSpark IPC DIY Camera】hi3518-wifi的配置与使用

Spark 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力



想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

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

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

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

  1. #include  #include  
  2. #include  #include  
  3. ​ pthread_t g_wpaThread; 
  4. ​ char* g_wpaArg[20] = {0}; 
  5. int g_wpaArgc = 0; ​ 
  6. static void* ThreadMain() { 
  7.     printf("[WpaSample]init wpa_supplicant.n"); ​ 
  8.     void *handleLibWpa = dlopen("/usr/lib/libwpa.so", RTLD_NOW | RTLD_LOCAL);     if (handleLibWpa == NULL) { 
  9.         printf("[WpaSample]dlopen libwpa failed.n");         return NULL; 
  10.     }     int (*func)(int, char **) = NULL; 
  11.     func =  dlsym(handleLibWpa, "wpa_main");     if (func == NULL) { 
  12.         dlclose(handleLibWpa);         printf("[WpaSample]dlsym wpa_main failed.n"); 
  13.         return NULL;     } 
  14.     int ret = func(g_wpaArgc, g_wpaArg);      
  15.     printf("[WpaSample]run wpa_main failed, ret:%d.n", ret);     for (int i = 0; i < g_wpaArgc; i++) { 
  16.         printf("[WpaSample]arg %d:%s.n", i, g_wpaArg[i]);     } 
  17.          if (dlclose(handleLibWpa) != 0) { 
  18.         printf("[WpaSample]dlclose libwpa failed.n");         return NULL; 
  19.     }     return NULL; 
  20. ​ } 
  21. ​ int main(int argc, char *argv[]) 
  22. {     g_wpaArgc = argc; 
  23.     for (int i = 0; i < g_wpaArgc; i++) {         g_wpaArg[i] = argv[i]; 
  24.     } ​ 
  25.     int ret = pthread_create(&g_wpaThread, NULL, ThreadMain, NULL);     if (ret != 0) { 
  26.         printf("[WpaSample]create thread failed error:%s.n", strerror(ret));         return 1; 
  27.     }     pthread_join(g_wpaThread, NULL); 
  28.     return 0; ​ 

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

  1. import("//build/lite/config/component/lite_component.gni")  
  2. lite_component("sample") {     features = [ 
  3.        "wpa_supplicant:wpa_sample",     ] 

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

  1. import("//build/lite/config/component/lite_component.gni")  
  2. sample_sources = [     "src/wpa_sample.c", 
  3. ]  
  4. config_file = [     "config/wpa_supplicant.conf" 
  5. ]  
  6. executable("wpa_sample_exe") {     output_name = "wpa_supplicant" 
  7.     sources = sample_sources } 
  8.  group("wpa_sample") { 
  9.     deps = [         ":wpa_sample_exe", 
  10.     ] } 
  11.  copy("config") { 
  12.     sources = config_file     outputs = [ 
  13.        "$root_out_dir/etc/wpa_supplicant.conf"     ] 

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



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

  1. country=GB ctrl_interface=udp 
  2. network={     #要连接的SSID 
  3.     ssid="example"     #如果不需要加密就写key_mgmt=NONE 
  4.     #key_mgmt=NONE     #如果需要加密就写这行密码 
  5.     psk="12345678" } 

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

  1. interface=wlan0 driver=hdf wifi 
  2. ctrl_interface=udp ssid=testap 
  3. hw_mode=g channel=1 
  4. ignore_broadcast_ssid=0 #下面是wpa2-psk类型加密的配置 
  5. #如果不需要加密可以删除 auth_algs=1 
  6. wpa=2 wpa_passphrase=12345678 
  7. rsn_pairwise=CCMP 

 【使用方法】

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

启动sta的命令:

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

启动ap的命令:

  1. ./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

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz



 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/796533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号