鸿蒙开发板HI3516用命令行连接wifi
内容提要
鸿蒙HI3516开发板默认未编译wpa_supplicant。在communication/BUILD.gn第17行后添加"wpa_supplicant:wpa_sample",用Docker编译debug版,生成的wpa_supplicant位于out/ipcamera_hi3516dv300/bin/。将其与wpa_supplicant.conf复制到开发板,执行./wpa_supplicant -i wlan0 -c ./wpa_supplicant.conf即可连接WiFi。
延伸解读
编译配置的关键修改
文章指出,鸿蒙HI3516的编译工程中已包含wpa_supplicant相关组件,但默认未打包进固件。因此,需要在communication/BUILD.gn的第17行后添加"wpa_supplicant:wpa_sample",才能将wpa_supplicant编译出来。这一修改是后续所有步骤的前提,若遗漏则无法生成可用的命令行工具。
编译环境与产物路径
编译需在Docker环境中进行,指定HARDWARE为ipcamera_hi3516dv300,并构建debug版本。编译完成后,wpa_supplicant可执行文件位于out/ipcamera_hi3516dv300/bin/目录下。读者需注意,该路径与硬件配置直接相关,不同开发板可能有所差异,需根据实际编译输出调整。
配置文件与连接命令
连接WiFi前需创建wpa_supplicant.conf,其中需指定国家代码、控制接口以及目标网络的SSID和认证方式。若网络不加密,设置key_mgmt=NONE;若加密,则填写psk密码。将wpa_supplicant和配置文件复制到开发板后,执行./wpa_supplicant -i wlan0 -c ./wpa_supplicant.conf即可发起连接。
Q&A
鸿蒙HI3516开发板默认支持WiFi连接吗?
默认不支持,因为编译时没有将wpa_supplicant打包进去。
如何修改鸿蒙HI3516的编译配置以包含wpa_supplicant?
在communication/BUILD.gn文件的第17行后添加一行:"wpa_supplicant:wpa_sample",
编译鸿蒙HI3516的wpa_supplicant需要使用什么命令?
使用Docker编译debug版本,命令为:docker run --rm -ti -e HARDWARE=ipcamera_hi3516dv300 -v ${PWD}/out:/OpenHarmony/out ystyle/open-harmony bash,然后执行sed命令修改文件,再运行python build.py ${HARDWARE} -b debug。
编译生成的wpa_supplicant文件在哪个目录?
位于out/ipcamera_hi3516dv300/bin/目录下。
wpa_supplicant.conf配置文件应该如何编写?
配置文件内容示例:country=GB, ctrl_interface=udp, network={ ssid="example" key_mgmt=NONE psk="AA123456" }。其中ssid为要连接的WiFi名称,若不加密则设置key_mgmt=NONE,若加密则设置psk为密码。
在HI3516开发板上如何用命令行连接WiFi?
将wpa_supplicant和wpa_supplicant.conf复制到开发板,然后执行命令:cd /nfs/wifi && ./wpa_supplicant -i wlan0 -c ./wpa_supplicant.conf。