Préparer Azure Sphere pour Ethernet
Important
Il s’agit de la documentation Azure Sphere (héritée). Azure Sphere (hérité) prend sa retraite le 27 septembre 2027 et les utilisateurs doivent migrer vers Azure Sphere (intégré) pour l’instant. Utilisez le sélecteur de version situé au-dessus du TOC pour afficher la documentation Azure Sphere (intégrée).
Pour communiquer via Ethernet, un appareil Azure Sphere nécessite un adaptateur Ethernet externe et une image de configuration de carte. Les étapes suivantes sont nécessaires pour préparer votre appareil à la mise en réseau via Ethernet :
Créez et déployez l’image de configuration de carte.
Activez l’interface Ethernet.
Attention
Si votre appareil est connecté via Ethernet, un réseau à faible trafic est nécessaire pour éviter une perte de données ou des performances médiocres. L’appareil perd les données des paquets non TCP entrants lorsqu’il y a un trafic entrant significatif sur le réseau. Les données ne sont généralement pas perdues à partir de paquets TCP entrants, quel que soit le volume de trafic, car TCP retransmit les paquets supprimés. Toutefois, la retransmettre est au coût des performances.
Connecter l’adaptateur à votre appareil
Consultez les cartes et modules Ethernet pris en charge pour obtenir la liste des cartes Ethernet prises en charge et des instructions sur la façon de les connecter à une carte de développement Azure Sphere.
Créer et déployer l’image de configuration de carte
Une image de configuration de carte est requise pour chaque adaptateur Ethernet utilisé avec Azure Sphere. L’image de configuration de carte contient des informations dont le service de sécurité Azure Sphere a besoin pour ajouter la prise en charge d’Ethernet au système d’exploitation d’Azure Sphere. Vous devez créer un package d’image de configuration de carte pour votre adaptateur Ethernet et le déployer avec votre package d’image d’application. Vous pouvez charger côte à côte le package d’image de configuration de carte pour le développement et le débogage. Vous pouvez également déployer le package d’images de configuration de carte à partir du cloud, ainsi que votre application Azure Sphere, pour une utilisation de champ. La configuration de la carte ne compte pas par rapport à la mémoire Flash ou à la RAM réservée pour les applications de haut niveau.
Créer un package d’image de configuration de carte
Pour créer un package d’image de configuration de carte, utilisez la commande CLI azsphere image-package pack-board-config.
Charger une version test du package d'image de configuration de carte
Pour utiliser un package d’image de configuration de carte pendant le développement et le débogage :
Préparer l’appareil pour le développement et le débogage :
azsphere device enable-development
Supprimez les applications existantes de l’appareil à l’aide de la commande azsphere device sideload delete. Il est important de supprimer les applications existantes avant de charger le package d’image de configuration de carte pour éviter les conflits de ressources entre des applications existantes et la configuration de carte.
Effectuez un chargement indépendant du package d’image de configuration de carte. Si vous avez créé un fichier de configuration de carte personnalisé dans la section précédente, celui-ci peut être chargé de manière test maintenant. Les options prédéfinies sont les suivantes :
Carte réseau mt3620 Ethernet seeed MT3620 pour microchip ENC28J60 :
azsphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
Avnet Rev1 Devkit Click Module for Wiznet W5500 NIC :
azsphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
Avnet Rev2 Devkit Click Module for Wiznet W5500 NIC :
azsphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
Effectuez un chargement indépendant de l’application à l’aide de Visual Studio ou de la commande azsphere device sideload deploy.
Déploiement cloud d’un package d’image de configuration de carte
Pour déployer un package d’image de configuration de carte à partir du cloud, vous devez utiliser un appareil qui contient un produit, qui est membre d’un groupe d’appareils et sur lequel la fonctionnalité AppDevelopment n’est pas installée. Consultez Créer un déploiement pour en savoir plus sur cette configuration.
Une fois que votre appareil est prêt, vous pouvez déployer l’image de configuration de carte ainsi que l’image d’application dans un seul déploiement.
Pour créer un déploiement :
- Chargez le package d’images sur votre locataire Azure Sphere à l’aide de l’ajout d’images azsphere.
- Créez un déploiement pour un groupe d’appareils pour les images chargées à l’aide d’azsphere device-group deployment create.
Chargez le package d’image :
azsphere image add --image <path-to-image-package>
Créez un déploiement pour un groupe d’appareils :
azsphere device-group deployment create --device-group <device-group-ID> or '<product-name>/<device-group-name>' --images <image-ID> <image-ID>
Pour fournir plusieurs valeurs pour --images
entrer une liste de valeurs séparées par des espaces.
Le --device-group
paramètre identifie le groupe d’appareils. L’ID de groupe d’appareils fournit un GUID, qui identifie de façon unique le groupe d’appareils sur tous les produits. Vous pouvez également utiliser le nom du produit et la <paire de noms de groupe d’appareils au format product-name>/<device-group-name> . Cette paire de noms identifie de façon univoque un groupe d’appareils pour un produit particulier. Remplacez <l’ID> d’image par l’ID d’image du package d’images.
Supprimer le chargement de la version test de la configuration de carte
Si vous chargez indépendamment une configuration de carte pendant le développement, vous devrez peut-être supprimer cette configuration ultérieurement afin que les autres applications puissent utiliser les ressources en réserve dans la carte. Si vous essayez d’exécuter une application qui utilise ces ressources alors que la configuration de la carte est chargée sur l’appareil Azure Sphere, des erreurs de conflits de code PIN se produisent.
Pour supprimer une configuration de carte, effectuez les étapes suivantes :
Listez les images installées sur l’appareil :
azsphere device image list-installed
Recherchez l’ID de composant de la configuration de carte dans la liste :
--> lan-enc28j60-is --> Image type: Board configuration --> Component ID: 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6 --> Image ID: a726b919-bdbe-4cf4-8360-2e37af9407e1
Supprimez le package d’image de configuration de carte en précisant son ID de composant :
azsphere device sideload delete --component-id 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
Redémarrez l’appareil, au choix en appuyant sur le bouton de réinitialisation ou en exécutant la commande azsphere device restart.
Activer l'interface Ethernet
Une fois la configuration de carte chargée et que l’appareil est redémarré, l’interface est activée automatiquement. Si vous souhaitez désactiver l’interface, utilisez la commande azsphere device device disable ou appelez la fonction Networking_SetInterfaceState , qui fait partie de l’API de configuration réseau.
Par défaut, toutes les interfaces utilisent des adresses IP dynamiques. Consultez Utiliser les services réseau pour plus d’informations sur les types de services qu’une application Azure Sphere peut utiliser.
Configurer Azure Sphere pour Ethernet
Après avoir connecté votre appareil Azure Sphere à une carte Ethernet prise en charge et déployé l’image de configuration de carte, vous pouvez configurer votre appareil Azure Sphere pour qu’il se connecte à un réseau à partir de la ligne de commande (CLI) ou de votre application à l’aide des bibliothèques d’applications du SDK Azure Sphere (bibliothèques d’applications).
Configuration Ethernet à l’aide de l’interface CLI
Pour gérer la configuration Ethernet à partir de la ligne de commande, vous utilisez les commandes CLI réseau d’appareil azsphere. Par exemple, la commande d’activation du réseau d’appareils active une interface Ethernet sur l’appareil attaché.
azsphere device network enable --interface "eth0"
Pour utiliser le réseau Ethernet configuré, l’interface réseau (eth0) doit être active. Utilisez la commande list-interfaces réseau de l’appareil pour déterminer si l’interface est active.
azsphere device network list-interfaces
Utilisez la commande d’activation du réseau d’appareils pour l’activer si nécessaire.
azsphere device network enable --interface eth0
Configuration Ethernet à l’aide des bibliothèques d’applications
Pour configurer Ethernet, votre application doit utiliser l’API réseau des applibateurs.
Incluez ce fichier d’en-tête dans votre application :
#include <applibs/networking.h>
Le manifeste de l’application doit inclure la fonctionnalité NetworkConfig .
"Capabilities": {
"NetworkConfig" : true
}
Vous utilisez la fonction Networking_GetInterfaceConnectionStatus pour déterminer si l’interface réseau est active.
Networking_GetInterfaceConnectionStatus("eth0", ¤tInterfaceStatus);
Pour activer l’interface réseau, utilisez la fonction Networking_SetInterfaceState .
Networking_SetInterfaceState("eth0", true);
Remarque
Si les deux interfaces réseau (wlan0 et eth0) sont actives et connectées, l’interface spécifique utilisée par l’appareil pour la communication n’est pas déterministe. Si vous souhaitez contrôler l’interface réseau utilisée à un moment donné, votre application doit utiliser la fonction Networking_SetInterfaceState() pour activer explicitement l’interface souhaitée et l’autre interface. L’exemple d’application de haut niveau du client DHCP montre entre autres comment basculer entre les interfaces en affectant une valeur représentant l’une des deux interfaces à une variable globale.
Exemples
Azure IoT montre comment utiliser les API C du Kit de développement logiciel (SDK) Azure IoT dans une application Azure Sphere pour communiquer avec Azure IoT Hub ou Azure IoT Central.
L’application de haut niveau du client DHCP montre comment renouveler ou libérer l’adresse IP actuelle affectée par le serveur DHCP du réseau à l’appareil MT3620.
HTTPS cURL Easy illustre l’extraction de contenu via HTTPS à l’aide de l’API « facile » de cURL
HTTPS cURL Multi illustre l’extraction de contenu sur HTTPS à l’aide de l’API « multi » de cURL.
L’application de haut niveau Power Down illustre la fonctionnalité Power Down pour la plateforme Azure Sphere.
Les services de réseau privé montrent comment connecter un appareil Azure Sphere à un réseau privé et utiliser des services réseau.
L’application de haut niveau WolfSSL illustre l’utilisation de WolfSSL pour l’établissement d’une liaison SSL dans une application de haut niveau.
Remarque
Les exemples suivants proviennent de la galerie Azure Sphere, qui est une collection d’exemples logiciels et matériels non maintenus de Microsoft. Pour plus d’informations, consultez la galerie Azure Sphere.
Imprimer mac et adresse IP de l’interface réseau imprime les adresses MAC et IP d’une interface réseau spécifiée.
OSNetworkRequirementChecker-HLApp effectue deux tests de diagnostic réseau d’appareil (MT3620).