Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Technologie de l'Internet des objets

Eclipse Vorto :la prochaine étape de l'intégration des appareils IoT

Alexandre Edelmann

你好(chinois pour « Bonjour »), je suis basé à Singapour et je travaille comme ingénieur logiciel pour Robert Bosch depuis 2006. Je suis passionné par l'IoT et je crois aux normes ouvertes qui déterminent l'interaction réussie entre les appareils sur diverses plates-formes IoT . C'est pourquoi je contribue activement au projet Eclipse IoT Vorto, qui vise à fournir des outils basés sur le cloud pour décrire de manière uniforme les appareils IoT et les intégrer dans diverses plates-formes IoT basées sur des normes IoT ouvertes. Mon côté geek IoT mis à part, j'apprécie les cuisines asiatiques qui me permettent de mettre en pratique mes compétences en baguettes. Vous pouvez également me trouver sur le court en train de frapper quelques balles de tennis avec mes amis.

En examinant des exemples tels que les usines et les maisons intelligentes, les appareils connectés améliorent non seulement l'efficacité des coûts et des ressources des entreprises, mais augmentent également la sécurité et le confort de vie. Avec le grand nombre de fabricants d'appareils et de capteurs, de nouveaux défis se présentent pour les fabricants, les plates-formes et les intégrateurs.

Le principal problème est de savoir comment s'assurer que les appareils connectés peuvent communiquer en toute transparence avec des plateformes cloud, quels que soient les différents fabricants, technologies et systèmes. Dans le passé, les développeurs ont créé des solutions IoT spécialement conçues pour un ensemble limité d'appareils dotés de la même API. Lors du changement de type d'appareil ou de changement de fabricant d'appareils, l'intégration de l'appareil a nécessité une refactorisation fastidieuse pour fonctionner avec le nouvel appareil.

Imaginez que vous envisagez d'intégrer une solution IoT pour le suivi des actifs dans une grande exploitation agricole. Vous voulez non seulement garder une trace de l'emplacement actuel, mais aussi de la température et de l'accélération des tracteurs, charrues et autres appareils agricoles.

Deux questions se posent lorsque l'on réfléchit au choix des bons appareils IoT :

C'est là qu'intervient l'open source Eclipse Vorto.

Présentation d'Eclipse Vorto

Source :Éclipse Vorto

Eclipse Vorto fournit une couche d'abstraction appelée Vorto Information Model et un langage spécifique au domaine (DSL) qui décrit toutes les méta-informations, telles que les propriétés et les fonctions, d'un appareil connecté.

En ajoutant une couche d'abstraction, nous créons une interface cohérente qui nous permet d'utiliser différents types d'appareils avec des fonctionnalités similaires.

Le projet Eclipse Vorto repose sur quatre composants principaux :

Eclipse Vorto est entièrement open source et développé au sein du groupe de travail Eclipse IoT sous la direction de Bosch.

Tim Grossmann

En tant qu'étudiant allemand en informatique, j'ai effectué des missions dans 3 départements différents chez Bosch au cours des un an et demi. Je suis particulièrement intéressé par les technologies Open Source et EduTech. Je pense que l'IoT et l'automatisation ont un énorme potentiel à la fois pour changer et améliorer la façon dont les gens vivent, travaillent et profitent de la vie. Élève et développeur passionné, je suis toujours désireux d'acquérir de nouvelles compétences et de nouveaux outils. En plus de mon travail régulier, j'ai construit et maintient maintenant le plus grand bot d'automatisation open source gratuit au monde pour Instagram. Pendant mon temps libre, j'aime faire des sorties d'escalade avec des amis et voyager à l'étranger.

Eclipse Vorto en pratique

Regardons un exemple plus précis pour mieux comprendre cette abstraction. Imaginez une entreprise agricole qui souhaite garder une trace des véhicules et des actifs utilisés pour collecter les récoltes de blé. Dans les grandes fermes avec plusieurs moissonneuses-batteuses, tracteurs et autres actifs, nous voulons connaître la durée d'utilisation de chaque véhicule et son historique de localisation.

En combinant ce type d'informations avec les valeurs de température et d'humidité, nous pouvons activer un plan de maintenance intelligent pour tous les véhicules et actifs. L'emplacement de chaque véhicule et équipement nous fournit également des capacités antivol.

L'une des solutions qui fournit ce type de fonctionnalité est la solution de traçabilité des actifs (TRACI) de Bosch.

Source :Bosch.IO

Afin de créer un modèle numérique de cet appareil spécifique, nous devons disposer de quelques blocs de construction de base qui seront utilisés pour assembler le modèle d'information TRACI.

L'un des composants les plus importants du dispositif de suivi est la batterie. Pour pouvoir surveiller l'état de la batterie de chaque appareil, nous pouvons décrire l'état dans ce qu'on appelle un bloc fonctionnel.

Un bloc fonctionnel est un modèle générique qui peut être réutilisé ultérieurement dans d'autres modèles d'informations d'appareil.

Nous pouvons en définir un comme ceci :

espace de noms org.eclipse.vorto version 1.0.0 nom d'affichage "Batterie" description "Bloc de fonction pour batterie" catégorie périphérique en utilisant org.eclipse.vorto.Voltage; 1.0.0 bloc de fonction La batterie étend org.eclipse.vorto.Voltage { statut { Capacité restante obligatoire en tant que float } }

Nous décrivons ici un Bloc de fonction qui décrit de manière abstraite une entité qui contient une valeur numérique obligatoire entre 0 et 100.

Étant donné que notre statut est une valeur en pourcentage, nous pouvons encore faire abstraction de cela pour, encore une fois, rendre les composants distincts réutilisables. Par conséquent, nous allons créer ce qu'on appelle un Datatype . Ici, nous pouvons définir une entité (Pourcentage dans ce cas) qui a les mêmes restrictions d'être une valeur numérique entre 0 et 100.

espace de noms org.eclipse.vorto.types version 1.0.0 nom d'affichage "Pourcentage" description "Type de données pour le pourcentage" unités de catégorie Pourcentage d'entité { valeur obligatoire comme flottant }

Une fois que nous avons créé ce type de données, il peut être importé et utilisé dans notre bloc fonctionnel de batterie et remplace l'implémentation concrète.

espace de noms org.eclipse.vorto version 1.0.0 nom d'affichage "Batterie" description "Bloc de fonction pour batterie" catégorie périphérique en utilisant org.eclipse.vorto.types.Percentage; 1.0.0 en utilisant org.eclipse.vorto.Voltage; 1.0.0 bloc de fonction La batterie étend org.eclipse.vorto.Voltage { statut { Capacité restante obligatoire en pourcentage } }

Nous pouvons répéter ce processus pour tous les capteurs intégrés dans notre appareil TRACI comme le capteur de température , GPS , accélération , et modules de connectivité . Tous ces blocs fonctionnels peuvent ensuite être assemblés dans un modèle d'information Vorto qui peut ensuite être utilisé comme point de départ pour que les générateurs de code produisent des talons de code d'intégration de périphérique pour vous.

espace de noms com.bosch.ps version 1.0.0 nom d'affichage "Traci" description "Modèle d'information pour Traci" en utilisant org.eclipse.vorto.Geolocation ; 1.0.0 en utilisant org.eclipse.vorto.Acceleration ; 1.0.0 en utilisant org.eclipse.vorto.MagneticStrength ; 1.0.0 en utilisant org.eclipse.vorto.Temperature ; 1.0.0 en utilisant org.eclipse.vorto.Battery ; 1.0.0 en utilisant org.eclipse.vorto.Connectivity ; 1.0.0 infomodèle Traci { blocs fonction { batterie comme batterie emplacement comme géolocalisation accélération en tant qu'accélération température en tant que température MagneticStrength en tant que MagneticStrength BluetoothConnectivité en tant que connectivité lorawanConnectivity en tant que connectivité } }

D'accord, alors pourquoi faisons-nous tout cela ?

Disons que nous voulons maintenant utiliser des appareils d'autres fabricants avec des fonctionnalités similaires à l'appareil TRACI. Nous avons déjà créé une solution IoT qui a intégré l'appareil TRACI et il serait très difficile de remanier notre système pour qu'il fonctionne avec des appareils de différents fabricants.

Puisque nous avons déjà défini nos blocs fonctionnels et les types de données, nous pouvons définir un nouveau modèle d'information pour notre nouvel appareil qui utilise les mêmes blocs fonctionnels que le modèle TRACI.

Comparons le modèle TRACI avec un produit aux fonctionnalités comparables, le NL-AT2VS de NimbeLink.

espace de noms com.nimbelink.nl version 1.0.0 nom d'affichage "NLAT2VS" description "Modèle d'information pour NLAT2VS" en utilisant org.eclipse.vorto.Geolocation ; 1.0.0 en utilisant org.eclipse.vorto.Battery ; 1.0.0 en utilisant org.eclipse.vorto.Connectivity ; 1.0.0 en utilisant org.eclipse.vorto.Temperature ; 1.0.0 en utilisant org.eclipse.vorto.Humidity ; 1.0.0 en utilisant org.eclipse.vorto.Acceleration ; 1.0.0 infomodèle NLAT2VS { blocs fonction { batterie comme batterie accélération en tant qu'accélération emplacement comme géolocalisation température en tant que température l'humidité en tant qu'humidité wifiConnectivité en tant que connectivité cellularConnectivity en tant que connectivité } }

Nous pouvons voir que même les modules de connectivité sont différents dans ce modèle mais utilisent toujours le bloc fonctionnel abstrait de connectivité. L'abstraction nous permet de remplacer ou de combiner différents appareils avec des fonctionnalités similaires sans trop de frais d'intégration.

Qui doit utiliser Eclipse Vorto ?

Compte tenu de la diversité des entités impliquées dans la fabrication, l'intégration et le développement de solutions IoT, les entités qui bénéficieront le plus d'Eclipse Vorto sont :

Fabricants d'appareils

Eclipse Vorto peut aider les fabricants d'appareils à permettre l'interopérabilité avec d'autres appareils dans les infrastructures existantes. La flexibilité est un énorme avantage pour les clients lors du choix des appareils à intégrer.

En utilisant des modèles d'information indépendants de la technologie, les fabricants d'appareils évitent les frais généraux liés à la génération de moyens de mise en œuvre pour tous les types de plates-formes cibles. Cela permet d'économiser de l'argent et du temps en publiant des modèles d'information qui peuvent être convertis en intégrations concrètes à l'aide des générateurs de code.

Le gros avantage de l'utilisation d'Eclipse Vorto est que les évolutions ultérieures de la couche de protocole du périphérique sont découplées de la logique du contrôleur de périphérique.

Source :Eclipse Vorto

Plateformes IoT

Les plates-formes IoT doivent connecter une grande variété d'appareils IoT différents provenant d'un large éventail de fabricants et prendre en charge tous les différents protocoles et formats. En utilisant les générateurs de code d'Eclipse Vorto, cet effort peut être considérablement réduit grâce à la génération de code source partielle ou complète.

De plus, le référentiel Vorto agit comme un référentiel d'exécution qui permet aux plates-formes de récupérer les capacités de l'appareil sous forme de schéma JSON. Ces schémas peuvent ensuite être interprétés et validés dans le jumeau numérique ou utilisés pour amorcer des connecteurs pour la communication.

Même si cela signifie un travail de développement initial accru, cela sera payant au fil du temps compte tenu de la grande quantité d'appareils et de la croissance de l'IoT.

Développeurs de solutions

Lors de l'intégration d'appareils connectés et de capteurs intelligents dans des solutions IoT, les développeurs doivent couvrir un large éventail d'API d'appareils différentes, ce qui entraîne une énorme surcharge de codage. Eclipse Vorto peut réduire la quantité de travail de développement impliqué en fournissant des générateurs de code qui fournissent des talons de code génériques qui simplifient l'intégration des appareils.

Source :Eclipse Vorto

Regard sur l'avenir de l'IoT

En garantissant l'interopérabilité et en harmonisant l'interface des appareils, Eclipse Vorto a le potentiel de changer la façon dont les fabricants d'appareils, les opérateurs de plates-formes IoT et les développeurs d'applications travaillent avec les appareils IoT.

Il peut réduire le travail de développement pour les fabricants et faciliter l'intégration des appareils pour les fournisseurs de plates-formes et les intégrateurs tout en s'attaquant à bon nombre des défis mentionnés du développement de l'IoT.

Si vous souhaitez en savoir plus sur le projet, assurez-vous de consulter le référentiel GitHub et attribuez-lui une étoile.

Vous pouvez également essayer et utilisez les didacticiels sophistiqués pour la création, l'intégration et la visualisation d'appareils fournis dans le référentiel Vorto.


Technologie de l'Internet des objets

  1. Authentification de périphérique basée sur X.509 dans Eclipse Hono
  2. Smart data :La prochaine frontière de l'IoT
  3. La menace croissante de l'IoT compatible Wi-Fi
  4. Ne croyez pas le battage médiatique :pourquoi l'IoT stagne
  5. Connecter l'IoT – L'opportunité du bas débit
  6. Nous jetons les bases de l'IoT dans l'entreprise
  7. 5 défis auxquels l'Internet des objets est toujours confronté
  8. Le rôle de l'IoT dans les soins de santé pendant le Covid-19
  9. Pourquoi la connexion directe est la prochaine phase de l'IoT industriel