Skip to content

网络服务接口

提供管理机器人网络连接(WiFi)的相关接口,包括扫描WiFi、连接/断开WiFi、获取WiFi状态等功能。

功能点C#
WiFi扫描
获取WiFi列表
连接WiFi
断开WiFi
获取WiFi状态

机器人网络客户端

RobotNetworkClient 类提供了以下功能接口。

void StartWifiScan(WifiScanCallback callback)

功能说明
启动WiFi扫描。扫描过程是异步的,通过回调函数通知扫描结果。建议在调用 GetAvailableWifiList 前先调用此接口。

参数说明

参数名类型必填/默认值说明
callbackWifiScanCallback必填扫描结果回调函数,签名:void WifiScanCallback(bool success, string message)

返回值

类型说明
void无返回值。

调用示例

csharp
private RobotSDKManager _robotSDKManager;
private RobotNetworkClient _robotNetworkClient;

_robotSDKManager = RobotSDKManager.Instance;
_robotNetworkClient = _robotSDKManager.CreateRobotNetworkClient();

_robotNetworkClient.StartWifiScan((success, message) =>
{
    if (success)
    {
        Debug.Log("WiFi scan completed successfully");
    }
    else
    {
        Debug.LogError($"WiFi scan failed: {message}");
    }
});

Task<AvailableWifiListResponse> GetAvailableWifiList()

功能说明
获取扫描到的可用WiFi列表。通常在 StartWifiScan 回调成功后调用。

参数说明
无。

返回值

类型说明
AvailableWifiListResponse包含 Wifi24GListWifi5GList 的响应对象。

调用示例

csharp
private RobotSDKManager _robotSDKManager;
private RobotNetworkClient _robotNetworkClient;

_robotSDKManager = RobotSDKManager.Instance;
_robotNetworkClient = _robotSDKManager.CreateRobotNetworkClient();

var response = await _robotNetworkClient.GetAvailableWifiList();
if (response != null)
{
    foreach (var wifi in response.Wifi24GList)
    {
        Debug.Log($"[2.4G] SSID: {wifi.Ssid}, RSSI: {wifi.Rssi}");
    }
}

Task<SnmpResponse> ConnectWifi(string ssid, string password, int wifiType = 0, int encryption = 1)

功能说明
连接到指定的WiFi网络。

参数说明

参数名类型必填/默认值说明
ssidstring必填WiFi名称(SSID)。
passwordstring必填WiFi密码。
wifiTypeint0WiFi频段类型:0: 2.4GHz, 1: 5GHz。
encryptionint1加密类型:0: 无加密, 1: wpa-psk/wpa2-psk, 2: wpa/wpa2。

返回值

类型说明
SnmpResponse操作结果响应,包含 SuccessMessage

调用示例

csharp
private RobotSDKManager _robotSDKManager;
private RobotNetworkClient _robotNetworkClient;

_robotSDKManager = RobotSDKManager.Instance;
_robotNetworkClient = _robotSDKManager.CreateRobotNetworkClient();

var response = await _robotNetworkClient.ConnectWifi("MyWiFi", "12345678", 0, 1);
if (response.Success)
{
    Debug.Log("Connected to WiFi successfully");
}

Task<SnmpResponse> DisconnectWifi(int wifiType = 0)

功能说明
断开当前的WiFi连接。

参数说明

参数名类型必填/默认值说明
wifiTypeint0要断开的WiFi频段类型:0: 2.4GHz, 1: 5GHz。

返回值

类型说明
SnmpResponse操作结果响应,包含 SuccessMessage

调用示例

csharp
private RobotSDKManager _robotSDKManager;
private RobotNetworkClient _robotNetworkClient;

_robotSDKManager = RobotSDKManager.Instance;
_robotNetworkClient = _robotSDKManager.CreateRobotNetworkClient();

var response = await _robotNetworkClient.DisconnectWifi(0);
if (response.Success)
{
    Debug.Log("Disconnected from WiFi successfully");
}

Task<WifiStatusResponse> GetWifiStatus()

功能说明
获取机器人当前的WiFi连接状态。

参数说明
无。

返回值

类型说明
WifiStatusResponseWiFi状态响应,包含 IsLinked, Wifi24GName, Wifi5GName 等信息。

调用示例

csharp
private RobotSDKManager _robotSDKManager;
private RobotNetworkClient _robotNetworkClient;

_robotSDKManager = RobotSDKManager.Instance;
_robotNetworkClient = _robotSDKManager.CreateRobotNetworkClient();

var status = await _robotNetworkClient.GetWifiStatus();
if (status != null)
{
    Debug.Log($"Is Connected: {status.IsLinked}");
    Debug.Log($"Connected SSID (2.4G): {status.Wifi24GName}");
}