ARM技术论坛
直播中

jf_67024233

2年用户 303经验值
擅长:电源/新能源 模拟技术 测量仪表 接口/总线/驱动
私信 关注

【米尔-STM32MP257开发板试用体验】测试米尔-STM32MP257开发板试连接wifi功能

收到米尔-STM32MP257开发板已经多天了,今天对米尔-STM32MP257开发板连接WiFi功能做一下测试!

先给各位朋友介绍一下收到的米尔-STM32MP257开发板。

硬件介绍

硬件平台:

本文采用米尔电子的 MYC-LD25X核心板及开发板,硬件配置如下:

  • 搭载意法半导体最新一代工业级64位微处理器STM32MP257DAK3
  • 2G内存
  • 8G EMMC
    STM32MP257DAK3搭载 双核Cortex-A35 +Cortex-M33,主频1.5GHz+400MHz;
    配备1.35 TOPS的NPU ,Lite-ISP功能的MIPI CSI;
    集成3D GPU, H.264 硬件编解码,RGB, MIPI DSI 以及 LVDS 显示接口

米尔-STM32MP257开发板板载了wifi与蓝牙的模块,可以实现无线连接。在软件评估指南中,有介绍如何做为sta连接wifi的介绍。本篇将介绍如何把连接wifi加入到开始自动运行中,实现开机自动连接指定的路由器。

7.jpg

在官方的文档中有这样的介绍:

我们将手动配置 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这个角本中。
image01.png

可以在原有的代码中添加如上面的代码!

然后执行systemctl restart autorun,就可以实现自动联网到路由器了。

使用ifconfig,可以成功的看到了连接到了路由器,并获取到IP地址:

273a1ce506774dd993ce8f133e53b3c7.jpg

通过在autorun.sh这里添加脚本,可以方便实现wifi联网功能,如果需要开机自启动其他的服务,也可以在这里添加。

以上是测试的米尔-STM32MP257开发板连接WiFi的方法,希望对大家有帮助!

更多回帖

发帖
×
20
完善资料,
赚取积分