You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取多台Azure Sphere设备的WiFi状态及MAC地址列表?

获取多台Azure Sphere设备的MAC地址及WiFi状态列表

要批量获取多台Azure Sphere设备的MAC地址和对应WiFi状态,核心思路是先枚举所有目标设备,再逐个切换设备执行WiFi状态查询,提取所需信息。以下是具体实现方案:

步骤1:枚举目标设备列表

首先通过Azure Sphere CLI获取所有已注册的设备ID(如需设备名称可调整查询参数):

# 获取所有设备ID(TSV格式,便于纯文本处理)
azsphere device list --output tsv --query "[].deviceId"

# 如需同时获取设备名称和ID,用JSON格式更便于脚本解析
azsphere device list --output json --query "[].{DeviceId:deviceId, DeviceName:deviceName}"

步骤2:批量查询设备WiFi状态

根据使用的操作系统,选择对应的脚本批量处理:

PowerShell脚本(Windows)

# 获取所有设备的ID和名称并解析为对象
$devices = azsphere device list --output json --query "[].{DeviceId:deviceId, DeviceName:deviceName}" | ConvertFrom-Json

# 遍历每台设备查询WiFi状态
foreach ($device in $devices) {
    Write-Host "=== 设备: $($device.DeviceName) ($($device.DeviceId)) ==="
    # 切换到目标设备
    azsphere device select --device $device.DeviceId
    # 获取并解析WiFi状态数据
    $wifiStatus = azsphere device wifi show-status --output json | ConvertFrom-Json
    # 输出关键信息
    Write-Host "MAC地址: $($wifiStatus.macAddress)"
    Write-Host "SSID: $($wifiStatus.ssid)"
    Write-Host "连接状态: $($wifiStatus.connectionStatus)"
    Write-Host "IP地址: $($wifiStatus.ipAddress)"
    Write-Host "频率: $($wifiStatus.frequency) MHz"
    Write-Host ""
}

Bash脚本(Linux/macOS)

注意:需提前安装jq工具用于JSON解析(如apt install jq或brew install jq)

#!/bin/bash

# 获取所有设备ID
device_ids=$(azsphere device list --output tsv --query "[].deviceId")

# 遍历每台设备查询WiFi状态
for device_id in $device_ids; do
    echo "=== 设备ID: $device_id ==="
    # 切换到目标设备
    azsphere device select --device $device_id
    # 提取WiFi状态中的关键字段
    mac_address=$(azsphere device wifi show-status --output json | jq -r '.macAddress')
    ssid=$(azsphere device wifi show-status --output json | jq -r '.ssid')
    connection_status=$(azsphere device wifi show-status --output json | jq -r '.connectionStatus')
    ip_address=$(azsphere device wifi show-status --output json | jq -r '.ipAddress')
    frequency=$(azsphere device wifi show-status --output json | jq -r '.frequency')
    
    # 输出信息
    echo "MAC地址: $mac_address"
    echo "SSID: $ssid"
    echo "连接状态: $connection_status"
    echo "IP地址: $ip_address"
    echo "频率: $frequency MHz"
    echo ""
done

额外说明

  • 执行脚本前需确保已通过azsphere login完成Azure Sphere CLI的登录验证
  • 如果设备分布在不同的租户或产品下,需在azsphere device list命令中添加--tenant <租户ID>或--product <产品ID>参数过滤目标设备
  • 可根据需求调整脚本中提取的字段(如安全状态、密钥管理等),只需修改JSON解析对应的属性名即可

内容的提问来源于stack exchange,提问作者Bandolero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:30:30