[이 글과 관련된 글]
2025.12.23 - [AI & Software] - 공장 자동화의 세대교체-Node.js와 오픈소스로 만드는 스마트 팩토리 실전 가이드
0. 환경 설정 및 실전 도입 가이드
현업에서 바로 사용할 수 있도록 환경을 세팅하는 방법입니다.
[1단계: Node.js 설치]
- LTS 버전 권장: 공장 현장에서는 안정성이 최우선입니다. Node.js 공식 홈페이지에서 LTS 버전을 설치하세요.
[2단계: 핵심 도구 설치]
터미널(CMD)에서 아래 명령어를 순차적으로 입력합니다.
# Node-RED 전역 설치
npm install -g --unsafe-perm node-red
# 프로젝트 폴더 생성 및 산업용 라이브러리 설치
mkdir smart-factory && cd smart-factory
npm init -y
npm install node-opcua node-modbus-serial axios
[3단계: 현장 운용 꿀팁 (PM2)]
프로그램이 갑자기 꺼지면 안 되기에, 재부팅 시 자동 실행을 도와주는 PM2 설치가 필수입니다. (Process manager)
npm install -g pm2
pm2 start node-red
pm2 save
1. Node-RED: 대시보드 및 알림 자동화 샘플
Node-RED는 코드를 직접 짜기보다 '노드'라는 블록을 연결하는 방식입니다. 아래는 특정 센서 데이터(온도)가 기준치를 넘었을 때 경고를 보내는 로직의 JSON 샘플입니다.
[코드 샘플 (Flow JSON)]
JSON
[
{ "id": "n1", "type": "inject", "topic": "temp", "payload": "25", "name": "가상 온도 발생" },
{ "id": "n2", "type": "function", "name": "임계값 체크", "func": "if(msg.payload > 30) { return msg; } else { return null; }" },
{ "id": "n3", "type": "debug", "name": "경고 알림", "active": true }
]
- 작동 원리: 가상의 온도 데이터(25도)가 들어오면 '임계값 체크' 노드에서 30도가 넘는지 확인합니다. 조건이 맞으면 우측 디버그 창에 경고를 출력합니다.
[참고 사이트]
- 공식 홈페이지: nodered.org
- GitHub Repository: github.com/node-red/node-red
- 특징: 수천 개의 라이브러리(Nodes)를 검색하여 설치할 수 있는 생태계가 매우 강력합니다.
2. Node-OPCUA: PLC 데이터 수집 클라이언트 샘플
산업용 표준인 OPC-UA 서버(PLC 등)에 접속하여 특정 태그의 데이터를 읽어오는 가장 기초적인 Node.js 코드입니다.
[코드 샘플 (JavaScript)]
JavaScript
const { OPCUAClient, AttributeIds } = require("node-opcua");
const endpointUrl = "opc.tcp://localhost:4840"; // PLC 또는 서버 주소
async function main() {
const client = OPCUAClient.create({ endpointMustExist: false });
await client.connect(endpointUrl);
const session = await client.createSession();
// 특정 주소(NodeId)의 데이터 읽기 (예: 온도 센서)
const dataValue = await session.read({
nodeId: "ns=1;s=TemperatureSensor",
attributeId: AttributeIds.Value
});
console.log("현재 온도:", dataValue.value.value);
await session.close();
await client.disconnect();
}
main();
- 작동 원리: 지정된 PLC IP주소로 접속하여
TemperatureSensor라는 이름의 변수값을 비동기로 읽어옵니다.
[참고 사이트]
- 공식 문서: node-opcua.github.io
- GitHub Repository: github.com/node-opcua/node-opcua
- 특징: 상용 수준의 보안(인증서 방식)을 지원하는 가장 완성도 높은 Node.js 기반 산업용 라이브러리입니다.
3. 관련 오픈소스 프로젝트 추천 사이트 리스트
위 예제들을 더 깊게 공부하거나 실제 현장에 적용할 때 참고하기 좋은 사이트들입니다.
| 프로젝트명 | 주요 용도 | 관련 URL |
|---|---|---|
| Awesome IoT | IoT 관련 모든 오픈소스 큐레이션 | GitHub 바로가기 |
| Modbus-Serial | 구형 장비(Modbus) 통신 라이브러리 | GitHub 바로가기 |
| Johnny-Five | 로봇 제어 및 아두이노 연동 | johnny-five.io |
전문가 팁: 처음 시작하신다면 Node-RED를 먼저 설치해서 GUI 환경에서 감을 익히신 후, 복잡한 비즈니스 로직이나 보안이 필요한 시점에 Node-OPCUA나 직접 코딩 방식으로 넘어가는 것을 추천 드립니다.
'AI & Software' 카테고리의 다른 글
| 2026년 Front-End 개발 언어, 아키텍처, AI 혁신 방향 (0) | 2025.12.27 |
|---|---|
| 개발자의 등대- 실무 중심 기술 블로그 정리 (0) | 2025.12.27 |
| 공장 자동화의 세대교체(1)-Node.js와 오픈소스로 만드는 스마트 팩토리 실전 가이드 (0) | 2025.12.24 |
| 초등학생도 따라하는 옵시디언(Obsidian) 동기화 Git으로 무료 자동화 (0) | 2025.12.24 |
| 구글 Gemini Opal과 Super Gems 어떻게 써먹을까 (1) (1) | 2025.12.23 |
