Architecture IoT

Il y a près d'un an, j'ai commencé à publier une série d'articles sur l'architecture des solutions IoT. (Lien vers le premier article habr.com/en/post/420173 ). Et enfin, le deuxième article de la série va à votre tribunal.


Les projets IoT se ressemblent et il est vrai qu'ils partagent des composants communs. Mais en même temps, les projets IoT présentent des différences fondamentales, à commencer par la demande du marché et les classes de tâches à résoudre.

De toute évidence, développer chaque solution «à partir de zéro» est extrêmement inefficace. De nombreux composants peuvent être réutilisés selon le principe des modèles de programmation.

Dans cet article, nous analyserons les différentes classes de solutions IoT et leurs implémentations respectives. En conséquence, des recommandations seront données sur les étapes de mise en œuvre de l'architecture IoT et nous essaierons de mettre en évidence les tendances générales des solutions IoT.

Nous essaierons également de formuler les principaux problèmes, à partir desquels il convient de commencer la construction d'architectures pour des solutions IoT spécifiques et d'éventuels problèmes des architectures.

Applications IoT


Aujourd'hui, il existe une division en trois principales régions géographiques d'application des solutions IoT:

L'Europe


Le marché de l'IoT en Europe envisage des projets liés à la conservation des ressources naturelles. Un exemple typique est l'éclairage jour / nuit, l'automatisation du chauffage, la gestion de l'eau, l'alarme incendie.

Région d'Extrême-Orient


Sur ce marché, la première priorité des solutions IoT est la sécurité. Les applications typiques sont les caméras qui détectent les situations inhabituelles sur la route, les transports et à la maison. Le deuxième grand domaine concerne les solutions de sécurité et de prévention des catastrophes telles que l'activité sismique, les ouragans, les typhons et les tsunamis.

Marché nord-américain


Les projets IoT visant à optimiser les processus commerciaux, tels que l'optimisation des transports, la livraison efficace des marchandises, ainsi que des éléments de maisons et villes intelligentes, sont principalement représentés sur ce marché.

Bien sûr, les solutions IoT pénètrent d'un marché à l'autre et ne sont pas des prérogatives exclusives. Dans chaque région, nous pouvons trouver toutes les classes de solutions IoT. Il est important pour nous de classer ces classes de produits IoT qui existent sur les marchés mondiaux aujourd'hui. Voici une liste de ces classes de solutions IoT:

  • Smart City. Les tâches principales sont la gestion et la régulation de la circulation automobile, l'éclairage public de jour comme de nuit, l'alerte aux dangers pour les piétons et la détermination des situations non standard et dangereuses en ville.
  • Maison intelligente. Les tâches principales sont la sécurité, une sonnette intelligente, le contrôle de la télévision et de la cuisine, les systèmes automatiques d'irrigation et d'éclairage, les alarmes incendie, gaz, fuite d'eau et température de la maison.
  • Météo et catastrophes naturelles. Informations météorologiques, activité sismique, contrôle des incendies. Prévisions météorologiques.
  • Optimisation de l'utilisation des ressources à la maison, en ville, à la campagne. Éclairage, électricité, chauffage, optimisation et prévision de l'utilisation, par exemple, du combustible dans les centrales électriques.
  • Optimisation du transport, de la livraison, du stockage et du tri. Des entreprises telles que DHL, FedEx utilisent la solution pour créer des itinéraires de transport optimaux. Terminaux de stockage et de tri dans les grands aéroports.
  • Surveillance et contrôle d'usine, gestion des lignes de convoyeurs. Robots de contrôle. Tri des marchandises, matières premières et contrôle des produits finis.
  • Mécanismes sophistiqués, appareils de haute technologie, tels que voitures modernes, avions, etc. Système de contrôle automatisé, protection anti-vol, contrôle des unités du système. Reconnaissance du visage et du corps du conducteur pour éviter le sommeil, la perte d'attention. Prévision de la maintenance et du remplacement des composants du système.

Architecture IoT


Topologie générale des solutions IoT


La figure ci-dessous montre l'architecture en couches des solutions IoT. La topologie IoT est différente d'un modèle de couche conventionnel tel que OSI. Ce n'est pas un graphique de flux linéaire ou plus complexe. Certains composants sont facultatifs et peuvent ne pas être disponibles dans une classe particulière de solutions. Deux types de logique peuvent être présents - M2M (de voiture à voiture) et M2P (de voiture à homme), ainsi que des cas plus particuliers tels que C2C (de voiture à voiture, généralement dans une cellule de communication mobile LTE).

La solution IoT dispose de deux emplacements physiques: le premier est le terminal (périphérique) et le second se trouve dans le centre de données backend sur les serveurs ou dans le cloud. En même temps, ce n'est pas une architecture d'application client-serveur classique, comme nous le verrons plus loin.



Ci-dessous, nous analyserons chaque niveau séparément et comparerons ses fonctionnalités avec les classes réelles de solutions IoT.

Couche physique - couche physique


Ce niveau représente deux types d'opérations: la collecte d'informations (capteurs) et l'exécution de travaux mécaniques (mécanismes exécutifs).

Les capteurs peuvent être répartis dans les catégories suivantes:

  • Capteurs:

    • Lumière: photodiodes / transistors / résistances, détecteurs PIR
    • Son: microphones, capteurs à ultrasons
    • Interrupteurs, en particulier interrupteurs de fin de course, enregistrant les points extrêmes du mouvement mécanique. Mesure de l'angle de rotation ou de la vitesse de rotation.
    • Capteurs électromagnétiques mesurant les changements de caractéristiques physiques, tels que la capacité électrique, l'inductance, la résistance.
  • Capteurs complexes ou composés. Il s'agit notamment de capteurs spécialisés, tels que le gaz, le spectre, etc., ainsi que d'un type distinct de dispositif de collecte d'informations qui est de plus en plus utilisé - les caméras vidéo.

Dans les solutions IoT, les éléments physiques ont certaines exigences communes:

  • Un prix aussi bas que possible en raison de la grande quantité dans la solution IoT.
  • Alimenté par batterie, ce qui nécessite à son tour une faible consommation d'énergie. Aujourd'hui, la demande du marché est le fonctionnement de périphériques sans maintenance de 1 à 10 ans.
  • Souvent situé dans des endroits inaccessibles et éloignés avec des coûts d'installation et d'entretien minimes.
  • Dans le cas de l'utilisation de caméras vidéo, le traitement d'image primaire avec une prise de décision basée sur l'intelligence artificielle

Les actionneurs des solutions IoT ouvrent les serrures des portes d'entrée, actionnent les moteurs, selsyn, allument / éteignent les lumières, le chauffage, l'eau, le gaz, etc. Il n'y a pas de changements majeurs dans la mise en œuvre des actionneurs. Par conséquent, cette partie de la solution IoT ne sera pas traitée dans cet article.

Voici un tableau de la couche physique dans différentes classes de solutions IoT:
Types de couches physiquesPrérequis
Ville intelligenteCapteurs de lumière, de son. Caméscopes Capteurs pour piétons et voitures. Dispositifs de contrôle de la lumière. Haut-parleursPetit prix
Maison intelligenteCapteurs de mouvement, éclairage, température, incendie, gaz, fuite d'eau, ouverture des fenêtres et des portes. Caméscopes Microphones
Dispositifs d'ouverture de porte, contrôle d'éclairage, climatisation.
Capteurs de faible puissance.
Météo / CataclysmesPiézocapteurs, capteurs d'humidité, vitesse du vent, température. En règle générale, il n'y a pas d'actionneurs.Très faible consommation d'énergie. Performance de rue
Économie de ressourcesCapteurs de lumière, température, eau. Alarme fuite d'eau, de gaz, de fumée. Dispositifs de régulation de l'eau, de la température et de la lumière.Faible consommation d'énergie
Optimisation des transportsTrackers GPS, caméscopes, lecteurs de codes-barres.Pas d'exigences particulières
UsinesDétecteurs de présence, limiteurs mécaniques. Caméscopes Éléments robotiques.Version d'usine avec poussière, protection contre les vibrations
Mécanismes complexesCaméras vidéo, capteurs spécialisés. Mécanismes exécutifs.Haute fiabilité

Nous pouvons résumer deux problèmes pour les exigences de la couche physique:

  • Faible consommation d'énergie. Un haut niveau d'intégration avec les couches supérieures est requis.
  • L'utilisation de caméras vidéo. Il nécessite également un degré élevé d'intégration avec des niveaux supérieurs et des fonctions AI / ML intégrées implémentées dans le périphérique.

Edge Layer - Niveau informatique périphérique


Ce niveau est généralement connecté à un seul capteur ou actionneur. Il fournit une fonctionnalité minimale pour convertir des informations analogiques en numérique et / ou vice versa. Pour connecter des capteurs, il y a les mêmes exigences de prix et de consommation d'énergie. De nombreux fabricants produisant ces types d'appareils n'ont pas de norme unique pour le modèle de données, la configuration et le fonctionnement, ce qui crée des problèmes d'intégration individuels.

Pour réduire la consommation d'énergie, les périphériques ont généralement quatre modes de fonctionnement:

  • Mode veille
  • Mesurer et collecter des informations à partir de capteurs
  • Le mode de communication, de transmission et de réception des informations
  • Mode d'installation et de connexion

Ce qui suit est un schéma de principe d'un périphérique.


Un périphérique combine généralement trois niveaux: physique, informatique périphérique et communication. La principale fonctionnalité du niveau informatique périphérique est l'ETL local (Extract, Transformation and Load) - qui reçoit, convertit et enregistre les informations des capteurs. Ce niveau est responsable non seulement de la collecte des informations du capteur, mais également de leur mise sous une forme standard, du filtrage des interférences, de l'analyse préliminaire et du stockage local.


Le tableau ci-dessous montre le niveau de l'informatique périphérique dans différentes classes de solutions IoT:
Type de couche de bordPrérequis
Ville intelligenteModules SoC tels que Raspberry Pi. Systèmes embarqués d'intelligence artificielle.Petit prix
Maison intelligenteModules SoC ou Arduino.Faible consommation d'énergie.
Météo / CataclysmesModules Arduino et SoC, modules logiques programmables PLC.Très faible consommation d'énergie. Performance de rue
Économie de ressourcesModules SoC ou Arduino.Faible consommation d'énergie
Optimisation des transportsTablette PC, ordinateurs industriels.Pas d'exigences particulières
UsinesArduino, PoC, ordinateurs industriels. Systèmes embarqués d'intelligence artificielle.Type d'usine
Mécanismes complexesContrôleurs spécialisés. Systèmes embarqués d'intelligence artificielle.Haute fiabilité. La présence d'hyperviseurs fonctionnels.

Ainsi, les principales exigences du niveau de l'informatique périphérique:
Faible consommation d'énergie. Cela peut être réalisé avec du matériel basse consommation et des algorithmes Sleep / WakeUp. Souvent, la présence d'un élément local d'intelligence artificielle.

Couche réseau local - couche de communication périphérique


Le transfert de données est la partie la plus énergivore d'un périphérique, comme la plupart des périphériques ne sont pas connectés au secteur et aux communications câblées. De plus, les périphériques peuvent être situés assez loin de la passerelle (à quelques kilomètres). En revanche, la quantité d'informations transmises est généralement assez faible. Les protocoles suivants sont utilisés au niveau de la communication périphérique:

  • ZigBee / Zwave
  • Ble
  • Lora
  • Bande basse propriétaire

Ad Hoc et Mesh sont largement utilisés aujourd'hui à ce niveau pour augmenter la distance et la fiabilité.

À des fins de configuration, le protocole NFC peut également être utilisé. Lors de la première installation et / ou maintenance, un ingénieur de maintenance avec une application mobile peut se connecter à un périphérique via une couche de communication périphérique. Parfois, un code Q imprimé sur un périphérique est également utilisé pour l'authentification.

Le tableau ci-dessous montre le niveau de communication périphérique dans différentes classes de solutions IoT:
Types de couches de réseau localPrérequis
Ville intelligentePLC, WiFi, BLE, LoRa.Support ad hoc, maillage
Maison intelligenteBLE, WiFi, ZigBee, LoRa, Ethernet.Faible consommation d'énergie. Maillage technologique.
Météo / CataclysmesLora ou protocoles radio similaires. LTETrès faible consommation d'énergie. Faible taux de transfert de données. Longues distances de transmission (jusqu'à 10 km).
Économie de ressourcesBLE, ZigBee, LoRaFaible consommation d'énergie Les technologies Mesh et Ad Hoc sont possibles.
Optimisation des transportsLTEPas d'exigences particulières
UsinesPLC, BLE, WiFi, ZigBee, LoRa, Ethernet.Peut-être les technologies Mesh et Ad Hoc.
Mécanismes complexesCAN.


Couche passerelle - Niveau passerelle


Il existe plusieurs raisons pour avoir une couche passerelle dans une solution IoT:

  • Si Backend reçoit des informations brutes, cela augmentera sa puissance et les coûts seront très élevés.
  • Le backend ne peut garantir une réponse en temps réel pour un grand nombre de périphériques.
  • En raison de restrictions de sécurité, certaines informations ne peuvent pas être envoyées à Backend et ne peuvent pas être surveillées en permanence par les humains. Ces informations comprennent les données des caméras de surveillance de rue, les informations médicales, etc.

La passerelle doit fournir les fonctionnalités de base suivantes:

  • Implémentez un deuxième niveau d'ETL à partir de leurs périphériques.
  • Corrigez une situation critique et donnez une réaction locale, même sans communication avec BackEnd. Cela peut être comparé aux signaux du rythme cardiaque ou de la respiration pulmonaire d'une personne sans la participation du cerveau.
  • Communiquez avec Backnd. Envoie les informations traitées des périphériques au serveur et reçoit les données de configuration des périphériques.
  • Enregistrez des informations sur l'état des périphériques et les données collectées par eux.

Dans certains cas, la fonctionnalité AI / ML (intelligence artificielle / apprentissage automatique) doit être présente au niveau de la passerelle. Le dispositif de passerelle est principalement alimenté par le secteur ou possède une grande batterie intégrée, mais certaines solutions nécessitent également une faible consommation d'énergie. Dans cette situation, un problème supplémentaire se pose - le protocole de synchronisation pour la communication avec le périphérique. L'un d'eux (passerelle ou périphérique) doit transmettre le message «Prêt pour la communication» plus souvent que l'autre appareil n'est prêt à communiquer. Le choix dépendra de la consommation électrique totale de chaque appareil et du temps requis sans entretien.

Aujourd'hui, nous augmentons le nombre d'applications avec une source d'information sous forme de caméra vidéo. Dans ces solutions spécifiques, Gateway et Edge peuvent être intégrés ensemble. La fonctionnalité AI / ML dans de telles applications devient très populaire. Avec les nouveaux accélérateurs d'intelligence machine pour les systèmes embarqués, cette solution est devenue une réalité.
Séparément, il convient de parler des passerelles pour les solutions de maison intelligente. Une passerelle dans cette classe de solutions est souvent combinée avec des appareils STB - adaptateurs de télévision ou avec une unité de contrôle de sécurité à domicile. Une plate-forme RDK-V ouverte existe déjà pour la première intégration. Dans un avenir proche, nous devrions nous attendre à une intégration plus poussée des trois composants - la passerelle + STB + la sécurité dans un seul appareil. Il comportera également probablement des services NAS (stockage de fichiers local) et AI / ML pour la reconnaissance vidéo / audio de la machine. Les appareils de reconnaissance audio, tels que Alexa, sont basés sur l'infrastructure Cloud, mais la reconnaissance principale sera probablement portée au niveau périphérique.

Le tableau ci-dessous montre le niveau de passerelle dans différentes classes de solutions IoT:
Types de couches de passerellePrérequis
Ville intelligenteOrdinateurs spécialisés avec composants d'intelligence artificielle.Doit avoir une logique pour fonctionner sans support backend.
Maison intelligenteMini PC avec des éléments d'intelligence machine.En raison des exigences de sécurité, des composants anti-vandalisme doivent être présents.
Météo / CataclysmesRarement en demande dans ces tâches.
Économie de ressourcesOrdinateurs SoC ou TinyFaible consommation d'énergie.
Optimisation des transportsNon applicable dans cette classe de tâches.Pas d'exigences particulières
UsinesOrdinateurs fabriqués en usine avec des éléments d'intelligence artificielle.Doit avoir une logique pour fonctionner sans support backend.
Mécanismes complexesNon applicable dans cette classe de tâches.

Couche réseau étendu - Couche de liaison externe


Cette couche sépare les parties périphériques et BackEnd de la solution globale. La passerelle est principalement connectée à BackEnd à l'aide de la téléphonie mobile sans fil, telle que la 4G / 5G, mais un accès Internet filaire est parfois utilisé. La couche logique de communication externe a un protocole standardisé pour les solutions IoT appelé LvM2M. Le protocole LvM2M a été conçu pour accéder à chaque périphérique, mais comme de nombreux fournisseurs de périphériques ne prennent pas en charge les interfaces LvM2M, le périphérique de passerelle peut résoudre ce problème et créer un wrapper pour communiquer avec les périphériques.

La couche de communication externe contient également des services de communication et des modèles ISO en elle-même. Il comprend des services d'équilibrage et de localisation DNS, le protocole de transport COAP, le chiffrement DTLS et de nombreux autres composants qui dépassent le cadre de cet article.

Un commentaire important que nous devons faire ici. Le protocole LvM2M utilise le protocole de cryptage DTLS. Le protocole DTLS est un protocole avec des clés de sécurité et une session de prise de contact. Cela fonctionne point par point. Pour décrypter les paquets DTLS, nous devons utiliser la même instance d'arrière-plan que nous avions lors de la session de connexion. Cela pose un problème pour l'équilibreur de charge, qui fait partie de la couche de sécurité de notre circuit. L'équilibreur de charge, à son tour, est nécessaire pour une mise à l'échelle automatique à une charge système élevée. Pour éviter cette limitation, DNS est utilisé comme équilibreur de charge. Chaque requête DNS N reçoit une nouvelle adresse IP pour l'instance de niveau de sécurité.

Vous trouverez ci-dessous un tableau du niveau de communication externe dans différentes classes de solutions IoT:
Types de couches réseau étendusPrérequis
Ville intelligentePLC, Ethernet, LTE, LvM2M, FOTA / SOTA.LTE Backend.
Ethernet, LTE..
/LTE, Radio, LvM2M..
PLC, Ethernet, LTE, LvM2M, FOTA/SOTA.. .
LTE..
Ethernet, LTE, LvM2M, FOTA/SOTA.Ethernet.
LTE, FOTA/SOTA.

Security Layer —


AAA (Authentication, Authorization and Accounting — , ) / , . Cloud , . , DTLS.

Backend .
IoT :
Security Layer typesRequirements
Cloud. AWS 50% . AWS 2 : R53 and IAM. EC2 DTLS., (, , , ) ( )
Cloud.Cloud-to-Cloud . SSO .
/Azure Cloud ,
ACL , Cloud .— .
AWS IAM
ACL , Cloud ., ERP. SSO
AWS IAM

Middleware Layer —


Cloud , . . PaaS Cloud . . Backend . , — . Backend .

. Load Balancer . Queue — . Subscribers — , .

IoT :
Middleware Layer typesRequirements
. .. . .
..
/

Etl layer — ,


ETL (, ) ETL. , — . Back End ETL :


. (Extract) . Cloud, , . . , , , . , . — . BackEnd. — , . .

(Load) , . , . ( ), NoSQL . , , SQL . , 2 — OLTP (Online Transactional Processing) OLAP (Online Analytic Processing). , ETL — , . OLTP , , OLAP. , , , Bucket, . , . .

, IoT :
ETL Layer typesRequirements
RabbitMQ, MQTT, Kafka. Docker containers, Lambda/Function. SQL, NoSQL, Bucket storages.. , Cloud
MQTT, Containers, SQL, NoSQL, Bucket storages..
/Kafka, SQL, Containers
MQTT, Lambda/Function, SQL
MQTT, Containers, SQL
MQTT, Containers, SQL


Big Data and Analytic Layer —


IoT. . , . AI / ML .
, , , .

IoT :
Big Data / Analyti Layer typesRequirements
.
/Big Data


Notification layer —


, . , , — . , ( ). , iOS Android , .

IoT :
ETL Layer typesRequirements
. .
/.
.
, .


Presentation Layer —


IoT : M2M ( ) M2P ( ). , M2M, Back End . UI / UX , , .

, . .

IoT :
Presentation Layer typesRequirements
. , . .WiFi HotSpot .
/WEB
.
.
ERP.

Configuration Layer —


— M2M M2P :
  • , .
  • — . .

Backend. . , , .

, :



, , .

IoT :
Configuration Layer typesRequirements
Shadowing, twin pair, etc.
Shadowing, twin pair, etc
/
Shadowing, twin pair, etc: ,

IoT .


. IoT :

  • 2 :
    • , , . . , .
    • . . .
  • ETL — , backend. , , — .
  • , . . — LvM2M.
  • Backend Cloud. AWS.
  • , WEB . . .

IoT? . :

  1. , , .. Backend.
  2. .
  3. — , , .
  4. , , .
  5. Cloud , :

    • La sécurité
    • Cloud
    • ,
    • , AI/ML
  6. UI/UX

, IoT . IoT .

Source: https://habr.com/ru/post/fr455377/


All Articles