Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Use o MATLAB para aproveitar seus dados de IoT ao vivo


Se você já fez qualquer análise de dados de um sensor ou outro tipo de fonte de dados, provavelmente seguiu um processo em que coleta os dados, converte os dados e usa o MATLAB para processar e analisar os dados. Usar o MATLAB para analisar os dados é uma ferramenta muito conhecida para realizar essa tarefa. Coletar e converter os dados, para que sejam utilizáveis ​​no MATLAB, pode levar muito tempo. Graças a uma integração que foi concluída pelo MathWorks, agora é possível conectar facilmente o MATLAB com dados ao vivo que estão sendo publicados e assinados no DDS. Com o MATLAB sendo uma das principais ferramentas usadas para analisar dados e o DDS rapidamente se tornando o middleware de comunicação de dados dos aplicativos IIoT, essa integração permitirá uma prototipagem muito rápida e análise de teste para desenvolvedores. Esta postagem de blog apresentará alguns exemplos de como publicar dados DDS e também como assinar dados DDS usando o MATLAB.

Primeiros passos


Para começar, você precisará certificar-se de que tanto o MATLAB quanto o RTI Connext DDS estão instalados em seu computador. Para este conjunto de exemplos, as seguintes versões foram usadas:

Depois de instalá-los, basta seguir o vídeo neste link para concluir e verificar a instalação:Vídeo de instalação

Inicialização


Depois de ter tudo instalado e verificado, há apenas algumas etapas para configurar o DDS de forma adequada no MATLAB.

Importar um tipo de dados no MATLAB é simples. No DDS, os tipos de dados são especificados usando arquivos IDL. A instrução de importação MATLAB pode ler um arquivo IDL diretamente e criará os arquivos ".m" necessários para trabalhar com esse tipo de dados dentro do interpretador MATLAB. A seguinte chamada MATLAB importará um tipo de dados chamado "ShapeType" do arquivo ShapeType.idl localizado no diretório de trabalho atual:
>> DDS.import ('ShapeType.idl', 'matlab', 'f') 

Agora esse tipo de dados está disponível para uso ao criar seus DataReaders e DataWriters de tópicos no DDS. Observe também que, uma vez feita a importação, esta etapa não precisa mais ser executada no futuro. O tipo estará disponível no MATLAB daqui para frente. A próxima coisa a fazer para iniciar a descoberta de DDS é criar um DDS Domain Participant. Isso pode ser feito nesta chamada:
>> dp =DDS.DomainParticipant; 

Usando este objeto DomainParticipant (dp), você pode criar objetos DataWriter e DataReader. Os dois comandos a seguir adicionarão um objeto datawriter e um objeto datareader ao dp especificando seu tipo como o "ShapeType" recém-criado e seus tópicos como "Triângulo" e "Quadrado", respectivamente.
>> dp.addWriter ('ShapeType', 'Triangle')>> dp.addReader ('ShapeType', 'Square') 

Assinando dados em demonstração de formas


O ShapeType é usado para que se comunique com o aplicativo RTI Shapes Demonstration (Shapes) padrão fornecido pelo RTI. Shapes permite a criação de DataWriters e DataReaders de tópicos "Square", "Circle" e "Triangle" que, por sua vez, são baseados no tipo de dados "ShapeType". Para obter mais informações sobre como usar o aplicativo Shapes, clique aqui para ver nosso tutorial em vídeo.

Em Shapes, a próxima etapa é criar um assinante do Triangle. Na próxima tela, deixe todas as outras opções de QoS como padrão.


Publicação de dados no MATLAB


Agora que temos o DataWriter configurado no MATLAB para enviar ShapeType no tópico Triangle, e também temos o Shapes Demo configurado para receber a publicação, vamos exercitar o escritor. Os comandos a seguir preencherão os campos do ShapeType e, em seguida, publicarão os dados no Triangle Topic:
 %% cria uma instância de ShapeTypemyData =ShapeType; myData.x =int32 (75); myData.y =int32 (100); myData.shapesize =int32 (50); myData.color ='GREEN'; %% escrever dados em DDSdp.write (myData); 

O resultado no Tópico do Triângulo na Demonstração de Formas será um único Triângulo Verde mostrado aqui:



Alguns casos de uso mais interessantes de publicação do Triangle no MATLAB são:
 %% Publicar Triângulos verdes em uma linha a 1 Hz para i =1:10 meusDados.x =int32 (20 + 10 * i); meusDados.y =int32 (40 + 10 * i); dp.write (myData); pausa (1); fim %% Publicar Triângulos verdes em um padrão de círculo em 20 Hz para i =1:1000 ângulo =10 * pi * (i / 200); meusDados.x =int32 (100 + (50 * cos (ângulo))); meusDados.y =int32 (100 + (50 * sin (ângulo))); myData.shapesize =int32 (40); myData.color ='GREEN'; dp.write (myData); pausar (0,05); fim 

A saída resultante no Shapes Demo são respectivamente:


Publicação de dados na demonstração de formas


Na demonstração Shapes, crie um editor de Square. Na próxima tela, basta escolher uma cor e deixar todas as outras opções de QoS como padrão. A captura de tela a seguir mostra a tela Square Publish. Para minha demonstração, escolhi um Laranja Square. Isso publicará a posição X, Y na tela a cada 30 ms.


Assinatura de dados no MATLAB


Se você se lembra de antes, adicionamos um Square Topic DataReader ao Participante de Domínio no MATLAB. Usaremos este DataReader para assinar os dados que estamos publicando da Demonstração de Formas. Os comandos a seguir no MATLAB lerão 10 amostras a 1 Hz.
 %% ler dados para i =1:10 dp.read () pause (1); fim 

A saída resultante no MATLAB será de 10 relatórios do seguinte:


Algo mais interessante


Agora que temos as duas direções, vamos fazer algo mais criativo com os dados. Primeiro, vamos ler os dados do Square e modificá-los para trocar as coordenadas X e Y e, em seguida, republicá-los em um Triângulo VERMELHO. Em segundo lugar, pegaremos os dados de posição resultantes e os plotaremos diretamente no MATLAB. Estes são os comandos a serem usados ​​no MATLAB para fazer isso.
 %% alocar uma matriz de 100 elementosxArray =zeros (1.100); %% executar um loop para coletar dados e armazená-los na matriz %% também alternar as coordenadas X e Y e, em seguida, republicar em %% o tópico Triângulo para i =1:100 [meusDados, status] =dp.read (); if ~ isempty (myData) x =myData (1) .x; y =meusDados (1) .y; xArray (i) =x; yArray (i) =y; meusDados (1) .y =x; meusDados (1) .x =y; myData (1) .color ='RED'; dp.write (myData (1)); end pause (0,05) end %% Traçar a posição X Data =1:100; traçar (t, xArray); legend ('xPos'); xlabel ('Time'), ylabel ('Position'); title ('X Posições '); 

A saída resultante no Shapes Demo será um triângulo vermelho movendo-se para o lado oposto do quadrado laranja e também um gráfico será gerado no MATLAB mostrando os dados da posição X:



Como você pode ver, a integração do DDS com o MATLAB é muito simples de usar e torna muito fácil coletar, injetar e analisar dados. Para esta demonstração, usamos o aplicativo Shapes simples, mas os dados usados ​​podem ser facilmente seus próprios dados de aplicativo. Se desejar saber mais sobre a integração do MATLAB com o RTI Connext DDS, visite este site no site da MathWorks:Integração do MATLAB DDS. Se desejar saber mais sobre como usar o Connext DDS, clique aqui para obter acesso aos nossos recursos de desenvolvedor.

Tecnologia da Internet das Coisas

  1. MQTT e DDS:Comunicação de máquina para máquina em IoT
  2. Lições de Hannover Messe:5 maneiras de aproveitar a TI para suas operações industriais
  3. Manter os dados em conformidade com a IoT
  4. Seu sistema está pronto para a IoT?
  5. Democratizando a IoT
  6. Maximizando o valor dos dados IoT
  7. Fazendo os dados de IoT trabalharem para sua empresa
  8. IoT e sua compreensão dos dados
  9. Principais plataformas de análise de dados de IoT
  10. MATLAB - Tipos de dados