Édition

Mises à jour d’IoT en temps réel

Azure Functions
Azure IoT Edge
Azure IoT Hub
Azure Maps
Service Azure SignalR

Ce guide fournit une méthode permettant aux clients, tels que des pages web ou des applications mobiles, de recevoir en temps réel des mises à jour à partir d’appareils. Les applications cloud n’envoient plus de requêtes HTTP pour obtenir des informations à jour. Désormais, Azure SignalR Service pousse (push) le contenu vers le clients dès que celui-ci est disponible. En tant que service managé, Azure SignalR Service simplifie le processus d’ajout de communication en temps réel aux applications.

Architecture

Diagramme d’une architecture montrant comment Azure SignalR Service permet de conserver à jour des clients comme des pages web et des applications mobiles avec des données IoT en temps réel.

Le diagramme comprend plusieurs encadrés. Une case située en bas à droite indique que les flèches grises représentent le flux de données et que les flèches bleues représentent le flux de contrôle. Sur la gauche, il y a deux cases qui se nomment « Devices » (Appareils). Une flèche grise pointe de la zone « Appareils » du haut vers la zone « Azure IoT Hub ». Une autre flèche grise pointe de l’autre zone « Appareils » vers la zone « Azure IoT Edge ». La zone « Azure IoT Edge » comporte une étiquette « Passerelle locale ». Une troisième flèche grise pointe de la zone « Azure IoT Edge » vers la zone « Azure IoT Hub ». Une quatrième flèche grise pointe de la zone « Azure IoT Hub » vers la zone « Azure Functions ». Une cinquième flèche grise part de la case « Azure Functions » et pointe vers la case « Azure SignalR Service ». À droite se trouve une case plus grande qui contient les icônes et les étiquettes d’applications web et mobiles. Au-dessus de la grande case se trouve l’étiquette « Presentation and interaction » (Présentation et interaction). Une flèche grise part de la case « Azure SignalR Service » et pointe vers cette grande case. Une flèche bleue bidirectionnelle relie la grande case à la case « Azure SignalR Service ». Une autre flèche bleue bidirectionnelle relie la grande case à la case « Azure Functions ». Les chiffres du diagramme correspondent aux étapes numérotées dans le document.

Téléchargez un fichier Visio de cette architecture.

Workflow

  1. Les pages web, les applications mobiles et les autres clients demandent un point de terminaison et un jeton Azure SignalR Service à Azure Functions, qui est une plateforme de calcul serverless. En plus d’intégrer des données provenant de différentes sources, Azure Functions gère également les points de terminaison Azure SignalR Service et les informations des groupes de clients.

  2. Les clients utilisent le point de terminaison et le jeton pour se connecter à Azure SignalR Service.

  3. Les appareils IoT envoient des données de télémétrie à Azure IoT Edge et à Azure IoT Hub. IoT Edge envoie les données de télémétrie traitées de l’appareil IoT vers IoT Hub.

  4. Les données de télémétrie déclenchent une fonction dans Azure Functions. La fonction effectue les tâches suivantes :

    • Elle exécute tous les calculs que vous programmez avec les données de télémétrie.
    • Elle transforme les données de la façon dont vous le programmez.
    • Elle utilise le service managé Azure SignalR Service pour diffuser les données.
  5. Azure SignalR Service prend en charge plusieurs techniques utilisées par les applications en temps réel, comme WebSocket, qui fait partie des protocoles de transport privilégiés. Toutefois, quand WebSocket n’est pas disponible, Azure SignalR Service utilise d’autres techniques comme Server-Sent-Events (SSE) ou Long-Polling. Azure SignalR Service détecte automatiquement puis initialise le mode de transport adapté en fonction des fonctionnalités prises en charge sur le serveur et le client.

  6. Le message Azure SignalR Service est envoyé à un client ou à un groupe de clients spécifique. Les clients utilisent les données pour mettre à jour les applications.

Détails du scénario

Les applications IoT (Internet des objets) ont souvent besoin de données en temps réel provenant d’appareils IoT. Par exemple, certaines applications affichent les données de télémétrie ou d’alerte qu’elles reçoivent des appareils. À l’aide des méthodes d’interrogation traditionnelles, ces applications clientes interrogent les appareils concernant d’éventuels changements d’état.

Ce guide fournit une méthode permettant aux clients, tels que des pages web ou des applications mobiles, de recevoir en temps réel des mises à jour à partir d’appareils. Les applications cloud n’envoient plus de requêtes HTTP pour obtenir des informations à jour. Désormais, Azure SignalR Service pousse (push) le contenu vers le clients dès que celui-ci est disponible. En tant que service managé, Azure SignalR Service simplifie le processus d’ajout de communication en temps réel aux applications.

Par exemple, un revendeur peut avoir une application de tableau de bord qui affiche le nombre de clients actuellement présents dans le magasin. Avec la solution de ce guide, l’application ne demande pas le nombre de clients le plus récent. Au lieu de cela, Azure SignalR Service pousse (push) ces informations vers l’application lorsque le nombre total vient à changer.

Cas d’usage potentiels

Hormis les revendeurs, cette solution peut être avantageuse pour :

  • Tout scénario dans lequel les serveurs poussent (push) les données en temps réel vers les clients en vue de les utiliser dans des visualisations et des applications.
  • Les applications riches et hautement interactives, comme les interfaces utilisateur ou les cartes personnalisées.

Voici des exemples où des mises à jour de données sont fournies en temps réel :

  • Surveillance de la flotte pour géolocaliser les véhicules (automobile).
  • Surveillance à distance de la température, de la pression et de l’état d’un processus de fabrication (également applicable au secteur de l’énergie).
  • Des systèmes de contrôle du forage qui utilisent de la télémétrie, comme les révolutions par minute, le couple et la charge du crochet, pour optimiser les processus.
  • Mécanismes d’alerte.

Considérations

Tenez compte des points suivants lorsque vous utilisez ce modèle :

  • Si votre système a des exigences strictes concernant la latence, tenez compte des facteurs qui peuvent augmenter considérablement la latence :

    • Dans les scénarios en temps réel, la signalisation des applications cloud peut augmenter la latence jusqu’à 10 secondes.
    • Toutes les étapes de transformation de données que vous ajoutez à la solution peuvent augmenter la latence.
  • Azure SignalR Service définit sept niveaux qui prennent en charge un large éventail de capacités de performances. Déterminez la capacité entrante et sortante de votre scénario en découvrant quels facteurs affectent ces valeurs. Sélectionnez ensuite le niveau qui répond le mieux à vos besoins. Pour plus d’informations, consultez Guide des performances pour Azure SignalR Service.

  • Azure SignalR s'appuie sur le protocole SignalR et suit le modèle de publication et d'abonnement pour diffuser des messages aux clients. Envisagez de disposer de votre propre mécanisme d'accusé de réception des messages (ACK), lorsque vous devez garantir la livraison des messages lors de leur publication auprès de plusieurs clients.

  • Lorsque vous affichez des données en temps réel dans des visuels Power BI, vous pouvez utiliser le streaming en temps réel dans Power BI comme alternative à cette solution.

Étapes suivantes

Pour en savoir plus sur les solutions associées, consultez les informations suivantes :

Guides d’architecture IoT

Modèles IoT

Architectures IoT