산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 사물 인터넷 기술

MATLAB을 사용하여 라이브 IoT 데이터 활용

센서 또는 다른 유형의 데이터 소스에서 데이터 분석을 수행한 적이 있다면 데이터를 수집하고 데이터를 변환한 다음 MATLAB을 사용하여 데이터를 처리 및 분석하는 프로세스를 따랐을 가능성이 큽니다. MATLAB을 사용하여 데이터를 분석하는 것은 해당 작업을 수행하는 매우 잘 알려진 도구입니다. MATLAB에서 사용할 수 있도록 데이터를 수집하고 변환하는 것은 엄청난 시간이 소요될 수 있습니다. MathWorks에서 완료한 통합 덕분에 이제 DDS에서 게시 및 구독 중인 라이브 데이터와 MATLAB을 쉽게 연결할 수 있습니다. MATLAB이 데이터 분석에 사용되는 최고의 도구 중 하나이고 DDS가 IIoT 애플리케이션의 데이터 통신 미들웨어로 빠르게 자리잡으면서 이 통합을 통해 개발자를 위한 매우 빠른 프로토타이핑 및 테스트 분석이 가능해집니다. 이 블로그 게시물에서는 DDS 데이터를 게시하는 방법과 MATLAB을 사용하여 DDS 데이터를 구독하는 방법에 대한 몇 가지 예를 살펴봅니다.

시작하기

시작하려면 MATLAB과 RTI Connext DDS가 모두 컴퓨터에 설치되어 있는지 확인해야 합니다. 이 예시 세트의 경우 다음 버전이 사용되었습니다.

<울>
  • MathWorks MATLAB R2016b
  • MathWorks DDS 블록셋 2.9.2
  • RTI Connext DDS 5.2.3(비디오 자습서 - Linux 및 Windows용 설치)
  • RTI Shapes 데모 애플리케이션(Connext DDS와 함께 설치됨, 여기에서 튜토리얼 확인)
  • Windows 10 PC
  • 설치가 완료되면 이 링크의 비디오를 따라 설치를 완료하고 확인하십시오. 설치 비디오

    초기화

    모든 것이 설치되고 확인되면 MATLAB 내에서 DDS를 적절하게 설정하는 몇 가지 단계만 거치면 됩니다.

    <울>
  • 프로젝트에서 사용할 데이터 유형을 가져옵니다.
  • DDS 도메인 참가자 생성
  • DDS DataWriter 생성
  • DDS DataReader 만들기
  • MATLAB에서 데이터 유형을 가져오는 것은 간단합니다. DDS에서 데이터 유형은 IDL 파일을 사용하여 지정됩니다. MATLAB import 문은 IDL 파일을 직접 읽을 수 있으며 MATLAB 인터프리터 내에서 해당 데이터 유형으로 작업하는 데 필요한 ".m" 파일을 생성합니다. 다음 MATLAB 호출은 현재 작업 디렉토리에 있는 ShapeType.idl 파일에서 "ShapeType"이라는 데이터 유형을 가져옵니다.

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

    이제 DDS에서 주제의 DataReader 및 DataWriter를 생성할 때 데이터 유형을 사용할 수 있습니다. 또한 가져오기가 완료되면 나중에 이 단계를 더 이상 실행할 필요가 없습니다. 이 유형은 앞으로 MATLAB에서 사용할 수 있습니다. DDS 검색을 진행하기 위해 다음으로 해야 할 일은 DDS 도메인 참가자를 만드는 것입니다. 이 호출에서 수행할 수 있습니다.

    >> dp =DDS.Domain참가자;

    이 dp(DomainParticipant) 개체를 사용하여 DataWriter 및 DataReader 개체를 모두 만들 수 있습니다. 다음 두 명령은 datawriter 개체와 datareader 개체를 dp에 추가하여 해당 유형을 새로 생성된 "ShapeType"으로 지정하고 해당 항목을 "Triangle" 및 "Square"로 각각 지정합니다.

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

    셰이프 데모의 데이터 구독

    ShapeType은 RTI에서 제공하는 표준 RTI Shapes Demonstration 애플리케이션(Shapes)과 통신하기 위해 사용됩니다. Shapes를 사용하면 "ShapeType" 데이터 유형을 기반으로 하는 "Square", "Circle" 및 "Triangle" 항목의 DataWriter 및 DataReader를 모두 만들 수 있습니다. Shapes 응용 프로그램을 사용하는 방법에 대한 자세한 내용을 보려면 여기를 클릭하여 비디오 자습서를 보십시오.

    Shapes에서 다음 단계는 Triangle의 구독자를 만드는 것입니다. 다음 화면에서 다른 모든 QoS 옵션은 기본값으로 두십시오.

    MATLAB에서 데이터 게시

    이제 삼각형 주제에 대한 ShapeType을 보내기 위한 DataWriter 설정이 있고 출판물을 수신하기 위한 Shape Demo 설정이 있으므로 작성기를 연습해 보겠습니다. 다음 명령은 ShapeType의 필드를 채운 다음 삼각형 주제에 대한 데이터를 게시합니다.

    %% ShapeTypemyData =ShapeType;myData.x =int32(75);myData.y =int32(100);myData.shapesize =int32(50);myData.color ='GREEN';%%의 인스턴스를 만듭니다. DDSdp.write(myData)에 데이터 쓰기;

    모양 데모 내의 삼각형 주제에 대한 결과는 여기에 표시된 단일 녹색 삼각형이 됩니다.

    MATLAB 내에서 Triangle을 게시하는 몇 가지 흥미로운 사용 사례는 다음과 같습니다.

    %% i=1:10 myData.x =int32(20 + 10*i); myData.y =int32(40 + 10*i); dp.write(myData); pause(1);end%% i=1:1000 angle =10*pi * (i/200)에 대해 20Hz에서 원 패턴으로 녹색 삼각형을 게시합니다. myData.x =int32(100 + (50 * cos(각도))); myData.y =int32(100 + (50 * sin(각도))); myData.shapesize =int32(40); myData.color ='녹색'; dp.write(myData); 일시 중지(0.05);종료

    Shapes Demo의 결과 출력은 각각 다음과 같습니다.

    셰이프 데모에서 데이터 게시

    모양 데모에서 Square의 게시자를 만듭니다. 다음 화면에서 색상을 선택하고 다른 모든 QoS 옵션은 기본값으로 둡니다. 다음 스크린샷은 Square Publish 화면을 보여줍니다. 시연을 위해 저는 주황색 사각형을 선택했습니다. 이렇게 하면 30msec마다 화면에 X,Y 위치가 게시됩니다.

    MATLAB에서 데이터 구독

    MATLAB의 Domain Participant에 Square Topic DataReader를 추가했던 것을 기억한다면. 이 DataReader를 사용하여 현재 모양 데모에서 게시 중인 데이터를 구독합니다. MATLAB의 다음 명령은 1Hz에서 10개의 샘플을 읽습니다.

    %% 읽기 데이터 for i=1:10 dp.read() pause(1);end

    MATLAB의 결과 출력은 다음에 대한 10개의 보고서가 됩니다.

    더 흥미로운 것

    이제 양방향으로 진행되었으므로 데이터를 사용하여 보다 창의적인 작업을 수행해 보겠습니다. 먼저 Square 데이터를 읽고 X 및 Y 좌표를 전환하도록 수정한 다음 RED Triangle에 다시 게시합니다. 두 번째로 결과 위치 데이터를 가져와 MATLAB 내에서 직접 플로팅합니다. 다음은 이를 수행하기 위해 MATLAB에서 사용하는 명령입니다.

    %% 100개 요소의 배열을 할당합니다.xArray =zeros(1,100);%% 루프를 실행하여 데이터를 수집하고 배열에 저장%% 또한 X 및 Y 좌표를 전환한 다음 삼각형 주제를 %%에 다시 게시합니다. i=1:100 [myData, 상태] =dp.read(); if ~isempty(myData) x =myData(1).x; y =myData(1).y; xArray(i) =x; y배열(i) =y; myData(1).y =x; myData(1).x =y; myData(1).color ='빨간색'; dp.write(myData(1)); end pause(0.05)end%% X 위치 데이터 그리기t =1:100;plot(t,xArray);legend('xPos');xlabel('Time'), ylabel('Position');title('X 위치');

    Shapes Demo의 결과 출력은 주황색 사각형의 반대 방향으로 움직이는 빨간색 삼각형이 될 것이며 X 위치 데이터를 표시하는 플롯도 MATLAB 내에서 생성됩니다.

    보시다시피 DDS와 MATLAB의 통합은 사용이 매우 간편하며 데이터 수집, 데이터 주입 및 분석을 매우 쉽게 만듭니다. 이 데모에서는 간단한 Shapes 응용 프로그램을 사용했지만 사용된 데이터는 자신의 응용 프로그램 데이터만큼 쉽게 사용할 수 있습니다. RTI Connext DDS와 MATLAB 통합에 대해 자세히 알아보려면 MathWorks 사이트의 MATLAB DDS 통합 사이트를 방문하십시오. Connext DDS 사용에 대해 자세히 알아보려면 여기를 클릭하여 개발자 리소스에 액세스하세요.


    사물 인터넷 기술

    1. MQTT 및 DDS:IoT의 M2M 통신
    2. Hannover Messe의 교훈:산업 운영을 위해 IT를 활용하는 5가지 방법
    3. IoT에서 데이터 규정 준수
    4. 시스템이 IoT를 사용할 준비가 되었습니까?
    5. 사물인터넷 민주화
    6. IoT 데이터의 가치 극대화
    7. 귀하의 비즈니스를 위한 IoT 데이터 활용
    8. IoT 및 데이터에 대한 이해
    9. 최고의 IoT 데이터 분석 플랫폼
    10. MATLAB - 데이터 유형