- 인쇄
방법: Node-RED에서 시리얼 사용
직렬 장치 연결, node-RED에서 직렬 포트 구성, node-RED 라이브러리 흐름 소개에 대한 가이드
이 문서에서는 Node-RED를 사용하여 Tulip Edge 장치에서 직렬 데이터를 읽고 쓰는 방법을 설명합니다. 각 유형의 에지 디바이스에 있는 다양한 직렬 포트에 연결하는 방법과 직렬 통신을 사용하는 두 가지 Tulip Node-RED 라이브러리 플로우에 대해 다룹니다.
필요한 것은 다음과 같습니다:
Tulip 계정에 등록된 Edge IO 또는 Edge MC
직렬을 통해 Edge 장치와 통신할 장치
1. 하드웨어 설정: 직렬 장치에 연결
먼저 직렬 주변장치를 엣지 디바이스에 물리적으로 연결해야 합니다.
선택 사항: 먼저 호스트 장치(예: 노트북, 다른 Tulip Edge 장치 등)와 통신하여 Node-RED 흐름을 테스트하려면 널 모뎀이 있는 RS-232 또는 크로스오버 TX/RX 라인이 있는 USB-UART 케이블(전원을 연결하지 않음 )을 사용하여 테스트할 수 있습니다.
호스트 디바이스에서 엣지 디바이스와 통신하기 위해 사용할 수 있는 프로그램의 예는 다음과 같습니다:
- screen(MacOS): 직렬 통신을 위한 명령줄 유틸리티입니다.
- PuTTY(Windows/Linux): 직렬 콘솔 역할을 할 수 있는 무료 터미널 에뮬레이터.
- Node-RED: 호스트 디바이스에서 실행 중인 Node-RED 인스턴스에서 상호 보완적인 Node-RED 플로우를 만듭니다.
2. Node-RED 설정: 직렬 포트 구성
Node-RED의 직렬 통신을 위해 node-red-contrib-serialport
패키지의 노드를 사용할 것입니다. Tulip Edge 기기 OS44+의 경우 이 패키지가 사전 설치되어 있습니다. 그렇지 않은 경우 여기에 설명된 대로 Node-RED 편집기를 사용하여 팔레트에 노드를 추가할 수 있습니다.
직렬 노드는 네트워크
탭 아래에 나타납니다:
직렬 입력을 읽으려면 직렬
노드를 끌어다 놓습니다. 직렬 출력을 쓰려면 직렬
출력 노드를 끌어다 놓습니다. 어느 노드에서든 직렬 포트를 구성하려면 "직렬 포트" 속성의 편집 버튼을 클릭합니다:
그런 다음 다음 속성을 입력합니다:
- 직렬 포트: 직렬 포트의 devpath(예: /dev/ttyS0). 이는 연결 중인 엣지 디바이스와 물리적 직렬 포트에 따라 다릅니다( 엣지 IO 또는 엣지 MC에 대한 문서 참조). 아래 그림과 같이 검색 버튼을 클릭하면 사용 가능한 경로를 확인할 수 있습니다.
참고: 현재 Node-RED에서는 USB 디바이스 핫 플러그가 지원되지 않습니다. 즉, 장치가 부팅될 때 USB 장치가 연결되어 있어야 Node-RED에 액세스할 수 있습니다.
- 설정: 전송 속도 및 기타 설정은 통신 중인 직렬 장치의 전송 속도와 일치해야 합니다.
- 입력: 노드가 메시지를 출력할 시기를 선택합니다. 옵션에는 줄 바꿈, 쉼표 또는 공백과 같은 분할 문자 대기, 출력 길이가 고정된 경우
n
문자마다 대기 또는n초마다
출력을 받도록 타임아웃을 설정할 수 있는 옵션이 있습니다.
- 출력: 출력 메시지에 문자를 추가합니다(예: 줄 바꿈 다시 추가).
배포 후 노드 상태가 "연결됨"이면 유효한 직렬 포트에 연결되었음을 알 수 있습니다:
3. 노드-RED 라이브러리 흐름: Tulip과 통신하기
Tulip은 Node-RED를 사용하여 Tulip Edge 장치에서 직렬 입력을 읽고 직렬 출력을 쓰기 위한 여러 라이브러리 플로우를 제공합니다. Tulip 라이브러리 플로우를 가져오는 방법에 대한 자세한 내용은 Tulip Node-RED 플로우 가져오 기를 참조하세요.
Tulip 앱에서 Tulip Edge 장치에 직렬 출력을 쓰려면 serial_http_endpoint
플로우를 사용하고 Edge 장치 커넥터 호스트에서 실행 중인 Tulip 인스턴스에서 HTTP 커넥터를 설정하면 됩니다. 이 커넥터에 /serial
HTTP 엔드포인트에 POST 요청을 전송하는 커넥터 함수를 추가하고 앱에서 해당 커넥터 함수를 호출해야 합니다. 커넥터 호스트를 사용하여 Node-RED에 값을 쓰는 방법에 대한 자세한 내용은 Edge MC의 커넥터 호스트 및 Node-RED를 사용하여 컴퓨터와 통신하기에서 확인하세요.
Tulip Edge 장치에서 직렬 입력을 읽고 Tulip으로 전송하려면 Tables API(테이블에 데이터를 쓰기 위해) 또는 Machine API(머신 속성에 데이터를 쓰기 위해)를 사용할 수 있습니다. 라이브러리 흐름 serial_to_tulip_table은
새줄로 구분된 직렬 입력을 튤립 테이블에 쓰는 방법의 예시입니다. 사용 사례에 맞는 설정으로 직렬 노드와 두 개의 튤립 테이블 노드를 구성해야 합니다. 튤립 API로 Node-RED 사용하기에서 튤립 테이블 API 노드를 사용하는 방법에 대해 자세히 알아보세요.