8. Node Red 설치, 사용 실습 - sunbang123/Smart_device GitHub Wiki
- Node-RED는 IBM사에서 만든 프로그래밍 도구이며 오픈소스로 공개되어 있음.
- 처음부터 IoT를 위해서 만들어졌기 때문에 IoT기기나 API(응용 프로그램 인터페이스) 또는 여러 서비스를 시각적으로 쉽게 연결 가능.
- Node-RED는 각 노드를 선으로 연결해서 플로우를 만드는 방식. 2,600여 개의 노드가 등록.
- IoT 시스템의 기기들은 많은 데이터를 발생함. 컨트롤러의 주요 역할은 디바이스 통제, 외부 시스템 연계, 그리고 대시보드 기능이 있음.
- Node-RED는 시각적으로 블록을 연결하여 응용 시스템을 개발하는 방식을 지원함.
- Node-RED는 로우 코딩 방식에서 발생할 수 있는 복잡성과 오류를 줄이고, 간단하게 시스템을 개발할 수 있는 방법을 제공.
로우 코딩 : 코드를 직접 작성하여 응용 시스템을 개발하는 방식
- 인터프리터 언어로 자바스크립트(Javascript)언어를 사용함.
- Node-RED 편집기는 인터넷 브라우저를 사용, Node-RED로 구현한 대시보드도 인터넷 브라우저를 이용하여 접속함.
- 구글에 "node.js" 검색 후

cmd 창에서 설치 확인
- 설치 후 cmd 창을 열고 아래 실행
npm install -g --unsafe-perm node-red

node-red

- node-red를 커멘드에서 실행한 후 주소창에 "localhost:1880"를 입력한다.
- Node-RED에서 빨간 배포 버튼을 누르면, 현재 편집 중인 플로우(워크플로우)가 런타임 환경으로 배포됨.
- 현재 작성한 편집 내용이 실행 가능한 코드로 변환되어 실행되도록 준비되며, 변경된 노드 및 흐름은 실행 중인 런타임 환경에 반영되어 실행됨.
- 디버그 창은 "Debug" 패널로 불리며, 런타임 중에 노드가 전달하는 메시지를 실시간으로 표시하여 디버깅에 도움을 줌.
- 이 창에서는 또한 메시지의 속성을 검사하고, 다른 노드에 메시지를 보내는 작업도 수행함.
node-red-dashboard 설치

- Node-RED에서 우측 창은 "Palette" 또는 "툴박스"라고도 불리며, 노드를 선택하고 워크플로우에 추가할 수 있는 노드 라이브러리를 포함.

- 팔렛트 관리에 들어가서 node-red-dashboard 를 설치.

- Slider와 Gauge를 연결하고 배포함.


- 배포 완료
- 오픈소스이기 때문에 설치가 용이해서 좋았음. 또한, 데이터를 시각적으로 확인할 수 있어서 좋았음.
- 인터페이스에 적응 하느라 다소 헤매긴 했지만, 블록을 이용하여 코딩을 하기 때문에, 빠르고 쉽게 작업할 수 있어서 편리했음.