첫 번째 MQTT 커넥터 구축 방법
이 가이드를 통해 MQTT 토픽을 Tulip으로 가져오는 방법을 알아보세요
이 가이드에서는 다음 내용을 배울 수 있습니다:* Tulip에서 MQTT 데이터 소스를 설정하는 방법
Tulip에 연결하고자 하는 정상 작동 중인 MQTT 브로커가 있다면, 이제 MQTT 데이터 소스를 설정하고 첫 번째 기계 모니터링 앱을 만들 준비가 된 것입니다.
MQTT 연결 설정
MQTT 커넥터는 커넥터 페이지 또는 머신 데이터 소스 페이지에서 생성할 수 있습니다. 설정 과정은 동일하며, 한 곳에서 생성된 연결은 다른 곳에서도 표시됩니다.
커넥터 생성에 대한 자세한 내용은 다음에서 확인할 수 있습니다: 커넥터 구성 방법
기기 데이터 소스로 설정하기
- 메뉴 바의 ‘Shop Floor’ 탭 아래에 있는 ‘Machines’ 옵션을 클릭하세요.

- 그런 다음 왼쪽 사이드바에서 ‘기계 데이터 소스’를 클릭합니다.

- 그런 다음 ‘기계 데이터 소스’ 페이지에서 ‘기계 데이터 소스 생성’을 클릭합니다.

- 데이터 소스 이름을 지정하고, 커넥터 호스트를 선택한 다음, MQTT와 원하는 MQTT 버전을 선택합니다.

- 브로커에 연결할 연결 정보를 추가합니다.

MQTT 연결 구성
실행 위치
'실행 위치'는 브로커와의 연결을 처리할 커넥터 호스트를 나타냅니다. 브로커가 외부 인터넷에서 접근할 수 없는 경우, MQTT 브로커에 액세스하려면 온프레미스 커넥터 호스트가 필요합니다. 커넥터 호스트를 테스트하기 전에 다음 버전 요구 사항을 확인하십시오.
Only On Prem Connector Hosts of version 261 (LTS11) or higher support MQTT data sources.Only Edge Devices on OS56 or higher Support MQTT data sources.
MQTT 대 MQTTs
MQTTs는 기본적으로 MQTT에 보안 계층이 추가된 것입니다. MQTTs를 선택하면 클라이언트에서 브로커로의 통신에 SSL/TLS가 사용됩니다. 또한 MQTTs는 개인 키, 인증서 및/또는 신뢰할 수 있는 CA 토큰을 지원합니다. MQTT만 선택한 경우, 사용자 이름과 비밀번호를 통한 인증 또는 클라이언트 ID를 통한 사용자 이름 인증만 사용할 수 있습니다.
클라이언트 ID
클라이언트 ID는 Tulip 클라이언트가 MQTT 브로커에 자신을 식별하는 방법입니다. 가장 기본적인 수준에서 이는 주로 인증 및 접근 제어에 사용됩니다. 이 값은 고정된 값으로 설정하거나, “자동 생성” 플래그를 활성화하여 임의의 값으로 설정할 수 있습니다.
Keep Alive
Keep Alive는 클라이언트가 브로커와의 통신 연결을 유지하고자 하는 최대 시간(초 단위)입니다. 해당 기간 동안 브로커에서 클라이언트로 메시지가 전송되지 않으면, 클라이언트는 브로커에 여전히 활성 상태임을 알리는 메시지를 보냅니다.
세션 정리
MQTT 클린 세션(Clean Session) 플래그는 세션의 수명을 결정합니다. 이 옵션이 선택된 경우 새로운 세션이 시작되며, 연결이 끊어지면 모든 세션 데이터(구독, 대기열에 있는 메시지)가 삭제됩니다. 선택되지 않은 경우, 브로커는 이전 세션을 재개하려고 시도하며, 클라이언트가 다시 연결할 때 구독 및 메시지를 보존합니다.
서비스 품질(QoS) 수준
서비스 품질(QoS) 설정은 발신자와 수신자 간의 메시지 전달 신뢰성을 결정합니다. 이 설정은 커넥터 수준에서 구성할 수 있으며, 커넥터 함수 구성을 통해 재정의할 수 있습니다. 세 가지 수준이 제공됩니다:
- QoS 0(최대 1회): 메시지는 확인 없이 전송됩니다. 이는 가장 빠르지만 신뢰성이 가장 낮은 옵션이며, 전달이 보장되지 않습니다.
- QoS 1(최소 한 번): 메시지 전달이 보장되지만, 발신자가 확인 응답을 받지 못하면 메시지가 중복될 수 있습니다.
- QoS 2 (정확히 한 번): 가장 신뢰할 수 있는 옵션으로, 각 메시지가 정확히 한 번만 전달되도록 보장합니다. 이 경우 오버헤드가 더 많이 발생하며, 세 가지 중 가장 느립니다.
MQTT 인증 정보
개인 키
Node.js 인증 구성의 key 속성을 업데이트합니다.
PEM 형식의 개인 키. PEM은 개인 키를 암호화할 수 있는 옵션을 제공합니다. 암호화된 키는 options.passphrase를 사용하여 복호화됩니다. 서로 다른 알고리즘을 사용하는 여러 키는 암호화되지 않은 키 문자열 또는 버퍼의 배열, 또는 다음 형식의 객체 배열로 제공될 수 있습니다. 객체 형식은 배열 내에서만 사용할 수 있습니다. object.passphrase는 선택 사항입니다. 암호화된 키는 object.passphrase가 제공된 경우 이를 사용하여 복호화되며, 제공되지 않은 경우 options.passphrase를 사용하여 복호화됩니다.
인증서
Node.js 인증 구성의 cert 속성을 업데이트합니다.
PEM 형식의 인증서 체인. 개인 키 하나당 하나의 인증서 체인을 제공해야 합니다. 각 인증서 체인은 제공된 개인 키에 대한 PEM 형식의 인증서로 시작하여, 그 뒤에 PEM 형식의 중간 인증서(있는 경우)가 순서대로 이어져야 하며, 루트 CA는 포함되지 않아야 합니다(루트 CA는 상대방이 미리 알고 있어야 함, ca 참조). 여러 인증서 체인을 제공할 때, key에 있는 개인 키의 순서와 동일할 필요는 없습니다. 중간 인증서가 제공되지 않으면 피어는 인증서를 검증할 수 없으며, 핸드셰이크가 실패합니다.
신뢰할 수 있는 CA
Node.js 인증 구성의 ca 속성을 업데이트합니다.
선택적으로 신뢰할 수 있는 CA 인증서를 재정의할 수 있습니다. 기본값은 Mozilla에서 선별한 잘 알려진 CA를 신뢰하는 것입니다. 이 옵션을 사용하여 CA를 명시적으로 지정하면 Mozilla의 CA가 완전히 대체됩니다. 값은 문자열이나 Buffer, 또는 문자열 및/또는 Buffer의 배열일 수 있습니다. 모든 문자열이나 Buffer에는 여러 PEM CA가 연결되어 포함될 수 있습니다. 연결이 인증되려면 피어의 인증서가 서버가 신뢰하는 CA로 연결될 수 있어야 합니다. 잘 알려진 CA로 연결되지 않는 인증서를 사용할 경우, 해당 인증서의 CA를 신뢰할 수 있는 CA로 명시적으로 지정해야 하며, 그렇지 않으면 연결 인증에 실패합니다. 상대방이 기본 CA 중 하나와 일치하지 않거나 연결되지 않는 인증서를 사용하는 경우, ca 옵션을 사용하여 상대방의 인증서가 일치하거나 연결될 수 있는 CA 인증서를 제공하십시오. 자체 서명된 인증서의 경우, 해당 인증서 자체가 CA 역할을 하므로 반드시 제공되어야 합니다. PEM 인코딩된 인증서의 경우, 지원되는 유형은 "TRUSTED CERTIFICATE", "X509 CERTIFICATE" 및 "CERTIFICATE"입니다. tls.rootCertificates 항목도 참조하십시오.
연결 테스트
'Test'를 클릭하여 브로커에 성공적으로 연결되는지 확인하십시오.

테스트가 성공하면 머신을 설정할 준비가 된 것입니다. '저장'을 클릭한 다음, '머신 유형' 페이지로 이동하여 첫 번째 머신 범주를 설정하십시오.
원하는 정보를 찾으셨나요?
community.tulip.co로 이동하여 질문을 게시하거나 다른 사용자들이 비슷한 문제를 겪은 적이 있는지 확인해 보세요!

