Share via


Azure Sphere voorbereiden voor Ethernet

Voor communicatie via Ethernet heeft een Azure Sphere-apparaat een externe Ethernet-adapter en een installatiekopieën voor de configuratie van een bord nodig. De volgende stappen zijn vereist om uw apparaat voor te bereiden op netwerken via Ethernet:

  1. Sluit de adapter aan op uw apparaat.

  2. Maak en implementeer de installatiekopieën van de bordconfiguratie.

  3. Schakel de Ethernet-interface in.

Voorzichtigheid

Als uw apparaat is verbonden via Ethernet, is een netwerk met weinig verkeer vereist om gegevensverlies of slechte prestaties te voorkomen. Het apparaat verliest gegevens van binnenkomende niet-TCP-pakketten wanneer er aanzienlijk binnenkomend verkeer op het netwerk is. Gegevens gaan doorgaans niet verloren van binnenkomende TCP-pakketten, ongeacht het verkeersvolume, omdat TCP verwijderde pakketten opnieuw zal verzenden. De herverzending gaat echter ten koste van de prestaties.

De adapter aansluiten op uw apparaat

Zie Ondersteunde Ethernet-adaptersborden en -modules voor een lijst met ondersteunde Ethernet-adapters en instructies voor het verbinden ervan met een Azure Sphere-ontwikkelbord.

De installatiekopieën van de bordconfiguratie maken en implementeren

Er is een installatiekopie van de bordconfiguratie vereist voor elke Ethernet-adapter die wordt gebruikt met Azure Sphere. De installatiekopieën van de bordconfiguratie bevatten informatie die de Azure Sphere Security Service nodig heeft om ondersteuning voor Ethernet toe te voegen aan het Azure Sphere-besturingssysteem. U moet een installatiekopieënpakket voor de boardconfiguratie voor uw Ethernet-adapter maken en dit samen met uw toepassingsinstallatiekopieënpakket implementeren. U kunt het installatiekopieënpakket voor de boardconfiguratie sideloaden voor ontwikkeling en foutopsporing. U kunt ook het installatiekopieënpakket voor de bordconfiguratie implementeren vanuit de cloud, samen met uw Azure Sphere-toepassing, voor gebruik in het veld. De bordconfiguratie telt niet mee voor het Flash-geheugen of RAM-geheugen dat is gereserveerd voor apps op hoog niveau.

Een installatiekopieënpakket voor een bordconfiguratie maken

Gebruik de CLI-opdracht azsphere image-package pack-board-config om een installatiekopieënpakket voor een bordconfiguratie te maken.

Opmerking

pack-board-config wordt momenteel niet ondersteund in de Azure CLI-extensie.

Een installatiekopieënpakket voor een bordconfiguratie sideloaden

Een installatiekopieënpakket voor bordconfiguratie gebruiken tijdens ontwikkeling en foutopsporing:

  1. Bereid het apparaat voor op ontwikkeling en foutopsporing:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Verwijder bestaande toepassingen van het apparaat met behulp van de opdracht az sphere device sideload delete . Het is belangrijk om bestaande toepassingen te verwijderen voordat u het installatiekopieënpakket voor de bordconfiguratie laadt om resourceconflicten tussen bestaande toepassingen en de bordconfiguratie te voorkomen.

  3. Sideload het installatiekopieënpakket voor de bordconfiguratie. Als u in de vorige sectie een aangepast bordconfiguratiebestand hebt gemaakt, kan dat nu sideloaden. Vooraf ingestelde opties zijn onder andere:

    Zie MT3620 Ethernet Shield voor Microchip ENC28J60 NIC:

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

    Avnet Rev1 Devkit Klikmodule voor Wiznet W5500 NIC:

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

    Avnet Rev2 Devkit Klikmodule voor Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Sideload de toepassing met behulp van Visual Studio of met behulp van de opdracht az sphere device sideload deploy .

Een installatiekopieënpakket voor een bordconfiguratie in de cloud implementeren

Als u een installatiekopieënpakket voor een bordconfiguratie via de cloud wilt implementeren, moet uw apparaat een product hebben, deel uitmaken van een apparaatgroep en moet de AppDevelopment-functie niet zijn geïnstalleerd. Zie Een implementatie maken voor meer informatie over het instellen van deze implementaties.

Nadat uw apparaat gereed is, kunt u de installatiekopieën van de bordconfiguratie samen met de toepassingsinstallatiekopieën in één implementatie implementeren.

Een implementatie maken:

  1. Upload het installatiekopieënpakket naar uw Azure Sphere-catalogus met behulp van az sphere image add.
  2. Maak een nieuwe implementatie voor een apparaatgroep voor de geüploade installatiekopieën met behulp van az sphere deployment create.
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

Vervang <image-ID> door de installatiekopieën-id van het installatiekopieënpakket.

Een sideloaded board-configuratie verwijderen

Als u een boardconfiguratie sideload tijdens de ontwikkeling, moet u deze configuratie mogelijk later verwijderen, zodat andere toepassingen de resources kunnen gebruiken die het bord reserveert. Als u probeert een toepassing uit te voeren die gebruikmaakt van deze resources terwijl de bordconfiguratie wordt geladen op het Azure Sphere-apparaat, treden er fouten op met speldconflicten.

Voer de volgende stappen uit om een boardconfiguratie te verwijderen:

  1. Geef de installatiekopieën weer die op het apparaat zijn geïnstalleerd:

    az sphere device image list-installed
    
  2. Zoek de onderdeel-id voor de bordconfiguratie in de lijst:

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

    De onderdeel-id is de uid die is gekoppeld aan de bordconfiguratie, dus in de bovenstaande uitvoer begint het '29f10...'.

  3. Verwijder het installatiekopieënpakket voor de bordconfiguratie door de onderdeel-id op te geven:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Start het apparaat opnieuw op door op de knop Opnieuw instellen te drukken of de opdracht az sphere device restart uit te geven.

De Ethernet-interface inschakelen

Zodra de bordconfiguratie is geladen en het apparaat opnieuw is opgestart, wordt de interface automatisch ingeschakeld. Als u de interface wilt uitschakelen, gebruikt u de opdracht az sphere device network disable of roept u de functie Networking_SetInterfaceState aan, die deel uitmaakt van de netwerkconfiguratie-API.

Alle interfaces gebruiken standaard dynamische IP-adressen. Zie Netwerkservices gebruiken voor meer informatie over de typen services die een Azure Sphere-toepassing kan gebruiken.

Azure Sphere voor Ethernet configureren

Nadat u uw Azure Sphere-apparaat hebt verbonden met een ondersteunde Ethernet-adapter en de installatiekopie van de bordconfiguratie hebt geïmplementeerd, kunt u uw Azure Sphere-apparaat configureren om verbinding te maken met een netwerk vanaf de opdrachtregel (CLI) of vanuit uw toepassing met behulp van de Azure Sphere SDK-toepassingsbibliotheken (Applibs).

Ethernet-configuratie met behulp van de CLI

Als u de Ethernet-configuratie vanaf de opdrachtregel wilt beheren, gebruikt u de CLI-opdrachten az sphere device network. Met de opdracht apparaatnetwerk inschakelen wordt bijvoorbeeld een Ethernet-interface op het gekoppelde apparaat ingeschakeld.

az sphere device network enable --interface "eth0" 

Als u het geconfigureerde Ethernet-netwerk wilt gebruiken, moet de netwerkinterface (eth0) actief zijn. Gebruik de opdracht network list-interfaces van het apparaat om te bepalen of de interface actief is.


az sphere device network list-interfaces

Gebruik de opdracht apparaatnetwerk inschakelen om deze indien nodig te activeren.


az sphere device network enable --interface eth0

Ethernet-configuratie met behulp van Applibs

Als u Ethernet wilt configureren, moet uw toepassing gebruikmaken van de applibs-netwerk-API.

Neem dit headerbestand op in uw toepassing:

#include <applibs/networking.h>

Het toepassingsmanifest moet de mogelijkheid NetworkConfig bevatten.

 "Capabilities": {
  "NetworkConfig" : true
}

Gebruik de functie Networking_GetInterfaceConnectionStatus om te bepalen of de netwerkinterface actief is.

Networking_GetInterfaceConnectionStatus("eth0", &currentInterfaceStatus);

Gebruik de functie Networking_SetInterfaceState om de netwerkinterface te activeren.

Networking_SetInterfaceState("eth0", true);

Opmerking

Als beide netwerkinterfaces (wlan0 en eth0) actief en verbonden zijn, is de specifieke interface die het apparaat gebruikt voor communicatie niet-deterministisch. Als u wilt bepalen welke netwerkinterface op een bepaald moment wordt gebruikt, moet uw toepassing de functie Networking_SetInterfaceState() gebruiken om de gewenste interface expliciet in te schakelen en de andere interface uit te schakelen. Het voorbeeld van een dhcp-client-app op hoog niveau laat onder andere zien hoe u kunt schakelen tussen interfaces door een waarde toe te wijzen die een van de twee interfaces vertegenwoordigt aan een globale variabele.

Monsters

Azure IoT laat zien hoe u de Azure IoT SDK C-API's in een Azure Sphere-toepassing gebruikt om te communiceren met Azure IoT Hub of Azure IoT Central.

De dhcp-client-app op hoog niveau laat zien hoe u het huidige IP-adres kunt vernieuwen of vrijgeven dat de DHCP-server van het netwerk heeft toegewezen aan het MT3620-apparaat.

HTTPS cURL Easy demonstreert het ophalen van inhoud via HTTPS met behulp van de 'easy' API van cURL

HTTPS cURL Multi demonstreert het ophalen van inhoud via HTTPS met behulp van de 'multi'-API van cURL.

Power Down-app op hoog niveau demonstreert Power Down-functionaliteit voor het Azure Sphere-platform.

Privénetwerkservices laat zien hoe u een Azure Sphere-apparaat verbindt met een privénetwerk en netwerkservices gebruikt.

WolfSSL-app op hoog niveau demonstreert het gebruik van WolfSSL voor SSL-handshake in een toepassing op hoog niveau.

Opmerking

De volgende voorbeelden zijn afkomstig uit de Azure Sphere Gallery, een verzameling niet-onderhouden software- en hardwarevoorbeelden van Microsoft. Zie Azure Sphere Gallery voor meer informatie.

Als u het MAC- en IP-adres van de netwerkinterface afdrukt, worden de MAC- en IP-adressen van een opgegeven netwerkinterface afgedrukt.

OSNetworkRequirementChecker-HLApp voert twee diagnostische netwerktests (MT3620) uit.