Connecter des appareils à AWS IoT - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connecter des appareils à AWS IoT

Les appareils se connectent à d'autres services AWS IoT et les utilisent AWS IoT Core. Les appareils envoient et reçoivent des messages via des points de terminaison spécifiques à votre compte. AWS IoT Core Les communications AWS IoT SDK pour appareils entre appareils de support à l'aide des protocoles MQTT et WSS. Pour plus d'informations sur les protocoles que les appareils peuvent utiliser, consultez Protocoles de communication des appareils.

L’agent de messages

AWS IoT gère les communications entre les appareils par le biais d'un courtier de messages. Les appareils et les clients publient des messages sur le agent de messages et s'abonnent également aux messages publiés par celui-ci. Les messages sont identifiés par une rubriquedéfinie par l'application. Lorsque l'agent de messages reçoit un message publié par un appareil ou un client, il republie ce message sur les appareils et avec les clients abonnés à la rubrique. Le courtier de messages transmet également les messages au moteur de AWS IoT règles, qui peut agir sur le contenu du message.

AWS IoT sécurité des messages

Connexions aux appareils à AWS IoT utiliser Certificats client X.509 et AWS signature V4 pour l'authentification. Les communications entre appareils sont sécurisées par la version 1.3 du protocole TLS et AWS IoT nécessitent que les appareils envoient l'extension SNI (Server Name Indication) lorsqu'ils se connectent. Pour plus d'informations, consultez la section Sécurité du transport dans AWS IoT.

AWS IoT données de l'appareil et points de terminaison de service

Important

Vous pouvez mettre en cache ou stocker les points de terminaison sur votre appareil. Cela signifie que vous n'aurez pas besoin de demander l'API DescribeEndpoint chaque fois qu'un nouvel appareil est connecté. Les points de terminaison ne changeront pas AWS IoT Core une fois qu'ils auront été créés pour votre compte.

Chaque compte possède plusieurs points de terminaison qui lui sont propres et prennent en charge des fonctions IoT spécifiques. Les points de terminaison de données des AWS IoT appareils prennent en charge un protocole de publication/d'abonnement conçu pour les besoins de communication des appareils IoT ; toutefois, d'autres clients, tels que les applications et les services, peuvent également utiliser cette interface si leur application nécessite les fonctionnalités spécialisées fournies par ces points de terminaison. Les AWS IoT points de terminaison du service des appareils prennent en charge l'accès centré sur les appareils aux services de sécurité et de gestion.

Pour connaître le point de terminaison des données de l'appareil de votre compte, vous pouvez le trouver sur la page Paramètres de votre AWS IoT Core console.

Pour connaître le point de terminaison de l'appareil de votre compte dans un but spécifique, y compris le point de terminaison des données de l'appareil, utilisez la commande describe-endpoint CLI illustrée ici ou l'API REST DescribeEndpoint, et fournissez la valeur du paramètre endpointType indiquée dans le tableau suivant.

aws iot describe-endpoint --endpoint-type endpointType

Cette commande renvoie un point de terminaison iot au format suivant : account-specific-prefix.iot.aws-region.amazonaws.com.

Chaque client a iot:Data-ATS et un autre type de point de terminaison iot:Data. Chaque point de terminaison utilise un certificat X.509 pour authentifier le client. Nous recommandons vivement aux clients d'utiliser le type de point de terminaison iot:Data-ATS le plus récent pour éviter les problèmes liés à la méfiance généralisée à l'égard des autorités de certification Symantec. Nous fournissons le iot:Data point de terminaison permettant aux appareils de récupérer les données des anciens terminaux qui utilisent des VeriSign certificats à des fins de rétrocompatibilité. Pour de plus amples informations, veuillez consulter Authentification du serveur.

AWS IoT points de terminaison pour appareils

Objectif du point de terminaison

Valeur endpointType

Description

AWS IoT Core - opérations de plan de données

iot:Data-ATS

Permet d'envoyer des données vers et de recevoir des données depuis les composants Agent de messages, Device shadow et Moteur de règles de AWS IoT.

iot:Data-ATS renvoie un point de terminaison de données signées ATS.

AWS IoT Core - opérations du plan de données (anciennes)

iot:Data

iot:Datarenvoie un point de terminaison de données VeriSign signé fourni à des fins de rétrocompatibilité. MQTT 5 n'est pas pris en charge sur les points de terminaison Symantec (iot:Data).

AWS IoT Core accès aux informations d'identification

iot:CredentialProvider

Utilisé pour échanger le certificat X.509 intégré d'un appareil contre des informations d'identification temporaires permettant de se connecter directement à d'autres services AWS . Pour plus d'informations sur la connexion à d'autres AWS services, voir Autoriser les appels directs vers les AWS services.

AWS IoT Device Management- opérations de données sur les tâches

iot:Jobs

Utilisé pour permettre aux appareils d'interagir avec le service AWS IoT Jobs à l'aide des API HTTPS Jobs Device.

AWS IoT Opérations de Device Advisor

iot:DeviceAdvisor

Type de point de terminaison de test utilisé pour tester des appareils avec Device Advisor. Pour plus d’informations, consultez Device Advisor.

AWS IoT Core data beta (aperçu)

iot:Data-Beta

Type de point de terminaison réservé aux versions bêta. Pour plus d'informations sur son utilisation actuelle, consultez Points de terminaison configurables.

Vous pouvez également utiliser votre propre nom de domaine complet (FQDN), tel que exemple.com, et le certificat de serveur associé pour connecter des appareils à AWS IoT l'aide de. Points de terminaison configurables

AWS IoT SDK pour appareils

Les SDK pour AWS IoT appareils vous aident à connecter vos appareils IoT aux protocoles MQTT AWS IoT Core et MQTT sur WSS.

Les SDK pour AWS IoT appareils diffèrent des AWS SDK en ce sens qu'ils répondent aux besoins de communication spécialisés des appareils IoT, mais ne prennent pas en charge tous les services pris en charge par les kits de développement logiciel. AWS IoT AWS Les SDK pour AWS IoT appareils sont compatibles avec les AWS SDK qui prennent en charge tous les AWS services ; toutefois, ils utilisent différentes méthodes d'authentification et se connectent à différents points de terminaison, ce qui peut rendre leur utilisation peu pratique sur un appareil IoT. AWS

Appareils mobiles

Ils AWS SDK mobiles prennent en charge à la fois les communications des appareils MQTT, certaines API de AWS IoT service et les API d'autres AWS services. Si vous développez sur un appareil mobile compatible, consultez son SDK pour voir s'il s'agit de la meilleure option pour développer votre solution IoT.

C++

AWS IoT SDK pour appareils C++

Le SDK AWS IoT C++ Device permet aux développeurs de créer des applications connectées à l'aide AWS des API des AWS IoT Core services. Ce kit SDK a été conçu en particulier pour les appareils qui ne sont pas limités en ressources et qui nécessitent des fonctions avancées, telles que la mise en file d'attente des messages, la prise en charge du multithreading et les dernières fonctions de langue. Pour plus d’informations, consultez les ressources suivantes :

Python

AWS IoT SDK de périphérique pour Python

Le AWS IoT Device SDK for Python permet aux développeurs d'écrire des scripts Python afin d'utiliser leurs appareils pour accéder à la AWS IoT plateforme via le protocole MQTT ou MQTT over the WebSocket Secure (WSS). En connectant leurs appareils aux API des AWS IoT Core services, les utilisateurs peuvent travailler en toute sécurité avec le courtier de messages, les règles et le service Device Shadow qui AWS IoT Core fournit AWS Lambda, ainsi qu'avec d'autres AWS services tels qu'Amazon Kinesis et Amazon S3, etc.

JavaScript

AWS IoT SDK de périphérique pour JavaScript

Le AWS IoT Device SDK pour JavaScript permet aux développeurs d'écrire des JavaScript applications qui accèdent aux API AWS IoT Core en utilisant MQTT ou MQTT via le protocole. WebSocket Il peut être utilisé dans des environnements Node.js et des applications de navigateur. Pour plus d’informations, consultez les ressources suivantes :

Java

AWS IoT SDK du périphérique pour Java

Le AWS IoT Device SDK for Java permet aux développeurs Java d'accéder aux API via MQTT ou MQTT via AWS IoT Core le protocole. WebSocket Le SDK prend en charge le service Device Shadow. Vous pouvez accéder au service Shadows à l'aide des méthodes HTTP, notamment GET, UPDATE et DELETE. Le kit SDK prend également en charge un modèle d'accès aux shadows simplifié, qui permet aux développeurs d'échanger des données avec des shadows en utilisant des méthodes getter et setter, sans avoir à sérialiser ou désérialiser des documents JSON. Pour plus d’informations, consultez les ressources suivantes :

Embedded C

AWS IoT SDK de périphérique pour Embedded C

Important

Ce SDK est destiné à être utilisé par des développeurs de logiciels embarqués expérimentés.

Le Kit SDK des appareils AWS IoT pour Embedded C (C-SDK) est une collection de fichiers source C sous licence open source du MIT qui peuvent être utilisés dans des applications intégrées pour connecter en toute sécurité des appareils IoT à AWS IoT Core. Il inclut les bibliothèques MQTT, JSON Parser et AWS IoT Device Shadow, entre autres. Il est distribué sous forme source et destiné à être intégré au micrologiciel client avec le code d'application, d'autres bibliothèques et, en option, un RTOS (Real Time Operating System).

Kit SDK des appareils AWS IoT pour Embedded C Il est généralement destiné aux appareils aux ressources limitées qui nécessitent un environnement d'exécution en langage C optimisé. Vous pouvez utiliser le kit SDK sur n'importe quel système d'exploitation et l'héberger sur n'importe quel type de processeur (par exemple, microcontrôleurs et MPU). Si votre appareil dispose de suffisamment de mémoire et de ressources de traitement, nous vous recommandons d'utiliser l'un des autres SDK pour AWS IoT appareils et mobiles, tels que le SDK pour AWS IoT appareil pour C++ JavaScript, Java ou Python.

Pour plus d’informations, consultez les ressources suivantes :