Démarrage rapide : créer un jumeau numérique et envoyer des données
Ce scénario montre comment créer une instance de jumeau numérique et comment tester votre configuration en envoyant des exemples de données à l'aide de l'authentification de base.
Prérequis
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>Lorsque vous utilisez la commande pour Etape 3 : création d'une instance de jumeau numérique si vous utilisez l'authentification de base, vous devez créer une clé secrète. Pour ce faire, vous avez besoin de la stratégie suivante.
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}Etape 1 : création d'un groupe de domaines IoT
Si vous disposez d'un groupe de domaines IoT ou d'un domaine IoT existant à utiliser, ignorez cette étape et utilisez ces OCID pour créer l'instance de jumeau numérique associée. Vous pouvez également effectuer ces étapes pour créer un groupe de domaines IoT et un domaine IoT. Pour obtenir la liste complète des options, reportez-vous à Création d'un groupe de domaines IoT.
Utilisez la commande oci iot domain-group create et le paramètre --compartment-idrequis pour créer un groupe de domaines IoT dans un compartiment spécifique. Remplacez la valeur<compartment-OCID>par l'OCID de compartiment :oci iot domain-group create --compartment-id <compartment-OCID>Option de type :- Si vous n'indiquez pas de valeur
--type, le type de groupe de domaines par défaut estlightweight, pour le développement et le test d'un groupe de domaines légers qui coûte moins cher et utilise moins de ressources. Lorsque vous voulez créer un groupe de domaines de production, utilisez l'option standard. - Pour un groupe de domaines de production, utilisez le paramètre
--typeavec la valeurstandardpour créer un groupe de domaines standard qui évolue avec la haute disponibilité et le basculement automatique.
Pour obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à Référence des commandes de la CLI.
- Si vous n'indiquez pas de valeur
Exécutez l'opération CreateIotDomainGroup pour créer un groupe de domaines IoT dans un compartiment.
Etape 2 : création d'un domaine IoT
Exécutez l'opération CreateIotDomain pour créer un domaine IoT.
Etape 3 : création d'une instance de jumeau numérique
Dans cet exemple, l'instance de jumeau numérique n'est pas associée à un modèle de jumeau numérique ou à un adaptateur de jumeau numérique. Vous pouvez utiliser cette méthode si vous testez simplement la configuration de votre jumeau numérique ou si vous configurez une instance de jumeau numérique pour vous connecter à un appareil qui envoie des données non structurées. Pour obtenir la liste complète des options, reportez-vous à Création d'une instance de jumeau numérique.
- Options de clé externe : la clé externe est le nom utilisateur de l'appareil lorsque vous vous vous connectez à un appareil pour envoyer des données à l'étape 5. Si vous n'incluez pas de paramètre
--external-key, la clé externe est générée dans la réponse. Si vous spécifiez la clé externe, il est recommandé de ne pas utiliser de guillemets avec la valeur de clé externe. - Options d'authentification : lorsque vous créez une instance de jumeau numérique, l'authentification est facultative et n'est requise que si vous envoyez des données vers ou depuis un appareil. Ajoutez une authentification à l'instance de jumeau numérique à l'aide du paramètre
--auth-id.
- Dans la page de liste Domaines IoT, sélectionnez le domaine IoT avec lequel vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste des domaines IoT, reportez-vous à Liste des domaines IoT.
- Sélectionnez l'onglet Instances de jumeaux numériques, puis sélectionnez Créer.
- Entrez un nom et éventuellement une description. Evitez de saisir des informations confidentielles.
- Facultatif. Entrez une clé externe qui est un identificateur unique. Si vous n'indiquez pas de clé externe, elle est générée lorsque vous enregistrez cette instance de jumeau numérique. Utilisez la clé externe comme nom d'utilisateur du périphérique lorsque vous connectez ou envoyez des données au périphérique.
- Sélectionnez le type :
- Connecté directement : connectez un appareil ou une entité directement au domaine IoT. Si le périphérique ou l'entité envoie des données structurées, sélectionnez un adaptateur. La sélection d'un adaptateur associe cette instance de jumeau numérique à une couche de transformation qui convertit les charges utiles des périphériques entrants en la structure DTDL du modèle de jumeau numérique associé attendue par l'instance.
- Sélectionner un adaptateur : activez et sélectionnez un adaptateur jumeau numérique dans la liste pour associer l'adaptateur à cette instance de jumeau numérique. Si vous n'avez pas d'adaptateur, créez un adaptateur jumeau numérique.
Si le périphérique envoie des données structurées, vous devez sélectionner un adaptateur. Un adaptateur n'est pas requis si le périphérique ou l'entité que vous souhaitez connecter à envoie des données non structurées ou reçoit des commandes de données non structurées.
- Sélectionner un adaptateur : activez et sélectionnez un adaptateur jumeau numérique dans la liste pour associer l'adaptateur à cette instance de jumeau numérique. Si vous n'avez pas d'adaptateur, créez un adaptateur jumeau numérique.
- Non connecté : utilisez cette option pour créer une instance de jumeau numérique de simulation uniquement sans ingestion de données. Un modèle jumeau numérique est requis et ne doit pas contenir de télémétrie ou de propriétés. Après avoir créé cette instance de jumeau numérique, vous pouvez ajouter des relations de jumeau numérique pour simuler votre environnement IoT sans la complexité de l'ingestion ou de l'authentification des données.
- ID d'authentification : si le périphérique ou l'entité envoie ou reçoit des données, vous devez indiquer un ID d'authentification. Pour tester l'ID d'authentification de création d'une clé secrète de coffre et pour la production, créez un certificat MTLS pour l'ID d'authentification de l'instance de jumeau numérique.
- Sélectionner un ID d'authentification : sélectionnez l'option de clé secrète ou de certificat. Pour une clé secrète, sélectionnez le compartiment de coffre, le coffre et la clé secrète. Pour un certificat, sélectionnez le compartiment de certificat, puis le certificat.
- Coller l'OCID d'authentification : collez l'OCID du certificat ou de la clé secrète.
- Balises : (facultatif) ajoutez des balises à l'adaptateur jumeau numérique. Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise définie, vous devez disposer de droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Connecté directement : connectez un appareil ou une entité directement au domaine IoT. Si le périphérique ou l'entité envoie des données structurées, sélectionnez un adaptateur. La sélection d'un adaptateur associe cette instance de jumeau numérique à une couche de transformation qui convertit les charges utiles des périphériques entrants en la structure DTDL du modèle de jumeau numérique associé attendue par l'instance.
- Choisissez Créer.
- Utilisez la commande oci iot digital-twin-instance create et ces paramètres pour créer une instance de jumeau numérique.
- Remplacez
<iot-domain-OCID>par le domaine IoT à associer à cette instance de jumeau numérique IoT. Remplacez<secret-or-certificate-OCID>par l'OCID de clé secrète du coffre :oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
Exécutez l'opération CreateDigitalTwinInstance pour créer une instance de jumeau numérique.
Etape 4 : obtention des détails du domaine IoT
Si vous disposez de l'adresse d'hôte de périphérique pour le domaine IoT à utiliser, ignorez cette étape.
Les détails du domaine IoT contiennent l'hôte du périphérique, y compris l'ID abrégé du domaine, pour plus d'informations sur l'obtention des détails d'un domaine IoT,
Utilisez la commande oci iot domain get et le paramètre requis pour obtenir les détails d'un domaine IoT, y compris l'hôte de périphérique avec l'ID abrégé de domaine :
oci iot domain get --iot-domain-id <iot-domain-OCID>Pour obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à Référence des commandes de la CLI.
Exécutez l'opération GetIotDomain pour obtenir les détails d'un domaine.
Etape 5 : Envoyer des données
- Nom utilisateur de l'appareil : utilisez l'option
external keyde l'instance de jumeau numérique comme nom utilisateur de l'appareil. - Mot de passe de l'appareil : est associé à l'ID d'authentification de l'instance de jumeau numérique. Si l'instance de jumeau numérique utilise un OCID de clé secrète de coffre pour l'authentification, utilisez le contenu de clé secrète en texte brut comme mot de passe d'appareil. Reportez-vous à Création d'une clé secrète et à Obtention du contenu d'une clé secrète. L'utilisation d'une clé secrète de coffre en tant que mot de passe de périphérique est recommandée uniquement pour les tests et non pour la production.
Utiliser Curl
Shells de type POSIX : utilisez cette commandecurllorsque vous utilisez bash, zsh, macOS Terminal, Linux ou Git Bash sous Windows.curl -u '<digital-twin-instance-external-key>:<device-password>' \ -H 'Content-Type: text/plain' \ -d 'sample data 1' \ 'https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic'Windows Powershell: Use this
curlcommand in this example use-Gto make aGETrequest and append any data supplied with--data-urlencodeto the URL as query parameters. Vous pouvez également utiliser les variables environnementales.curl.exe -u "<digital-twin-instance-external-key>:<device-password>" ` -H "Content-Type: text/plain" ` -d "sample data 1" ` "https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic"Lorsque vous avez terminé l'étape 3 : création d'une instance de jumeau numérique, si vous avez défini la valeur du paramètre de clé externe avec des guillemets, vous devez inclure les guillemets lorsque vous envoyez les données :
"external-key". Pour citer les meilleures pratiques, reportez-vous à Dépannage.- Utilisez n'importe quel client MQTT, cet exemple utilise MQTTX avec les paramètres suivants.
- Téléchargez et configurez MQTTX en suivant ces instructions. Reportez-vous à la rubrique Introduction à MQTTX. Ouvrez MQTTX.
- Sélectionnez Nouveau point de connexion pour créer une connexion.
- Entrez la valeur
<unique-id>de la clé externe en tant que nom utilisateur. La clé externe se trouve dans la réponseoci iot digital-twin-instance create, à partir de l'étape 3 précédente : création d'une instance de jumeau numérique :"external-key": "<unique-id>" - Saisissez le mot de passe du périphérique. Si vous testez l'utilisation d'une clé secrète de coffre, il doit s'agir du contenu de la clé secrète en texte brut. Ou pour un environnement de production sécurisé, utilisez un certificat mTLS.
- Entrez l'hôte. Sélectionnez le protocole
mqtts://dans la liste déroulante des hôtes et entrez l'hôte de périphérique :<domain-short-id>.device.iot.<region>.oci.oraclecloud.comà partir du domaine IoT. - Entrez le port (par exemple,
8883).Remarque
Actuellement, MQTT Secure (MQTTS) est uniquement pris en charge à l'aide du port8883. - Activez l'option SSL/TLS.
- Activez l'option SSL Secure.
- Pour le certificat, sélectionnez l'option Certificat du serveur signé par l'autorité de certification.
- Lorsque vous configurez la connexion MQTTX, veillez à vous connecter à l'aide d'un élément
clean sessionet définissez l'optionLast-Will-Retainsurfalsepour permettre la conservation des abonnements client si le périphérique se déconnecte brièvement. - Définissez le dernier testament QoS sur 1.
- Sélectionnez Connexion.
Une fois ces étapes terminées, vous disposez d'une instance de jumeau numérique dans la plate-forme IoT qui peut recevoir des données d'un appareil.
Que faire ensuite ?
- Consultez les exemples de fichiers IoT pour configurer les environnements de test et de production.
- Configurez APEX pour vous afficher les données de domaine IoT dans APEX, puis installez un exemple d'application APEX IoT Explorer pour surveiller visuellement vos périphériques et messages IoT.
- Si vous ne prévoyez pas de conserver les ressources, supprimez les domaines IoT associés au groupe de domaines IoT et supprimez le groupe de domaines IoT.