Udostępnij za pośrednictwem


Przygotowywanie usługi Azure Sphere dla sieci Ethernet

Do komunikowania się za pośrednictwem sieci Ethernet urządzenie Azure Sphere wymaga zewnętrznej karty Ethernet i obrazu konfiguracji tablicy. Aby przygotować urządzenie do sieci przez sieć Ethernet, wymagane są następujące kroki:

  1. Podłącz adapter do urządzenia.

  2. Tworzenie i wdrażanie obrazu konfiguracji tablicy.

  3. Włącz interfejs Ethernet.

Ostrożność

Jeśli urządzenie jest połączone za pośrednictwem sieci Ethernet, aby zapobiec utracie danych lub niskiej wydajności, wymagana jest sieć o niskim ruchu. Urządzenie utraci dane z przychodzących pakietów innych niż TCP, gdy w sieci występuje istotny ruch przychodzący. Dane z pakietów TCP poczty przychodzącej zwykle nie są tracone, niezależnie od woluminu ruchu, ponieważ protokół TCP ponownie przetransmituje upuszczone pakiety. Jednak ponowne przesyłanie odbywa się kosztem wykonania.

Podłącz adapter do urządzenia

Zobacz Obsługiwane karty Ethernet i moduły , aby zapoznać się z listą obsługiwanych kart Ethernet oraz instrukcjami dotyczącymi sposobu ich podłączania do tablicy programacyjnej Azure Sphere.

Tworzenie i wdrażanie obrazu konfiguracji tablicy

Dla każdej karty Ethernet używanej z usługą Azure Sphere jest wymagany obraz konfiguracji tablicy . Obraz konfiguracji tablicy zawiera informacje wymagane przez usługę zabezpieczeń Azure Sphere w celu dodania obsługi sieci Ethernet do systemu operacyjnego Azure Sphere. Musisz utworzyć pakiet obrazów konfiguracji tablicy dla karty Ethernet i wdrożyć go wraz z pakietem obrazów aplikacji. Możesz pobrać pakiet obrazów konfiguracji tablicy do projektowania i debugowania. Możesz również wdrożyć pakiet obrazów konfiguracji tablicy z chmury wraz z aplikacją Azure Sphere do użytku w polu. Konfiguracja tablicy nie jest uwzględniana w pamięci Flash ani pamięci RAM zarezerwowanej dla aplikacji wysokiego poziomu.

Tworzenie pakietu obrazów konfiguracji tablicy

Aby utworzyć pakiet obrazów konfiguracji tablicy, użyj polecenia Azsphere image-package pack-board-config CLI.

Uwaga

Pack-board-config nie jest obecnie obsługiwane w rozszerzeniu Azure CLI.

Ładowanie bezpośrednie pakietu obrazów konfiguracji tablicy

Aby używać pakietu obrazów konfiguracji tablicy podczas tworzenia i debugowania:

  1. Przygotuj urządzenie do opracowywania i debugowania:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Usuń wszystkie istniejące aplikacje z urządzenia za pomocą polecenia usuń urządzenie az sphere sideload . Przed załadowaniem pakietu obrazów konfiguracji tablicy należy usunąć istniejące aplikacje, aby uniknąć konfliktów zasobów między istniejącymi aplikacjami a konfiguracją tablicy.

  3. Załaduj pakiet obrazów konfiguracji tablicy. Jeśli w poprzedniej sekcji utworzono plik konfiguracji tablicy niestandardowej, można go teraz pobrać lokalnie. Wstępnie ustawione opcje obejmują następujące elementy:

    Zobacz MT3620 Ethernet Shield for Microchip ENC28J60 NIC:

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

    Moduł Avnet Rev1 Devkit dla Wiznet W5500 NIC:

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

    Moduł Avnet Rev2 Devkit dla Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Załaduj aplikację bezpośrednio za pomocą programu Visual Studio lub za pomocą polecenia wdrażania urządzenia az sphere .

Wdrażanie pakietu obrazów konfiguracji tablicy w chmurze

Aby wdrożyć pakiet obrazów konfiguracji tablicy w chmurze, urządzenie musi mieć produkt, należy do grupy urządzeń i nie może mieć zainstalowanej funkcji appDevelopment. Zobacz Tworzenie wdrożenia, aby dowiedzieć się, jak je skonfigurować.

Gdy urządzenie będzie gotowe, możesz wdrożyć obraz konfiguracji tablicy wraz z obrazem aplikacji w jednym wdrożeniu.

Aby utworzyć wdrożenie:

  1. Przekaż pakiet obrazów do wykazu usługi Azure Sphere za pomocą dodatku az sphere image.
  2. Utwórz nowe wdrożenie dla grupy urządzeń dla przekazanych obrazów przy użyciu funkcji wdrażania az sphere.
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

Zamień <identyfikator> obrazu na identyfikator obrazu pakietu obrazów.

Usuwanie konfiguracji tablicy ładowanej lokalnie

W przypadku ładowania lokalnego konfiguracji tablicy podczas projektowania może być później konieczne usunięcie tej konfiguracji, aby inne aplikacje mogły korzystać z zasobów rezerwowych dla tablicy. Jeśli spróbujesz uruchomić aplikację, która korzysta z tych zasobów podczas ładowania konfiguracji tablicy na urządzeniu Azure Sphere, wystąpią błędy konfliktu przypinania.

Aby usunąć konfigurację tablicy, wykonaj następujące czynności:

  1. Wyświetl listę obrazów zainstalowanych na urządzeniu:

    az sphere device image list-installed
    
  2. Znajdź identyfikator składnika konfiguracji tablicy na liście:

     {
     "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"
     }
    

    Identyfikator składnika to identyfikator użytkownika skojarzony z konfiguracją tablicy, więc na przykład w powyższym wyniku zaczyna się "29f10...".

  3. Usuń pakiet obrazów konfiguracji tablicy, określając jego identyfikator składnika:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Uruchom ponownie urządzenie, naciskając przycisk Resetuj lub wydając polecenie ponownego uruchomienia urządzenia az sphere .

Włączanie interfejsu Ethernet

Po załadowaniu konfiguracji tablicy i ponownym uruchomieniu urządzenia interfejs zostanie włączony automatycznie. Jeśli chcesz wyłączyć interfejs, użyj polecenia wyłącz sieć az sphere urządzenia lub wywołaj funkcję Networking_SetInterfaceState , która jest częścią interfejsu API konfiguracji sieci.

Wszystkie interfejsy domyślnie używają dynamicznych adresów IP. Zobacz Korzystanie z usług sieciowych , aby uzyskać szczegółowe informacje na temat typów usług, z których może korzystać aplikacja Azure Sphere.

Konfigurowanie usługi Azure Sphere dla sieci Ethernet

Po połączeniu urządzenia Azure Sphere z obsługiwaną kartą Ethernet i wdrożeniu obrazu konfiguracji tablicy możesz skonfigurować urządzenie Azure Sphere tak, aby łączyło się z siecią z poziomu wiersza polecenia (CLI) lub aplikacji przy użyciu bibliotek aplikacji zestawu SDK Azure Sphere (Applibs).

Konfiguracja ethernet przy użyciu interfejsu cli

Aby zarządzać konfiguracją ethernet z poziomu wiersza polecenia, użyj poleceń interfejsu cli urządzenia azsphere. Na przykład polecenie włącz sieć urządzenia umożliwia obsługę interfejsu Ethernet na dołączonym urządzeniu.

az sphere device network enable --interface "eth0" 

Aby można było korzystać ze skonfigurowanej sieci Ethernet, interfejs sieciowy (eth0) musi być aktywny. Aby ustalić, czy interfejs jest aktywny, użyj polecenia Interfejsy listy sieci urządzenia .


az sphere device network list-interfaces

Użyj polecenia Włącz sieć urządzenia , aby w razie potrzeby go aktywować.


az sphere device network enable --interface eth0

Konfiguracja sieci Ethernet przy użyciu aplikacji Applibs

Aby skonfigurować sieć Ethernet, aplikacja musi korzystać z interfejsu API sieciowego applibs.

Uwzględnij ten plik nagłówka w aplikacji:

#include <applibs/networking.h>

Manifest aplikacji musi zawierać funkcję NetworkConfig .

 "Capabilities": {
  "NetworkConfig" : true
}

Użyj funkcji Networking_GetInterfaceConnectionStatus , aby określić, czy interfejs sieciowa jest aktywny.

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

Aby aktywować interfejs sieciowym, użyj funkcji Networking_SetInterfaceState .

Networking_SetInterfaceState("eth0", true);

Uwaga

Jeśli oba interfejsy sieciowe (wlan0 i eth0) są aktywne i połączone, konkretny interfejs używany przez urządzenie do komunikacji nie jest deterministyczny. Jeśli chcesz kontrolować, który interfejs sieciowy jest używany w danej chwili, aplikacja musi używać funkcji Networking_SetInterfaceState(), aby jawnie włączyć i wyłączyć odpowiedni interfejs. W przykładzie aplikacji klienta DHCP na wysokim poziomie pokazano między innymi, jak przełączać się między interfejsami, przypisując wartość reprezentującą jeden z dwóch interfejsów do zmiennej globalnej.

Próbki

Azure IoT pokazuje, jak używać interfejsów API C SDK azure IoT w aplikacji Azure Sphere do komunikowania się z Azure IoT Hub lub Azure IoT Central.

Aplikacja wysokiego poziomu klienta DHCP pokazuje, jak odnowić lub zwolnić bieżący adres IP przypisany do urządzenia MT3620 przez serwer DHCP sieci.

Https cURL Easy pokazuje pobieranie zawartości przez HTTPS za pomocą "łatwy" interfejs API cURL

Https cURL Multi pokazuje pobieranie zawartości przez HTTPS przy użyciu interfejsu API "multi" cURL.

Aplikacja wysokiego poziomu Power Down pokazuje funkcjonalność dodatku Power Down dla platformy Azure Sphere.

Prywatne usługi sieciowe pokazują, jak połączyć urządzenie Azure Sphere z siecią prywatną i korzystać z usług sieciowych.

Aplikacja wolfssl wysokiego poziomu pokazuje za pomocą WolfSSL do uzgadniania SSL w aplikacji wysokiego poziomu.

Uwaga

Poniższe przykłady pochodzą z galerii Azure Sphere Gallery, która jest kolekcją nieupoczętowanych próbek oprogramowania i sprzętu firmy Microsoft. Aby uzyskać więcej informacji, zobacz Azure Sphere Gallery.

Print MAC and IP address of network interface prints the MAC and IP addresses of a specified network interface.

OSNetworkRequirementChecker-HLApp wykonuje dwa testy diagnostyczne sieci na dwóch urządzeniach (MT3620).