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

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

센서 데이터를 분석할 때 일반적인 워크플로는 원시 데이터를 수집하고, 사용 가능한 형식으로 변환한 다음, MATLAB의 강력한 분석 기능을 활용하는 것입니다. 그러나 데이터 변환 단계는 시간이 많이 걸릴 수 있습니다. MathWorks의 최근 통합으로 MATLAB이 이제 DDS를 통해 직접 데이터를 구독하고 발행할 수 있게 되었습니다. DDS는 IIoT 통신의 사실상 표준 미들웨어입니다. 이를 통해 개발자는 최소한의 오버헤드로 실시간 분석을 프로토타이핑하고 테스트할 수 있습니다.

시작하기

시작하기 전에 MATLAB과 RTI Connext DDS가 설치되어 있는지 확인하세요. 예제에서 사용된 버전은 다음과 같습니다:

모든 구성 요소가 올바르게 구성되었는지 확인하는 설치 비디오를 시청하세요: 설치 비디오.

초기화

설치 후 다음 단계로 MATLAB에서 DDS를 초기화합니다:

IDL 파일을 임포트하면 MATLAB용 해당 .m 파일이 자동 생성됩니다. 예를 들어 ShapeType.idl을 임포트하려면:

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

임포트되면 데이터 타입을 이후 DataReader/DataWriter 생성에 사용할 수 있습니다. 도메인 참여자 생성:

> dp = DDS.DomainParticipant;

Triangle 및 Square 토픽에 대해 ShapeType 데이터 타입으로 라이터와 리더를 연결:

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

Shapes Demo에서 데이터 구독

RTI Shapes Demo는 Square, Circle, Triangle에 대한 사전 구성된 토픽을 제공하며, 모두 ShapeType 기반입니다. 데모를 사용하여 Triangle 토픽에 대한 구독자를 생성하고, QoS 설정은 기본값으로 둡니다.

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

MATLAB에서 데이터 발행

DataWriter가 구성되면 녹색 삼각형을 발행합니다:

%% ShapeType 인스턴스 생성 myData = ShapeType; myData.x = int32(75); myData.y = int32(100); myData.shapesize = int32(50); myData.color = 'GREEN'; %% DDS에 데이터 쓰기 dp.write(myData);

Shapes Demo에는 아래와 같이 단일 녹색 삼각형이 표시됩니다:

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

다른 발행 패턴:

%% 1Hz로 선상의 녹색 삼각형 for i=1:10 myData.x = int32(20 + 10*i); myData.y = int32(40 + 10*i); dp.write(myData); pause(1); end %% 20Hz로 원 위의 녹색 삼각형 for i=1:1000 angle = 10*pi * (i/200); myData.x = int32(100 + (50 * cos(angle))); myData.y = int32(100 + (50 * sin(angle))); myData.shapesize = int32(40); myData.color = 'GREEN'; dp.write(myData); pause(0.05); end

데모는 이러한 패턴을 아래와 같이 시각화합니다:

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기 RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

Shapes Demo에서 데이터 발행

Shapes Demo에서 Square 토픽에 대한 발행자를 생성합니다. 색상(예: 주황색)을 선택하고 QoS 기본값을 유지합니다. 데모는 30ms마다 사각형의 X,Y 위치를 브로드캐스트합니다.

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기 RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

MATLAB에서 데이터 구독

Square DataReader를 사용하여 Shapes Demo에서 데이터를 소비합니다. 1초 간격으로 10개 샘플 읽기:

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

MATLAB은 아래 스크린샷과 유사한 10개의 메시지를 출력합니다:

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

고급 사용 사례: 변환 및 시각화

양방향 통신이 확립된 후, 수신된 사각형 데이터의 X와 Y 좌표를 교환하고, 빨간 삼각형으로 재발행하며, 시간에 따른 X 위치를 플로팅합니다. 아래 MATLAB 스크립트는 이 워크플로를 보여줍니다:

%% 100개 샘플용 배열 할당 xArray = zeros(1,100); %% 수집, 변환, 재발행 for i=1:100 [myData, status] = dp.read(); if ~isempty(myData) x = myData(1).x; y = myData(1).y; xArray(i) = x; yArray(i) = y; myData(1).y = x; myData(1).x = y; myData(1).color = 'RED'; dp.write(myData(1)); end pause(0.05); end %% X-위치 플로팅 t = 1:100; plot(t,xArray); legend('xPos'); xlabel('Time'); ylabel('Position'); title('X Positions');

이제 Shapes Demo에는 주황색 사각형을 반영하는 빨간 삼각형이 표시되고, MATLAB은 X-위치 플롯을 렌더링합니다:

RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기 RTI Connext DDS 통합으로 MATLAB에서 실시간 IoT 데이터 활용하기

DDS를 MATLAB과 통합하면 데이터 수집, 주입, 분석이 간소화됩니다. 이 데모는 간단한 Shapes 애플리케이션을 사용하지만, 동일한 접근 방식은 모든 DDS 기반 IoT 데이터 소스에 적용됩니다. MATLAB의 DDS 통합에 대한 더 깊은 통찰을 얻으려면 MathWorks의 MATLAB DDS 통합 페이지를 방문하세요. Connext DDS를 더 탐색하려면 여기 개발자 리소스에 액세스하세요.

사물 인터넷 기술

  1. MQTT vs DDS: IoT에 적합한 M2M 프로토콜 선택
  2. 하노버 메세 교훈: 산업 운영에 IT 활용하는 5대 검증 전략
  3. 사물 인터넷에서 데이터 규정 준수 보장
  4. 제조 시설의 IoT 준비도: 실용적 가이드
  5. IoT 민주화: 차세대 위성 IoT가 보편적이고 저렴한 연결성 제공
  6. IoT 데이터의 가치 실현: 안전하고 통찰력 중심의 전략
  7. IoT 데이터를 비즈니스 가치로 전환: 실용 가이드
  8. IoT 데이터 활용으로 제조 우수성 달성하기
  9. 2026년 주목할 클라우드 기반 IoT 분석 플랫폼 11선
  10. MATLAB 데이터 타입 완벽 가이드: 종류, 변환, 확인 방법