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

Utilisez MATLAB pour exploiter vos données IoT en direct

Si vous avez déjà effectué une analyse de données à partir d'un capteur ou d'un autre type de source de données, vous avez probablement suivi un processus dans lequel vous collectez les données, vous convertissez les données, puis utilisez MATLAB pour traiter et analyser les données. L'utilisation de MATLAB pour analyser les données est un outil très connu pour accomplir cette tâche. La collecte et la conversion des données, afin qu'elles soient utilisables dans MATLAB, peuvent prendre énormément de temps. Grâce à une intégration complétée par MathWorks, il est désormais possible de connecter facilement MATLAB aux données en direct qui sont publiées et souscrites sur DDS. MATLAB étant l'un des meilleurs outils utilisés pour analyser les données et DDS devenant rapidement le middleware de communication de données des applications IIoT, cette intégration permettra un prototypage et une analyse de test très rapides pour les développeurs. Cet article de blog présente quelques exemples de publication de données DDS et de souscription à des données DDS à l'aide de MATLAB.

Mise en route

Pour commencer, vous devrez vous assurer que MATLAB et RTI Connext DDS sont installés sur votre ordinateur. Pour cet ensemble d'exemples, les versions suivantes ont été utilisées :

Une fois ceux-ci installés, suivez simplement la vidéo sur ce lien pour terminer et vérifier l'installation :Vidéo d'installation

Initialisation

Une fois que tout est installé et vérifié, il n'y a que quelques étapes pour configurer correctement DDS dans MATLAB.

L'importation d'un type de données dans MATLAB est simple. Dans DDS, les types de données sont spécifiés à l'aide de fichiers IDL. L'instruction d'importation MATLAB peut lire directement un fichier IDL et créera les fichiers ".m" requis pour fonctionner avec ce type de données dans l'interpréteur MATLAB. L'appel MATLAB suivant importera un type de données appelé "ShapeType" à partir du fichier ShapeType.idl situé dans le répertoire de travail actuel :

>> DDS.import('ShapeType.idl','matlab','f')

Ce type de données est désormais disponible pour être utilisé lors de la création de vos DataReaders et DataWriters de rubriques dans DDS. Notez également qu'une fois l'import effectué, cette étape n'a plus besoin d'être exécutée à l'avenir. Le type sera disponible dans MATLAB à l'avenir. La prochaine chose à faire pour lancer la découverte DDS est de créer un participant de domaine DDS. Cela peut être accompli dans cet appel :

>> dp =DDS.DomainParticipant ;

À l'aide de cet objet DomainParticipant (dp), vous pouvez ensuite créer des objets DataWriter et DataReader. Les deux commandes suivantes ajouteront un objet datawriter et un objet datareader au dp en spécifiant que son type sera le "ShapeType" nouvellement créé et leurs sujets seront respectivement "Triangle" et "Square".

>> dp.addWriter('ShapeType','Triangle')>> dp.addReader('ShapeType','Square')

S'abonner à la démo de données dans Shapes

Le ShapeType est utilisé pour communiquer avec l'application standard de démonstration de formes RTI (Shapes) fournie par RTI. Shapes permet la création à la fois de DataWriters et de DataReaders de sujets "Square", "Cercle" et "Triangle" qui sont à leur tour basés sur le type de données "ShapeType". Pour plus d'informations sur l'utilisation de l'application Shapes, cliquez ici pour visionner notre didacticiel vidéo.

Dans Shapes, l'étape suivante consiste à créer un abonné à Triangle. Dans l'écran suivant, laissez simplement toutes les autres options de QoS par défaut.

Publication de données dans MATLAB

Maintenant que nous avons la configuration DataWriter dans MATLAB pour envoyer ShapeType sur le sujet Triangle, et que nous avons également la configuration Shapes Demo pour recevoir la publication, exerçons le rédacteur. Les commandes suivantes rempliront les champs du ShapeType, puis publieront les données sur le sujet Triangle :

%% crée une instance de ShapeTypemyData =ShapeType;myData.x =int32(75);myData.y =int32(100);myData.shapesize =int32(50);myData.color ='GREEN';%% écrire des données dans DDSdp.write(myData);

Le résultat sur le sujet du triangle dans la démo des formes sera un seul triangle vert illustré ici :

Voici quelques cas d'utilisation plus intéressants de la publication de Triangle dans MATLAB :

%% Publier des triangles verts sur une ligne à 1 Hz pour i=1:10 myData.x =int32(20 + 10*i); mesDonnées.y =int32 (40 + 10*i); dp.write(mesDonnées); pause(1);end%% Publier des triangles verts en cercle à 20 Hz pour i=1 :1000 angle =10*pi * (i/200) ; mesDonnées.x =int32(100 + (50 * cos(angle))); mesDonnées.y =int32(100 + (50 * sin(angle))); myData.shapesize =int32 (40); mesDonnées.couleur ='VERT'; dp.write(mesDonnées); pause(0.05);fin

La sortie résultante sur la démo de formes sont respectivement :

Publication de données dans la démo de Shapes

Dans la démonstration Shapes, créez un éditeur de Square. Dans l'écran suivant, choisissez simplement une couleur et laissez toutes les autres options de QoS par défaut. La capture d'écran suivante montre l'écran de publication Square. Pour ma démonstration, j'ai choisi un carré orange. Cela publiera la position X,Y sur l'écran toutes les 30 ms.

Abonnement aux données dans MATLAB

Si vous vous souvenez d'avant, nous avons ajouté un Square Topic DataReader au participant de domaine dans MATLAB. Nous utiliserons ce DataReader pour nous abonner aux données que nous publions actuellement à partir de la démonstration Shapes. Les commandes suivantes dans MATLAB liront 10 échantillons à 1 Hz.

%% read datafor i=1:10 dp.read() pause(1);end

La sortie résultante dans MATLAB sera 10 rapports des éléments suivants :

Quelque chose de plus intéressant

Maintenant que nous allons dans les deux sens, faisons quelque chose de plus créatif avec les données. Nous allons d'abord lire les données du carré et les modifier pour changer les coordonnées X et Y, puis les republier sur un triangle ROUGE. Deuxièmement, nous prendrons les données de position résultantes et les tracerons directement dans MATLAB. Ce sont les commandes à utiliser dans MATLAB pour accomplir cela.

%% alloue un tableau de 100 élémentsxArray =zeros(1,100);%% exécute une boucle pour collecter des données et les stocke dans le tableau%% change également les coordonnées X et Y, puis republie sur %% le sujet Triangle pour i=1:100 [myData, status] =dp.read(); if ~isempty(myData) x =myData(1).x; y =mesDonnées(1).y; xTableau(i) =x; yArray(i) =y; mesDonnées(1).y =x; mesDonnées(1).x =y; mesDonnées(1).color ='RED'; dp.write(mesDonnées(1)); end pause(0.05)end%% Tracer la position X Datat =1:100;plot(t,xArray);legend('xPos');xlabel('Time'), ylabel('Position');title('X Postes');

La sortie résultante dans Shapes Demo sera un triangle rouge se déplaçant à l'opposé du carré orange et un tracé sera également généré dans MATLAB montrant les données de position X :

Comme vous pouvez le voir, l'intégration de DDS avec MATLAB est très simple à utiliser et rend très facile la collecte de données, l'injection de données et l'analyse de données. Pour cette démonstration, nous avons utilisé la simple Application Shapes, mais les données utilisées peuvent tout aussi bien être vos propres données d'application. Si vous souhaitez en savoir plus sur l'intégration MATLAB avec RTI Connext DDS, veuillez visiter ce site sur le site MathWorks :MATLAB DDS Integration. Si vous souhaitez en savoir plus sur l'utilisation de Connext DDS, cliquez ici pour accéder à nos ressources pour développeurs.


Technologie de l'Internet des objets

  1. Leçons de la foire de Hanovre :5 manières de tirer parti de l'informatique pour vos opérations industrielles
  2. Rester conforme aux données dans l'IoT
  3. Votre système est-il prêt pour l'IoT ?
  4. Démocratiser l'IoT
  5. Maximiser la valeur des données IoT
  6. Utiliser les données IoT pour votre entreprise
  7. L'IoT et votre compréhension des données
  8. Principales plateformes d'analyse de données IoT
  9. MATLAB - Types de données