网络服务接口
提供管理机器人网络连接(WiFi)的相关接口,包括扫描WiFi、连接/断开WiFi、获取WiFi状态等功能。
| 功能点 | C# |
|---|---|
| WiFi扫描 | ✔ |
| 获取WiFi列表 | ✔ |
| 连接WiFi | ✔ |
| 断开WiFi | ✔ |
| 获取WiFi状态 | ✔ |
机器人网络客户端
RobotNetworkClient 类提供了以下功能接口。
void StartWifiScan(WifiScanCallback callback)
功能说明
启动WiFi扫描。扫描过程是异步的,通过回调函数通知扫描结果。建议在调用 GetAvailableWifiList 前先调用此接口。
参数说明
| 参数名 | 类型 | 必填/默认值 | 说明 |
|---|---|---|---|
callback | WifiScanCallback | 必填 | 扫描结果回调函数,签名: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 | 包含 Wifi24GList 和 Wifi5GList 的响应对象。 |
调用示例
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网络。
参数说明
| 参数名 | 类型 | 必填/默认值 | 说明 |
|---|---|---|---|
ssid | string | 必填 | WiFi名称(SSID)。 |
password | string | 必填 | WiFi密码。 |
wifiType | int | 0 | WiFi频段类型:0: 2.4GHz, 1: 5GHz。 |
encryption | int | 1 | 加密类型:0: 无加密, 1: wpa-psk/wpa2-psk, 2: wpa/wpa2。 |
返回值
| 类型 | 说明 |
|---|---|
SnmpResponse | 操作结果响应,包含 Success 和 Message。 |
调用示例
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连接。
参数说明
| 参数名 | 类型 | 必填/默认值 | 说明 |
|---|---|---|---|
wifiType | int | 0 | 要断开的WiFi频段类型:0: 2.4GHz, 1: 5GHz。 |
返回值
| 类型 | 说明 |
|---|---|
SnmpResponse | 操作结果响应,包含 Success 和 Message。 |
调用示例
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连接状态。
参数说明
无。
返回值
| 类型 | 说明 |
|---|---|
WifiStatusResponse | WiFi状态响应,包含 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}");
}