收到米尔-STM32MP257开发板已经多天了,今天对米尔-STM32MP257开发板连接WiFi功能做一下测试!
先给各位朋友介绍一下收到的米尔-STM32MP257开发板。
硬件平台:
本文采用米尔电子的 MYC-LD25X核心板及开发板,硬件配置如下:
米尔-STM32MP257开发板板载了wifi与蓝牙的模块,可以实现无线连接。在软件评估指南中,有介绍如何做为sta连接wifi的介绍。本篇将介绍如何把连接wifi加入到开始自动运行中,实现开机自动连接指定的路由器。
在官方的文档中有这样的介绍:
我们将手动配置 Wi-Fi 的过程整理成一个位于/etc/myir_test/目录下的脚本 wifi_on_sta
提供给用户参考,下面尝试连接附近的 Wi-Fi 热点”1111_5G", 这是一个采用 WPA2 加密方式的 Wi-Fi 热点,密码为 myi@1101。
我使用这个命令可以成功的连接路由器。查看这个脚本的代码,其源代码如下:
#!/usr/bin/env sh
SSID=PASSWD=WLAN=wlan0WPA_FILE=/etc/wpa_supplicant/wpa_supplicant-${WLAN}.conf
DRIVER_NAME=nl80211usage(){
echo "Usage: ./ifup_wifi_sta [-ssid wifi_sta_name] [-passwd wifi_sta_passwd] [-driver nl80211 or wext]"
}clean_stage(){
killall udhcpc killall wpa_supplicant killall hostapd killall udhcpd sleep 1
}enable_wifi(){
T_HCI="phy0"
RFKILL_SYS_PATH="/sys/class/rfkill/"
dir=`ls ${RFKILL_SYS_PATH}`
for i in ${dir}
do
if [ ${T_HCI} == `cat ${RFKILL_SYS_PATH}${i}/name` ];then echo 0 > ${RFKILL_SYS_PATH}${i}/state echo "find ${T_HCI} enable it" sleep 1 echo 1 > ${RFKILL_SYS_PATH}${i}/state fi done }parse_input_info(){ while [ $# -gt 0 ];do case $1 in -ssid) SSID="$2" shift ;; -passwd) PASSWD="$2" if [ ${#PASSWD} -lt 8 ];then echo "passwd should be 8...64" exit fi shift ;; -driver) DRIVER_NAME="$2" shift ;; -h) usage exit ;; esac shift $(( $# > 0? 1:0)) done echo "SSID:${SSID} PASSWD:${PASSWD} DRIVER:${DRIVER_NAME}" }connect_wifi(){ if [ -n "${SSID}" ];then if [ ! -d ${WPA_FILE%/*} ];then mkdir -p ${WPA_FILE%/*} fi echo "ctrl_interface=/var/run/wpa_supplicant" > ${WPA_FILE} echo "ctrl_interface_group=0" >> ${WPA_FILE} echo "update_config=1" >> ${WPA_FILE} echo "" >> ${WPA_FILE} wpa_passphrase ${SSID} ${PASSWD} >> ${WPA_FILE} fi wpa_supplicant -B -i ${WLAN} -c ${WPA_FILE} -D ${DRIVER_NAME} >/dev/null 2>&1 }obtain_dns(){ time=10 while [ $time -gt 0 ];do state=`wpa_cli -i${WLAN} -p/var/run/wpa_supplicant status | grep wpa_state | awk -F[=] '{print $2}'`
if [ "${state}" = "COMPLETED" ];then
udhcpc -i ${WLAN}
exit
fi
let time-=1
sleep 1
done
echo "connect wifi error"
}parse_input_info $@
clean_stageenable_wificonnect_wifiobtain_dns
源中,接收SSD与pwd,同时实现配置,并启动连接。
为了实现开机自启动连接wifi,我将这个文件的执行添加!
到/usr/bin/autorun这个角本中。
可以在原有的代码中添加如上面的代码!
然后执行systemctl restart autorun,就可以实现自动联网到路由器了。
使用ifconfig,可以成功的看到了连接到了路由器,并获取到IP地址:
通过在autorun.sh这里添加脚本,可以方便实现wifi联网功能,如果需要开机自启动其他的服务,也可以在这里添加。
以上是测试的米尔-STM32MP257开发板连接WiFi的方法,希望对大家有帮助!
更多回帖