Tulip API와 함께 Node-RED 사용하기

Prev Next

Tulip API와 Node-RED 함께 사용하기

자신의 기기에서 Node-RED를 사용 중이며 Tulip API로 데이터를 전송하고자 하는 경우, Tulip은 API 엔드포인트용 Node-RED 노드를 제공합니다.

이러한 노드는 Node-RED를 지원하는 튤립 기기에 사전 설치되어 있지만, 자체 Node-RED 인스턴스를 실행 중인 경우에도 Node-RED 라이브러리에서 @tulip/node-red-tulip-api 패키지를 설치하여 노드를 설치할 수 있습니다.

이 문서에서는 다음 내용을 배우게 됩니다…

  • Node-RED 환경에 Tulip API 노드를 추가하는 방법
  • Tulip Machine Attribute API를 사용하여 Tulip Machine으로 데이터를 전송하는 방법
  • Tulip Tables API 노드를 사용하여 Tulip Tables를 읽기, 쓰기 및 구성하는 방법

필수 조건:

Tulip의 Edge MC에서 Node-RED를 실행 중이신가요? 이 시작 가이드를 참조하세요

설치

1. Node-RED 팔레트에 @tulip/node-red-tulip-api를 추가하십시오

Node-RED 편집기를 열고 메뉴 → 팔레트 관리로 이동하십시오

'설치' 탭을 클릭한 다음 @tulip/node-red-tulip-api를 검색하세요

참고: 명령줄을 통해 패키지를 설치할 수도 있습니다. Node-RED 사용자 디렉터리로 이동(예: cd ~/.node-red/)한 후 npm install @tulip/node-red-tulip-api를 실행하세요

2. 설치가 성공적으로 완료되었는지 확인하세요

설치가 성공하면 팔레트(왼쪽 사이드바)의 ‘Tulip’ 카테고리 아래에 tulip-machine-attribute 및 tulip-tables 노드가 표시됩니다.

Tulip Machine Attribute 노드 사용

필수 조건: ‘Machine Attributes API 사용 방법’을 읽었으며, attributes:report 권한이 설정된 API 서비스 계정이 있고, 데이터를 전송할 특정 머신 속성이 있어야 합니다.

1. Tulip Machine Attribute 노드를 플로우로 드래그 앤 드롭합니다.

참고: 오른쪽 사이드바에서 도움말 탭을**선택하면 노드 사용 방법에 대한 문서를 확인할 수 있습니다.

2. 대상 머신 속성에 맞게 노드를 구성합니다.

다음 머신 속성을 예시로 사용하겠습니다. 머신 데이터 소스는 Tulip API임을 유의하십시오.

Tulip 머신 “Example Tulip API Machine”에 대한 정수형 머신 속성.

노드를 더블 클릭하여 편집기를 연 다음, 이 머신 속성에 맞게 노드를 구성하십시오. 예를 들어, 노드를 다음과 같이 구성할 수 있습니다:

Tulip 머신 속성 노드 구성.

Tulip API 인증 노드는 다음과 같이 구성합니다(인증 자격 증명을 입력하십시오):

서비스 계정에 대한 Tulip API 인증 구성.

3. 데이터 전송 테스트.

Machine Attribute 엔드포인트로 데이터를 전송하기 위해 나머지 플로우를 생성합니다.

간단한 테스트 흐름의 예로는 정수(Integer) 엔드포인트로 값 0을 전송하는 것이 있습니다. 머신 속성 노드의 입력을 msg.payload=0으로 구성된 Inject 노드에 연결합니다(아래 그림 참조). 출력은 전체 msg를 출력하는 디버그 노드에 연결합니다.

'배포(Deploy)'를 클릭하여 플로우를 배포합니다. Inject 노드를 클릭하면 상태 코드 204가 포함된 디버그 메시지가 표시되어야 합니다.

정수 머신 속성에 정수 값 0을 전송하는 테스트 흐름.

해당 데이터는 Tulip 인스턴스의 머신 속성 항목에도 표시되어야 합니다.

Tulip Tables API 노드 사용

전제 조건: ‘Table API 사용 방법’을 읽었으며, tables:read 및 tables:write 권한이 설정된 API 서비스 계정이 있고, 데이터를 전송할 특정 테이블이 있어야 합니다.

1. Tulip Tables 노드를 플로우로 드래그 앤 드롭합니다.

참고: 오른쪽 사이드바에서 도움말 탭을**선택하여 노드 사용 방법에 대한 문서를 확인하세요.

2. 특정 Tulip Tables API 쿼리에 맞게 노드를 구성합니다.

먼저 노드를 두 번 클릭하여 편집기를 엽니다. Tulip API 인증 구성 노드를 tables:read 및/또는 tables:write 권한(테이블 쿼리가 읽기 작업인지 쓰기 작업인지에 따라 다름)을 가진 API 서비스 계정의 세부 정보와 일치하도록 설정합니다:

Tables API 서비스 계정 구성

쿼리 유형을 실행하려는 쿼리로 설정합니다. 그러면 유형에 따라 나머지 쿼리 옵션이 표시됩니다.

이 예제에서는 '레코드 나열( List records )'을 선택하여 ID가 9YHHckKcFTXHQpXEu이고 Status 필드가 “REVIEW”인 테이블의 레코드를 나열하겠습니다.

테이블 API 노드 구성

테이블 API 노드의 “필터” 필드에서 JSON을 확장한 모습입니다.

3. 데이터 전송 테스트.

Tables API 엔드포인트로 데이터를 전송하기 위해 나머지 흐름을 생성합니다.

테스트 흐름의 예시로는, 빈 Inject 노드를 Tables API 노드의 입력에 연결하여 API 요청 전송을 트리거할 수 있습니다. 또한 msg.payload를 출력하는 디버그 노드를 추가하여 파싱된 응답을 확인할 수도 있습니다.

your-subdomain.tulip.co/tables/9YHHckKcFTXHQpXEu에 있는 다음 테이블로 구성된 테이블 API 요청을 전송했을 때의 결과는 아래와 같습니다. 응답에는 Status 필드가 REVIEW로 설정된 두 개의 테이블 항목이 반환된다는 점에 유의하십시오.

여러 레코드가 포함된 쿼리 대상 테이블입니다. 필터링에 사용할 수 있는 Status 필드가 포함되어 있습니다.

Tulip 테이블에 “List Records” Tables API 요청을 전송하는 흐름과 응답 페이로드.

추가 자료