Wi-Fi 与蓝牙
Wi-Fi
Wi-Fi 是一种使用 IEEE 802.11 协议的无线网络技术。它允许智能手机、可穿戴设备、笔记本电脑、台式机和其他消费电子产品等电子设备在没有物理电缆的情况下连接到互联网。
工作频段
AP6256 Wi-Fi 模块支持 2.4 GHz、5 GHz 工作频段。
工作模式
Wi-Fi 软件在以下模式下运行:
模式 | 说明 |
---|---|
STA 模式 | 在 STA 模式下,设备连接到 Wi-Fi 网络中的接入点,并与网络中的其他设备进行通信。此模式是 Wi-Fi 连接中的无线设备的标准模式。 |
热点模式 | 热点模式使设备能够使用蜂窝链路 (LTE) 向 Wi-Fi 客户端提供回程 (Internet) 连接。该设备通过其轻量级热点接口建立此连接。在热点模式下,设备可以:与连接到同一热点的其他 Wi-Fi 客户端通信。与热点设备通信。共享设备的 WAN 连接。 |
- STA 模式
- AP 模式
在 STA 模式(Station)下,设备可连接到一个已经存在的无线网络,以便访问网络资源或互联网。
- 使用命令扫描 Wi-Fi
nmcli dev wifi list 2>&1 | less
按下 q
退出
- 使用命令连接 Wi-Fi
sudo nmcli dev wifi connect <WiFi-SSID> password <WiFi-password>
例如,运行命令
sudo nmcli dev wifi connect rubikpiwifi password 123456789
其中,Wi-Fi SSID 为 rubikpiwifi
,Wi-Fi 密码为 123456789
。
示例输出
Device 'wlan0' successfully activated with 'e8b98f24-3f23-4742-8aa3-0d37c5ee6564'.
如果您在运行命令时看到网络错误消息,请运行以下命令之一来触发 Wi-Fi 扫描并验证目标 AP。
-
nmcli dev wifi list
-
iw dev wlan0 scan
- 要查看连接状态,请运行以下命令:
nmcli general status
示例输出
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
-
要验证连接状态,请执行以下步骤:
- 要查看设备状态,请运行以下命令:
nmcli dev status
示例输出
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected RUbikpiWiFi
eth0 ethernet unavailable --
eth1 ethernet unavailable --
can0 can unmanaged --
lo loopback unmanaged --- 要查看附加连接信息,请运行以下命令:
nmcli device show wlan0
示例输出
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 00:03:7F:12:F7:F7
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: QualcommWiFi
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/5
IP4.ADDRESS[1]: 192.168.117.130/24
IP4.ADDRESS[2]: 192.168.117.131/24
IP4.GATEWAY: 192.168.117.126- 通过在 UART 控制台中运行 ifconfig wlan0 命令来验证是否在 wlan0 接口上分配了 IP 地址
ifconfig wlan0
备注可输入命令
sudo apt install net-tools
安装 ifconfig 命令。- 通过 ping 以下公共 DNS IP:验证 AP 或路由器是否已连接至 Internet
ping 8.8.8.8
-
如果您已连接至一个网络,但想要使用另一连接,则可以通过指定 SSID
nmcli con down ssid/uuid
将连接切换为关闭来断开连接。或者,如果您有多个具有相同 SSID 的连接,请使用 UUID。 -
要连接到另一个已保存的连接,只需运行以下命令来传递
nmcli
命令行工具中的 up 选项即可。nmcli con up ssid/uuid
要退出标准输入 shell,请按 CTRL+C。
有关 nmcli
的更多信息,请参阅 https://www.linux.org/docs/man1/nmcli.html 和 https://networkmanager.dev/docs/api/latest/nmcli.html
AP 模式(Access Point)即无线接入热点模式,是一个无线网络的创建者,是网络的中心节点,一般家庭或办公室使用的无线网络路由器就是一个 AP,下面是 AP 的创建步骤:
- 开启 AP
-
第 1 步:创建 Wi-Fi Hotspot 连接
sudo nmcli connection add type wifi ifname wlan0 con-name RUBIKPi_AP_TEST ssid RUBIKPi_AP_TEST mode ap
- type wifi: 指定连接类型为 Wi-Fi。
- ifname wlan0: 指定要使用的无线接口(请根据你的实际情况修改,如 wlp3s0)。
- con-name RUBIKPi_AP_TEST: 设置连接名称为 RUBIKPi_AP_TEST。
- ssid RUBIKPi_AP_TEST: 设置热点的名称(SSID)为 RUBIKPi_AP_TEST。
- mode ap: 指定模式为接入点 (AP) 模式。
此时,你拥有了一个最基本、未加密的 AP 配置,如果不需要更多的设置,可以使用
sudo nmcli connection up RUBIKPi_AP_TEST
命令开启 AP。查看所有连接:
sudo nmcli connection
删除连接,以 RUBIKPi_AP_TEST 连接为例:
sudo nmcli connection delete RUBIKPi_AP_TEST
-
第 2 步:设置 Wi-Fi 安全(密码)
sudo nmcli connection modify RUBIKPi_AP_TEST 802-11-wireless-security.key-mgmt wpa-psk
sudo nmcli connection modify RUBIKPi_AP_TEST 802-11-wireless-security.psk "123456789"- 802-11-wireless-security.key-mgmt wpa-psk: 设置密钥管理协议为 WPA-PSK。
- 802-11-wireless-security.psk "123456789": 设置连接的密码为 123456789。
-
第 3 步:启动你配置好的 AP
sudo nmcli connection up RUBIKPi_AP_TEST
使用以下命令检查状态:
nmcli connection show --active
-
验证 AP 要验证连接状态,请从其他设备连接到 RUBIKPi_AP_TEST:
-
在移动设备上,转到 Wi-Fi 设置。
-
等待 Wi-Fi STA 检测到 RUBIKPi_AP_TEST。
-
选择 RUBIKPi_AP_TEST 并输入在魔方派 3 设备上为 RUBIKPi_AP_TEST 配置的密码,然后进行连接。
在移动设备的设置中,查找当前的 IP 地址, 在魔方派 3 设备上使用
ping <移动设备 IP 地址>
命令测试网络联通性。 -
-
关闭 AP: 输入下面命令:
sudo nmcli connection down RUBIKPi_AP_TEST
Wi-Fi 热点成功停止。
蓝牙
蓝牙® 无线技术是一种短距离通信系统 ,可实现设备之间的无线数据交换。蓝牙技术的主要优势如下:
-
替代便携式和固定式电子设备的线缆
-
提供稳健、节能且经济高效的解决方案
-
促进解决方案及其应用的灵活性。
打开蓝牙测试应用程序
- 通过运行以下命令打开蓝牙测试应用程序,所有蓝牙配置命令都在此应用程序中执行:
bluetoothctl
示例输出
启用蓝牙
- 要启用设备蓝牙,可运行以下命令:
power on
示例输出
运行蓝牙查询扫描
- 要启动对附近设备的查询,运行以下命令:
scan on
示例输出
停止蓝牙扫描
- 请运行以下命令,以便停止正在进行的查询:
scan off
示例输出
与远程蓝牙设备配对
在配对远程设备之前,运行蓝牙查询 扫描以确保远程设备可用。
- 要与远程蓝牙设备配对,请运行以下命令:
pair <bt_address>
要接受主动/被动配对,输入 yes
。要拒绝主动/被动配对,输入 no
。
参数 <bt_address>
是远程设备的蓝牙地址。
示例
要使用 <bt_address> 00:25:02:02:7B:A4
与远程设备配对,请运行以下命令:
pair 00:25:02:02:7B:A4
示例输出
[bluetooth] pair 00:25:02:02:7B:A4
Attempting to pair with 00:25:02:02:7B:A4
[bluetooth]# hci0 device_flags_changed: 00:25:02:02:7B:A4 (BR/EDR)
[bluetooth]# supp: 0x00000001 curr: 0x00000000
[bluetooth]# hci0 00:25:02:02:7B:A4 type BR/EDR connected eir_len 20
[CHG] Device 00:25:02:02:7B:A4 Connected: yes
[OPPO Enco W31]# hci0 new_link_key 00:25:02:02:7B:A4 type 0x04 pin_len 0 store_hint 1
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 Bonded: yes
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00000001-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00001107-d102-11e1-9b23-00025b00a5a5
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110f-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00001203-0000-1000-8000-00805f9b34fb
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 ServicesResolved: yes
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 Paired: yes
[OPPO Enco W31]# Pairing successful
[OPPO Enco W31]# hci0 00:25:02:02:7B:A4 type BR/EDR disconnected with reason 2
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 ServicesResolved: no
[CHG] Device 00:25:02:02:7B:A4 Connected: no
[bluetooth]# hci0 00:25:02:02:7B:A4 type BR/EDR connected eir_len 20
[CHG] Device 00:25:02:02:7B:A4 Connected: yes
[OPPO Enco W31]# Authorize service
[agent] Authorize service 0000110d-0000-1000-8000-00805f9b34fb (yes/no): yes
[OPPO Enco W31]# Authorize service
[OPPO Enco W31]# 1;39m[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00000001-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00001107-d102-11e1-9b23-00025b00a5a5
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110d-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000110f-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [CHG] Device 00:25:02:02:7B:A4 UUIDs: 00001203-0000-1000-8000-00805f9b34fb
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [NEW] Endpoint /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep1
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): [NEW] Endpoint /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep2
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no): yes
[OPPO Enco W31]#
获取绑定/配对设备列表
- 要获取已验证的配对设备列表,运行以下命令:
devices
示例输出
连接远程设备
- 要连接远程设备,请运行以下命令:
connect <bt_address>
参数 <bt_address>
是远程设备的蓝牙地址。
示例
要使用 <bt_address> 00:25:02:02:7B:A4
连接到已配对的远程设备,请运行以下命令:
connect 00:25:02:02:7B:A4
示例输出
[bluetooth]# connect 00:25:02:02:7B:A4
Attempting to connect to 00:25:02:02:7B:A4
[bluetooth]# [CHG] Device 66:90:8B:13:9F:50 RSSI: 0xffffffb2 (-78)
[bluetooth]# [CHG] Device 00:25:02:02:7B:A4 AddressType: public
[bluetooth]# [CHG] Device 3F:5B:7D:73:30:9E ServiceData.0000fe95-0000-1000-8000-00805f9b34fb:
[bluetooth]# 70 20 5b 04 5e 9e 30 73 7d 5b 3f 09 04 10 02 ff p [.^.0s}[?.....
[bluetooth]# 00 .
[bluetooth]# [CHG] Device 47:6E:17:4C:2A:3C RSSI: 0xffffffb8 (-72)
[bluetooth]# [NEW] Device 54:38:90:28:DE:0A 54-38-90-28-DE-0A
[bluetooth]# [DEL] Device 28:6B:35:B5:C3:D0 CN8900578W2
[bluetooth]# hci0 00:25:02:02:7B:A4 type BR/EDR connected eir_len 15
[CHG] Device 00:25:02:02:7B:A4 Connected: yes
[OPPO Enco W31]# [NEW] Endpoint /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep1
[OPPO Enco W31]# [NEW] Endpoint /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep2
[OPPO Enco W31]# [NEW] Transport /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep1/fd4
[OPPO Enco W31]# Connection successful
[OPPO Enco W31]# [CHG] Device 00:25:02:02:7B:A4 ServicesResolved: yes
[OPPO Enco W31]# [CHG] Transport /org/bluez/hci0/dev_00_25_02_02_7B_A4/sep1/fd4 State: active
取消设备配对
- 要取消配对设备,请运行以下命令:
remove <bt_address>
示例输出
启用设备发现
- 要在 DUT 中启用发现模式,请运行以下命令:
discoverable on
示例输出
关闭蓝牙
- 请运行以下命令,以便在设备上禁用蓝牙:
power off
示例输出