為乙太網路準備 Azure 球體

若要透過乙太網路通訊,Azure 球體裝置需要外部乙太網路卡和麵板設定映射。 下列步驟需要準備您的裝置乙太網路:

  1. 將轉接器連接到您的裝置

  2. 建立及部署面板設定圖像

  3. 啟用乙太網路介面

謹慎

如果您的裝置是透過乙太網路連線,則必須有流量偏低的網路,才能避免資料遺失或效能不佳。 當網路上有大量內送流量時,裝置會遺失來自傳入非 TCP 封包的資料。 不論流量為何,內送 TCP 封包的資料通常不會遺失,因為 TCP 會重新傳送掉的封包。 不過,重新傳輸是以效能為成本。

將轉接器連接到您的裝置

如需支援的以 太網路卡清單,請參閱支援的乙太網路卡板和模組 ,以及如何將它們連線到 Azure 球體開發面板的指示。

建立及部署面板設定圖像

搭配 Azure 球體使用的每個乙太網路卡都必須有 面板設定映射 。 面板設定圖像包含 Azure 球體安全性服務在 Azure 球體作業系統中新增乙太網路支援所需的資訊。 您必須為乙太網路卡建立 面板設定映射套 件,並與應用程式映射套件一起部署。 您可以 側載面板設定映射套件 以進行開發和偵錯。 您也可以 從雲端部署面板設定映射套件,以及您的 Azure 球體應用程式,以供欄位使用。 面板設定不計入 為為高階應用程式所保留的 Flash 記憶體或 RAM。

建立版面設定圖像套件

若要建立面板設定映射套件,請使用 azsphere 圖像套件套件-board-config CLI 命令。

注意

Azure CLI 擴充功能目前不支援 pack-board-config。

側載面板設定映射套件

若要在開發和偵錯期間使用面板設定映射套件:

  1. 準備裝置以進行開發和偵錯:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. 使用 az 球形裝置側載刪除 命令,從裝置中刪除任何現有的應用程式。 請務必先刪除現有的應用程式,再載入面板設定映射套件,以避免現有應用程式與面板設定之間的資源衝突。

  3. 側載面板設定映射套件。 如果您在上一節建立了自訂版面組態檔,現在可以側載。 預設選項包括下列專案:

    請參閱 Microchip ENC28J60 NIC 的 MT3620 乙太網路盾:

    az sphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
    

    Avnet Rev1 Devkit Click Module for Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
    

    Avnet Rev2 Devkit Click Module for Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. 使用 Visual Studio 或使用 az 球體裝置側載部署 命令,將應用程式側載。

雲端部署面板設定映射套件

若要透過雲端部署面板組態映射套件,您的裝置必須有產品、屬於裝置群組,而且不得安裝 App 必要功能。 請參閱 建立部署 以瞭解如何設定。

裝置準備就緒後,您可以在單一部署中部署面板設定映射以及應用程式映射。

若要建立部署:

  1. 使用 az 球形影像新增,將影像套件上傳到您的 Azure球體目錄。
  2. 使用 az 球形部署建立上傳的影像,為裝置群組建立新的部署。
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

以圖像套件的圖像識別碼取代 < 圖像標識 > 符。

移除側載面板設定

如果您在開發期間側載白板設定,日後可能需要移除該設定,讓其他應用程式可以使用白板保留的資源。 如果您嘗試執行在 Azure 球體裝置上載入面板設定時使用這些資源的應用程式,將會發生釘選衝突錯誤。

若要移除面板設定,請遵循下列步驟:

  1. 列出裝置上安裝的影像:

    az sphere device image list-installed
    
  2. 在清單中尋找面板設定的元件識別碼:

     {
     "does_image_type_require_restart": true,
     "image_type": "Board configuration",
     "images": [
       {
         "length_in_bytes": 428,
         "replica_type": 0,
         "uid": "839e699a-1b23-44de-bc56-f2b19e472098",
         "uncompressed_length_in_bytes": 428
       }
     ],
     "is_update_staged": false,
     "name": "lan-enc28j60-isu0-int5_29f10d",
     "uid": "29f10d1e-29aa-4ae0-a48c-cc24305b288a"
     }
    

    元件識別碼是與面板設定相關聯的 uid,因此在上述輸出中,會啟動 「29f10...」。

  3. 指定其元件識別碼以刪除面板設定映射套件:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. 按下 [重設] 按鈕或發出 az 球形裝置重新開機命令來重新開機裝置

啟用乙太網路介面

載入面板設定並重新啟動裝置後,介面就會自動啟用。 如果您想要停用介面,請使用 az 球形裝置網路停用 命令或呼叫 Networking_SetInterfaceState 函數,這是網路設定 API 的一部分。

根據預設,所有介面都會使用動態 IP 位址。 如需 Azure 球體應用程式可使用的服務類型詳細資料,請參閱 使用網路服務

設定乙太網路的 Azure 球體

將 Azure 球體裝置連接到支援的乙太網路卡並部署面板組態映射之後,您可以設定 Azure 球體裝置,從命令列 (CLI) 連線到網路,或從應用程式中使用 Azure 球體 SDK 應用程式庫 (Applibs) 。

使用 CLI 的乙太網路設定

若要從命令列管理乙太網路設定,請使用 az 球體裝置網路 CLI 命令。 例如, 裝置網路啟用 命令可在連接的裝置上啟用乙太網路介面。

az sphere device network enable --interface "eth0" 

若要使用設定的乙太網路,必須使用 eth0 () 網路介面。 使用 裝置網路清單介面 命令來判斷介面是否為使用中。


az sphere device network list-interfaces

如有需要,請使用 裝置網路啟用 命令來啟用它。


az sphere device network enable --interface eth0

使用 Applibs 的乙太網路設定

若要設定乙太網路,您的應用程式必須使用 Applibs 網路 API

在應用程式中包含此頁首檔案:

#include <applibs/networking.h>

應用程式 資訊清單 必須包含 NetworkConfig 功能。

 "Capabilities": {
  "NetworkConfig" : true
}

使用 Networking_GetInterfaceConnectionStatus 函數判斷網路介面是否為使用中。

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

若要啟用網路介面,請使用 Networking_SetInterfaceState 函數。

Networking_SetInterfaceState("eth0", true);

注意

如果網路介面 (wlan0 和 eth0) 都處於作用中且已連線,則裝置用於通訊的特定介面是非不確定的。 如果您想要在任何指定時間控制要使用哪一個網路介面,您的應用程式必須使用 Networking_SetInterfaceState () 函數明確地開啟所要的介面,並關閉其他介面。 DHCP 用戶端高階應用程式範例示範如何將代表兩個介面之一的值指派給全域變數,藉此在介面之間切換。

樣品

Azure IoT示範如何在 Azure 球體應用程式中使用 Azure IoT SDK C API 與 Azure IoT 中樞 或 Azure IoT Central 通訊。

DHCP 用戶端高層級應用程式 示範如何更新或釋出網路 DHCP 伺服器已指派給 MT3620 裝置的目前 IP 位址。

HTTPS cURL Easy 示範使用 cURL 的「輕鬆」API 透過 HTTPS 擷取內容

HTTPS cURL Multi 示範如何使用 cURL 的「多重」API 透過 HTTPS 擷取內容。

Power Down 高階應用程式 示範 Azure 球體平臺的 Power Down 功能。

私人網路服務 示範如何將 Azure 球體裝置連線至私人網路並使用網路服務。

WolfSSL 高階應用程式 會在高階應用程式中使用 WolfSSL for SSL 交會進行示範。

注意

下列範例來自 Azure 球體圖庫,這是來自 Microsoft 的未相關軟體和硬體範例集合。 如需詳細資訊,請參閱 Azure 球體圖庫

列印網路介面的 MAC 和 IP 位址 會列印指定網路介面的 MAC 和 IP 位址。

OSNetworkRequirementChecker-HLApp 會執行兩個裝置 (MT3620) 網路診斷測試。