Post

Node-RED

Node-RED

Node-RED 시작하기

왜 Node-RED인가?

Node-RED는 드래그 앤 드롭 방식으로 데이터 흐름을 구성할 수 있는 로우코드(Low-code) 도구다.
MQTT, HTTP, DB, 파일, API 등 다양한 시스템을 빠르게 연결할 수 있어 PoC(개념 검증)시스템 연계 구조 파악에 매우 적합하다.

특히 짧은 시간 안에 이 가능하다는 점이 장점이다.

  • 데이터 흐름 전체 구조 이해
  • 여러 시스템을 잇는 허브 역할 체험
  • 시각적으로 설명 가능한 결과물 생성

개발 환경

  • macOS
  • Node.js v25.2.1
  • npm v11.7.0

Node.js 설치 확인

1
2
node -v
npm -v

Node-RED 설치

1
npm install -g node-red

Node-RED 실행

1
node-red

터미널에 아래와 같은 로그가 출력되면 정상 실행이다.

1
Server now running at http://127.0.0.1:1880/

브라우저 접속

1
http://127.0.0.1:1880/

Node-RED의 개념

Node-RED는 함수 호출 방식이 아니다. 모든 것은 메시지(msg)가 흘러가는 구조다.

1
[노드] -- msg -> [노드] -- msg -> [노드]
  • msg는 자바스크립트 객체
  • 기본 데이터는 msg.payload
  • 노드는 msg를 받아서 수정해서 넘김.

msg 구조

Inject -> Debu만 연결했을 때 나오는 기본 메시지 예시

1
2
3
4
{
  "_msgid": "c1f4d8e9e6a2",
  "payload": 1700000000000
}
  • _msgid : Node-RED 내부 식별자
  • payload : 실제 우리가 쓰는 데이터

Function 노드

Function 노드는 자바스크립트 코드로 msg를 가공하는 노드

  • if / for / 조건문 가능
  • 데이터 포맷 변경
  • 값 검증
  • 필드 추가

실습 1 : 버튼 -> 문자열 로그 찍기

실습1

실습 2 : Function 노드로 데이터 가공하기

버튼을 누르면 설정해둔 데이터 구조(JSON)가 로그로 찍히게 할 수 있다. 스크린샷 2026-01-07 오후 8 02 31 스크린샷 2026-01-07 오후 8 00 05

실습 3 : 랜덤 온도 센서 데이터 만들기

  • Debug시 msg 설정

스크린샷 2026-01-12 오후 12 37 28

  • 온도에 따라 상태값 Return

스크린샷 2026-01-12 오후 12 39 03

마치며

이번에 Node-RED를 이용해 이벤트 발생 → 데이터 가공 → 로그 확인이라는 기본 데이터 흐름을 직접 구성해봤다. 단순히 노드를 연결하는 수준이 아니라 msg.payload 구조를 설계하고 실제 센서 데이터를 가정한 JSON 형태로 가공해보면서 단순한 시각화 도구가 아니라, 데이터 파이프라인을 빠르게 검증할 수 있는 PoC 도구라는 점을 체감할 수 있었다.

다음 기회에 이 흐름을 MQTT와 연결해서 실제 시스템 간 데이터가 오가는 구조로도 확장해보자.

This post is licensed under CC BY 4.0 by the author.