Pour simplifier, je vais décrire cela en utilisant une configuration de maison intelligente typique comme référence, mais rien ici n'est vraiment corrigé par l'application. La topologie de haut niveau convient également pour une application de surveillance de ferme couvrant plusieurs kilomètres avec des milliers ou des capteurs, le suivi des places de stationnement dans une ville ou la gestion de l'éclairage dans un immeuble de bureaux.
Je traiterai le problème approximativement dans les couches de la hiérarchie des périphériques, ce qui pourrait correspondre à la complexité croissante d'une installation ou à des scénarios d'utilisation spécifiques. Voici mon schéma généralisé couvrant l'ensemble du réseau.
Niveau du nœud
Le nœud individuel dans mon diagramme est une lampe connectée WiFi avec un interrupteur de priorité physique local. Le nœud a souvent à la fois des fonctions de capteur et de contrôle, et une petite quantité de calcul / stockage local. Idéalement, le nœud peut agir de manière autonome. Le nœud peut prendre le contrôle des commutateurs locaux, directement sur le LAN (s'il dispose du WiFi / Bluetooth), ou du concentrateur local ou du cloud. Un nœud maintiendra fréquemment une connexion TCP persistante avec le concentrateur ou le cloud.
Un emplacement contient généralement plusieurs nœuds, avec différentes fonctions, utilisant diverses options de connectivité. Une maison intelligente peut collecter des données de température, d'activité et vidéo intérieures / extérieures. Les capteurs à distance peuvent utiliser des connexions disparates à Internet. Les nœuds utilisent généralement des microcontrôleurs , souvent à de basses fréquences d'horloge.
Niveau du concentrateur Dans une maison intelligente, il peut y avoir plusieurs concentrateurs (un pour chaque fournisseur d'appareils), d'agrégation ou de hiérarchie. Le concentrateur peut être combiné dans le routeur ou autonome. Le hub n'a même pas besoin d'être actif sur le réseau (autre que pour transférer des paquets). Cependant, le concentrateur peut être responsable du relais des commandes vers un nœud - commandes provenant soit d'autres nœuds connectés localement, soit d'un serveur distant. Le concentrateur peut implémenter la sauvegarde des données, la compression ou le filtrage des données. Vraiment, le hub n'est qu'un facilitateur. Aujourd'hui, le concentrateur est la première partie du réseau qui a la capacité de fournir un DNS public, ce qui lui permet de publier des informations sur la structure du réseau sur le système complet. Comme décrit dans cette questionun concentrateur est souvent nécessaire pour faire le pont entre le TCP / IP filaire / WiFi et un protocole radio de faible puissance, comme le zigbee ou le bluetooth à faible consommation d'énergie . Les concentrateurs sont généralement construits autour de microprocesseurs et sont moins soumis à des contraintes de puissance que les nœuds.
Terminaux itinérants Autrement appelés votre smartphone. Ce sont souvent le principal point d'interaction avec l'utilisateur. Un nœud simple peut présenter l'intégralité de son interface utilisateur via un smartphone, une fois que le nœud peut établir une liaison directe ou médiatisée avec un appareil spécifique. Pour y parvenir, il faut fondamentalement un mécanisme pour établir la confiance / la propriété / le jumelage. Un terminal peut déterminer si son propre concentrateur se trouve sur le réseau local, s'il doit effectuer toutes les communications via un serveur externe, ou s'il peut rechercher l'adresse IP qui permet un routage direct vers son concentrateur `` domestique ''. Ce dernier scénario nécessite généralement que le routeur soit configuré pour la redirection de port.
Service cloudIl est courant que le service cloud effectue la majorité du travail dans la pile, bien que cela ne soit pas toujours nécessaire (et toutes les implémentations ne nécessiteront aucune fonction cloud). La fonctionnalité la plus utile qu'un serveur externe (adressé publiquement) puisse fournir est l'orchestration. Chaque nœud et élément intermédiaire du réseau est généralement en mesure de communiquer sur un canal direct avec ce serveur, et le serveur peut facilement transmettre des messages d'un appareil aux autres. Le serveur peut agréger des données et présenter des visualisations à l'utilisateur. En fonction de la configuration de l'utilisateur, il peut également transmettre des informations à d'autres utilisateurs (le contrôle d'accès et de chauffage peut être accordé aux invités par exemple, les avertissements d'inondation / incendie / intrusion peuvent utiliser d'autres options de réseau pour générer des alertes). Le cloud est également bien placé pour intégrer d'autres sources de données,