방법: Node-RED와 함께 시리얼 사용
  • 21 Oct 2024
  • 2 읽을 분
  • 기여자

방법: Node-RED와 함께 시리얼 사용


기사 요약

방법: Node-RED에서 시리얼 사용

직렬 장치 연결, node-RED에서 직렬 포트 구성, node-RED 라이브러리 흐름 소개에 대한 가이드

이 문서에서는 Node-RED를 사용하여 Tulip Edge 장치에서 직렬 데이터를 읽고 쓰는 방법을 설명합니다. 각 유형의 에지 디바이스에 있는 다양한 직렬 포트에 연결하는 방법과 직렬 통신을 사용하는 두 가지 Tulip Node-RED 라이브러리 플로우에 대해 다룹니다.

필요한 것은 다음과 같습니다:

  • Tulip 계정에 등록된 Edge IO 또는 Edge MC

  • 직렬을 통해 Edge 장치와 통신할 장치

    • Edge IO는 직렬 장치를 지원합니다:

      • RS-232

      • RS-485(반이중)

      • USB를 통한 직렬

        • Edge MC는 다음을 사용하는 직렬 장치를 지원합니다:
      • 직렬 over USB

      • TX/RX가 있는 TTY UART

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 편집기를 사용하여 팔레트에 노드를 추가할 수 있습니다.

직렬 노드는 네트워크 탭 아래에 나타납니다:

Node RED Serial Setup Port Config

직렬 입력을 읽으려면 직렬 노드를 끌어다 놓습니다. 직렬 출력을 쓰려면 직렬 출력 노드를 끌어다 놓습니다. 어느 노드에서든 직렬 포트를 구성하려면 "직렬 포트" 속성의 편집 버튼을 클릭합니다:

Node RED Serial Set Up Edit Port Modal

그런 다음 다음 속성을 입력합니다:

  • 직렬 포트: 직렬 포트의 devpath(예: /dev/ttyS0). 이는 연결 중인 엣지 디바이스와 물리적 직렬 포트에 따라 다릅니다( 엣지 IO 또는 엣지 MC에 대한 문서 참조). 아래 그림과 같이 검색 버튼을 클릭하면 사용 가능한 경로를 확인할 수 있습니다.

Node RED Serial Setup Add New Port

참고: 현재 Node-RED에서는 USB 디바이스 핫 플러그가 지원되지 않습니다. 즉, 장치가 부팅될 때 USB 장치가 연결되어 있어야 Node-RED에 액세스할 수 있습니다.

  • 설정: 전송 속도 및 기타 설정은 통신 중인 직렬 장치의 전송 속도와 일치해야 합니다.

Node RED Serial Setup Settings

  • 입력: 노드가 메시지를 출력할 시기를 선택합니다. 옵션에는 줄 바꿈, 쉼표 또는 공백과 같은 분할 문자 대기, 출력 길이가 고정된 경우 n 문자마다 대기 또는 n초마다 출력을 받도록 타임아웃을 설정할 수 있는 옵션이 있습니다.

Node RED Serial Setup Input

  • 출력: 출력 메시지에 문자를 추가합니다(예: 줄 바꿈 다시 추가).

Node RED Serial Setup Output

배포 후 노드 상태가 "연결됨"이면 유효한 직렬 포트에 연결되었음을 알 수 있습니다:

Node RED Serial Setup Connected Status

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를 사용하여 컴퓨터와 통신하기에서 확인하세요.

Node RED Serial Setup Flow1

Tulip Edge 장치에서 직렬 입력을 읽고 Tulip으로 전송하려면 Tables API(테이블에 데이터를 쓰기 위해) 또는 Machine API(머신 속성에 데이터를 쓰기 위해)를 사용할 수 있습니다. 라이브러리 흐름 serial_to_tulip_table은 새줄로 구분된 직렬 입력을 튤립 테이블에 쓰는 방법의 예시입니다. 사용 사례에 맞는 설정으로 직렬 노드와 두 개의 튤립 테이블 노드를 구성해야 합니다. 튤립 API로 Node-RED 사용하기에서 튤립 테이블 API 노드를 사용하는 방법에 대해 자세히 알아보세요.

Node RED Serial Setup Flow2


이 문서가 도움이 되었습니까?