跳到主要内容

Wi-Fi/BT

Luckfox Pico Zero 上搭载了AIC8800DC模块,支持Wi-Fi AX协议(WIFI6),支持 2.4GHz Wi-Fi 和蓝牙5.2/BLE。开发板默认使用外接天线。如需切换至板载贴片天线,只需将引脚 123 拉高即可。具体操作步骤如下:

echo 123 > /sys/class/gpio/export  
cd /sys/class/gpio/gpio123
echo out > direction
echo 1 > value

1 Wi-Fi 连接

  1. 使用 vi 或 nano 编辑器修改 WiFi的配置文件

    nano /etc/wpa_supplicant.conf 

    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    update_config=1

    network={
    ssid="Luckfox-2.4G"
    psk="luckfox123456"
    key_mgmt=WPA-PSK
    }
    • ssid:无线网络名称
    • psk:无线网络的密码
    • 根据自己实际无线网络名称和密码修改,其它地方不用修改。
  2. 如果想要切换WiFi,需要重启 wpa_supplicant 服务:

    killall -9 wpa_supplicant 
    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
  3. 连接无线网络:

    udhcpc -i wlan0
  4. 按照上述设置方法,重启后会失效,我们需要写开机脚本来启动。(板载天线)

    #!/bin/sh

    GPIO_NUM=123
    WPA_CONF="/etc/wpa_supplicant.conf"

    echo_log() {
    echo "[wifi-autostart] $1"
    }

    case "$1" in
    start)
    echo_log "Exporting and setting GPIO${GPIO_NUM} high..."
    [ ! -d "/sys/class/gpio/gpio${GPIO_NUM}" ] && echo "${GPIO_NUM}" > /sys/class/gpio/export
    echo out > "/sys/class/gpio/gpio${GPIO_NUM}/direction"
    echo 1 > "/sys/class/gpio/gpio${GPIO_NUM}/value"

    echo_log "Starting wpa_supplicant..."
    killall -q wpa_supplicant
    wpa_supplicant -B -i wlan0 -c "${WPA_CONF}"

    echo_log "Requesting IP address via udhcpc..."
    udhcpc -i wlan0

    echo_log "WiFi setup complete."
    ;;
    stop)
    echo_log "Stop command received. Stopping wpa_supplicant..."
    killall -q wpa_supplicant
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
    esac


  5. 按照上述设置方法,重启后会失效,我们需要写开机脚本来启动。(外接天线)

    nano /etc/init.d/S99wlan0
    #!/bin/sh

    case $1 in
    start)
    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
    udhcpc -i wlan0
    ;;
    stop)
    ;;
    *)
    exit 1
    ;;
    esac
    chmod +x  /etc/init.d/S99wlan0
    reboot

2. WiFi 速率测试

  1. 虚拟机或者主机端

    iperf3 -s -i 10 -p 5001
    • -s:指定 iperf3 运行在服务器模式
    • -i:设置了报告间隔的时间为 10 秒
    • -p:这个参数指定服务器端口为5001
  2. 开发板

    iperf3 -c 192.168.10.176 -p 5001 -f m -i 2 -t 24
    • -c:指定客户端模式,并设置要连接的服务器IP地址为192.168.10.176
    • -p:指定服务器端口为5001
    • -f:指定报告的格式。m 代表 Mbps,即报告的带宽单位为兆比特每秒
    • -i:指定报告的间隔时间为每1秒
    • -t :指定测试的持续时间为30秒

3. 蓝牙测试

  1. 启动蓝牙音频服务(A2DP Source)
    bluealsa -p a2dp-source &
    [提示]

    在进行蓝牙音频连接前,必须先启动 BlueALSA 音频服务。否则虽然可以完成设备配对,但由于缺少音频处理端点(A2DP Endpoint),远端设备(如耳机或音箱)会主动断开连接。

  2. 启动蓝牙并完成配对,使用 bluetoothctl 工具进行蓝牙初始化与配对操作:
    power on        # 使能蓝牙控制器
    pairable on # 设置设备为可配对状态
    scan on # 扫描周边蓝牙设备
    scan off # 停止扫描
    pair <MAC> # 与目标设备进行配对

  3. 在首次配对过程中,设备通常会快速断开一次连接,这是由于配对阶段未完成 PIN / 密钥确认,此时需要重新触发耳机进入配对模式(例如 AirPods:重新开合充电盒盖)

  4. 执行以下命令,查看系统是否已识别到蓝牙音频设备:
    bluealsa-aplay -L
    • 若输出中包含目标设备,说明 A2DP 设备已正常注册。
  5. 使用 ALSA 接口通过 BlueALSA 输出音频:
    aplay -D bluealsa:DEV=AC:12:2F:6C:EB:17,PROFILE=a2dp eason.wav