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 : 버튼 -> 문자열 로그 찍기
실습 2 : Function 노드로 데이터 가공하기
버튼을 누르면 설정해둔 데이터 구조(JSON)가 로그로 찍히게 할 수 있다.
실습 3 : 랜덤 온도 센서 데이터 만들기
- Debug시 msg 설정
- 온도에 따라 상태값 Return
마치며
이번에 Node-RED를 이용해 이벤트 발생 → 데이터 가공 → 로그 확인이라는 기본 데이터 흐름을 직접 구성해봤다. 단순히 노드를 연결하는 수준이 아니라 msg.payload 구조를 설계하고 실제 센서 데이터를 가정한 JSON 형태로 가공해보면서 단순한 시각화 도구가 아니라, 데이터 파이프라인을 빠르게 검증할 수 있는 PoC 도구라는 점을 체감할 수 있었다.
다음 기회에 이 흐름을 MQTT와 연결해서 실제 시스템 간 데이터가 오가는 구조로도 확장해보자.
This post is licensed under CC BY 4.0 by the author.