Dela via


Förbereda Azure Sphere för Ethernet

För att kommunicera via Ethernet kräver en Azure Sphere-enhet en extern Ethernet-adapter och en avbildning av en anslagstavla. Följande steg krävs för att förbereda enheten för nätverk via Ethernet:

  1. Anslut adaptern till enheten.

  2. Skapa och distribuera avbildningen av anslagstavlan.

  3. Aktivera Ethernet-gränssnittet.

Försiktighet

Om enheten är ansluten via Ethernet krävs ett lågtrafiknätverk för att förhindra dataförlust eller dålig prestanda. Enheten förlorar data från inkommande icke-TCP-paket när det finns betydande inkommande trafik i nätverket. Data går vanligtvis inte förlorade från inkommande TCP-paket, oavsett trafikvolym, eftersom TCP återöversänder tappade paket. Återöverföringen sker dock på bekostnad av prestanda.

Ansluta adaptern till enheten

I Ethernet-kort som stöds finns en lista över Ethernet-adaptrar som stöds och instruktioner för hur du ansluter dem till en Azure Sphere-utvecklingstavla.

Skapa och distribuera avbildningen av anslagstavlan

En avbildning av en anslagstavla krävs för varje Ethernet-kort som används med Azure Sphere. Avbildningen av anslagstavlans konfiguration innehåller information som Azure Sphere Security Service kräver för att lägga till stöd för Ethernet i Azure Sphere-operativsystemet. Du måste skapa ett avbildningspaket för en anslagstavla för Ethernet-adaptern och distribuera det tillsammans med programbildpaketet. Du kan läsa in konfigurations avbildningspaketet för anslagstavlan separat för utveckling och felsökning. Du kan också distribuera avbildningspaketet för anslagstavlor från molnet, tillsammans med Azure Sphere-programmet, för fältanvändning. Anslagstavlans konfiguration räknas inte mot flashminnet eller RAM-minnet som är reserverat för appar på hög nivå.

Skapa ett avbildningspaket för att skapa en anslagstavla

Om du vill skapa ett avbildningspaket för konfiguration av anslagstavlor använder du kommandot azsfär avbildningspaket pack-board-config CLI.

Observera

pack-board-config stöds för närvarande inte i Azure CLI-tillägget.

Avbildningspaket för separat inläsning av en anslagstavla

Så här använder du ett avbildningspaket för att konfigurera anslagstavlor under utveckling och felsökning:

  1. Förbered enheten för utveckling och felsökning:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Ta bort alla befintliga program från enheten med borttagningskommandot az sphere-enhet för separat inläsning . Det är viktigt att ta bort befintliga program innan du läser in avbildningspaketet för anslagstavlor för att undvika resurskonflikter mellan befintliga program och anslagstavlans konfiguration.

  3. Avbildningspaketet för separat inläsning av anslagstavlan. Om du skapade en anpassad konfigurationsfil för anslagstavlor i föregående avsnitt kan den läsas in separat nu. Bland de förinställda alternativen finns följande:

    MT3620 Ethernet Shield för Microchip ENC28J60 NIC:

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

    Avnet Rev1 Devkit Klicka modul för Wiznet W5500 NIC:

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

    Avnet Rev2 Devkit Klicka modul för Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Separat inläsning av programmet, antingen med Visual Studio eller med hjälp av kommandot az sphere device sideload deploy .

Molndistribution av ett avbildningspaket för konfiguration av anslagstavlor

Om du vill distribuera ett konfigurationsavbildningspaket för anslagstavlor via molnet måste enheten ha en produkt, tillhöra en enhetsgrupp och får inte ha apputvecklingsfunktionen installerad. Se Skapa en distribution för att ta reda på hur du konfigurerar dessa.

När enheten är klar kan du distribuera avbildningen av anslagstavlan tillsammans med program avbildningen i en enda distribution.

Så här skapar du en distribution:

  1. Ladda upp avbildningspaketet till Azure Sphere-katalogen med az sphere-avbildningen.
  2. Skapa en ny distribution för en enhetsgrupp för uppladdade avbildningar med hjälp av az sphere-distribution skapa.
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

Ersätt <avbildnings-ID> med avbildningspaketets avbildnings-ID.

Ta bort en konfiguration av en separat inläst anslagstavla

Om du separat inläser en anslagstavlas konfiguration under utvecklingen kan du senare behöva ta bort den konfigurationen så att andra program kan använda resurserna som anslagstavlan reserverar. Om du försöker köra ett program som använder dessa resurser medan anslagstavlans konfiguration läses in på Azure Sphere-enheten uppstår pin-konfliktfel.

Så här tar du bort en anslagstavla:

  1. Visa en lista över de avbildningar som är installerade på enheten:

    az sphere device image list-installed
    
  2. Hitta komponent-ID:t för anslagstavlans konfiguration i listan:

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

    Komponent-ID:t är det uid som är associerat med anslagstavlans konfiguration, så till exempel i ovanstående utdata startar "29f10...".

  3. Ta bort paketet med konfigurationskortskonfigurationen genom att ange dess komponent-ID:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Starta om enheten genom att antingen trycka på knappen Återställ eller utfärda kommandot för omstart av az sphere-enheten .

Aktivera Ethernet-gränssnittet

När konfigurationen av anslagstavlan har lästs in och enheten startas om aktiveras gränssnittet automatiskt. Om du vill inaktivera gränssnittet använder du az sphere device network disable command eller anropar funktionen Networking_SetInterfaceState , som är en del av API:t för nätverkskonfiguration.

I alla gränssnitt används dynamiska IP-adresser som standard. Mer information om vilka typer av tjänster ett Azure Sphere-program kan använda finns i Använda nätverkstjänster .

Konfigurera Azure Sphere för Ethernet

När du har anslutit din Azure Sphere-enhet till ett Ethernet-kort som stöds och distribuerat avbildningen av anslagstavlan kan du konfigurera Azure Sphere-enheten för att ansluta till ett nätverk från kommandoraden (CLI) eller från programmet med hjälp av Azure Sphere SDK-programbiblioteken (Applibs).

Ethernet-konfiguration med CLI

Om du vill hantera Ethernet-konfigurationen från kommandoraden använder du CLI-kommandona för az-sfärenhetsnätverk. Kommandot aktivera enhetsnätverk möjliggör till exempel ett Ethernet-gränssnitt på den anslutna enheten.

az sphere device network enable --interface "eth0" 

Om du vill använda det konfigurerade Ethernet-nätverket måste nätverksgränssnittet (eth0) vara aktivt. Använd kommandot för enhetsnätverkslistor för att avgöra om gränssnittet är aktivt.


az sphere device network list-interfaces

Aktivera enhetens nätverksaktiveringskommando om det behövs.


az sphere device network enable --interface eth0

Ethernet-konfiguration med Applibs

Om du vill konfigurera Ethernet måste programmet använda API:t för applibs-nätverk.

Ta med den här rubrikfilen i programmet:

#include <applibs/networking.h>

Programmanifestet måste innehålla networkconfig-funktionen.

 "Capabilities": {
  "NetworkConfig" : true
}

Använd funktionen Networking_GetInterfaceConnectionStatus för att avgöra om nätverksgränssnittet är aktivt.

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

Om du vill aktivera nätverksgränssnittet använder du funktionen Networking_SetInterfaceState .

Networking_SetInterfaceState("eth0", true);

Observera

Om båda nätverksgränssnitten (wlan0 och eth0) är aktiva och anslutna är det specifika gränssnitt som enheten använder för kommunikation icke-deterministiskt. Om du vill styra vilket nätverksgränssnitt som används vid en given tidpunkt måste programmet använda funktionen Networking_SetInterfaceState() för att uttryckligen aktivera önskat gränssnitt och det andra gränssnittet. Exempel på dhcp-klientprogram på hög nivå visar bland annat hur du växlar mellan gränssnitt genom att tilldela ett värde som representerar ett av de två gränssnitten till en global variabel.

Prover

Azure IoT visar hur du använder Azure IoT SDK C-API:er i ett Azure Sphere-program för att kommunicera med Azure IoT Hub eller Azure IoT Central.

DHCP-klientprogram på hög nivå visar hur du förnyar eller släpper den aktuella IP-adressen som nätverkets DHCP-server har tilldelat MT3620-enheten.

HTTPS cURL Easy visar hur innehåll hämtas via HTTPS med cURL:s "easy" API

HTTPS cURL Multi visar hur innehåll hämtas via HTTPS med cURL:s multi-API.

Power Down-appen på hög nivå visar power down-funktionaliteten för Azure Sphere-plattformen .

Privata nätverkstjänster visar hur du ansluter en Azure Sphere-enhet till ett privat nätverk och använder nätverkstjänster.

WolfSSL high-level app visar hur man använder WolfSSL för SSL handskakning i en hög nivå ansökan.

Observera

Följande exempel kommer från Azure Sphere Gallery, som är en samling oavsiktliga programvaru- och maskinvaruprov från Microsoft. Mer information finns i Azure Sphere Gallery.

Print MAC och IP-adress för nätverksgränssnittet skriver ut MAC- och IP-adresser för ett angivet nätverksgränssnitt.

OSNetworkRequirementChecker-HLApp utför två enhetsdiagnostiktester (MT3620).