Podman으로 PLCnext에 Node-RED 설치 단계별 가이드
Podman으로 PLCnext에 Node-RED 설치하는 방법
펌웨어 2023.0부터 Podman(https://podman.io/)이 PLCnext 운영 체제에 설치되어 있습니다. Podman은 Docker와 같은 기능을 수행합니다. 이 구현은 최종 사용자에게 더 간단한 Node-RED 설치를 보장합니다.
중요: PLCnext가 펌웨어 업데이트마다 겪는 변화로 인해 이 절차는 향후 작동하지 않을 수 있습니다. 그런 경우 이 문서가 업데이트될 것입니다.
작성일: 2024-05-03
최종 수정: 2024-03-11
요구 사항
컨트롤러: AXC F 1152 - AXC F 2152 - AXC F 3152
저장소: AXC F 1152 / 2152용 SD 메모리 2GB 이상
펌웨어: 2023.0 LTS 이상
1. 설치 단계:
1.1. SSH 클라이언트로 접속:
1.2. root 사용자로 접속:
- PLCnext에 로그인한 후
su 명령을 사용해 root 사용자로 접속합니다.
su
- 아직 root 암호를 만들지 않았다면
sudo passwd root 명령으로 생성합니다.
sudo passwd root
참고: admin과 root 사용자는 다릅니다. root 사용자의 암호를 다르게 설정해도 "admin" 사용자에게는 영향을 주지 않습니다.
1.3. Node-RED 설치:
- root 사용자로 로그인한 후 다음 명령으로 공식 Node-RED 이미지 2.2.2 버전을 설치할 수 있습니다:
podman run -d -p 1880:1880 --name nodered --restart always docker.io/nodered/node-red:2.2.2
1.4. 예제 설치:
podman run -d -p 1880:1880 --name nodered --restart always docker.io/fellipem/noderedpxc:alarms
podman run -d -p 1880:1880 --name nodered --restart always docker.io/fellipem/noderedpxc:opcua
1.5. Node-RED 접속:
- 완료되면 웹 브라우저에
IP_PLC:1880을 입력해 Node-RED를 사용할 수 있습니다. 예를 들어 PLC IP 주소가 192.168.1.10이면 192.168.1.10:1880을 입력합니다.
경고: Docker와 달리 Podman은 PLCnext 내에서 서비스로 실행되지 않습니다. 따라서 PLC를 켤 때 Node-RED가 자동으로 시작되지 않습니다. Node-RED가 PLC와 함께 시작되게 하려면 다음 단계를 따르세요:
2. Node-RED 자동 시작 단계:
2.1. 시작 스크립트 생성:
- PLC에서 다음 명령으로 이 프로젝트를 다운로드합니다:
git clone https://github.com/Fellipem1/PLCnext_Node-RED.git
2.2. 파일 이동:
nodered.sh 파일을 다음 명령으로 /etc/init.d/ 경로로 이동합니다:
mv /opt/plcnext/PLCnext_Node-RED/nodered.sh /etc/init.d/
2.3. 파일 권한 변경:
- 다음 명령으로
nodered.sh 파일 권한을 변경합니다:
chmod +x /etc/init.d/nodered.sh
2.4. 시작 스크립트 등록:
- 시작 스크립트 등록 방법은 사용하는 리눅스 배포판에 따라 다릅니다. PLCnext의 경우 다음 명령을 사용해야 합니다:
update-rc.d nodered.sh defaults
- 위 단계를 따르면 PLCnext를 끄거나 재시작할 때마다 Node-RED가 자동으로 시작될 준비가 됩니다.
참고: 이 단계는 항상 root 사용자로 수행해야 합니다.
3. Node-RED에 라이브러리 설치 단계:
3.1. Node-RED 시작 및 컨테이너 접속:
- root 사용자로 접속해 다음 명령을 입력합니다:
podman start nodered
podman exec -it nodered /bin/bash
cd /data
3.2. 라이브러리 설치:
- 이제 npm 명령으로 원하는 라이브러리를 설치할 수 있습니다. 예:
npm i node-red-contrib-iiot-opcua@3.11.1-4
3.3. 컨테이너 종료 및 Node-RED 재시작:
- 완료되면 Exit를 입력하고 다음 명령으로 Node-RED를 재시작합니다:
podman stop nodered
podman start nodered
4. 일반적인 오류
4.1. 오류 1: mkdir no such file or directory
- 이 오류는
admin 사용자에게 Node-RED 설치 권한이 부족해 발생합니다. root 사용자로 로그인해 해결하세요.
4.2. 오류 2: 인증서 만료
- 이 오류는 PLCnext의 시간과 날짜가 잘못 설정되어 발생합니다.
date 명령으로 시간과 날짜를 확인할 수 있습니다. - PLCnext의 시간을 변경하려면 다음 명령을 사용합니다:
date -s “29 FEB 2024 11:25:39”
- 현재 UTC 시간과 날짜로 명령을 수정하세요: https://time.is/es/UTC
4.3. 오류 3: Failed, retrying timeout
- 이 오류는 PLCnext에 인터넷 접속이 없어 발생합니다.
ping 명령으로 확인할 수 있습니다. 예:
ping google.cl
bad address가 나오면 PLCnext의 IP, 마스크, 게이트웨이 구성을 확인해야 합니다. 웹 서버의 Network 섹션에서 할 수 있습니다.
추가 정보: https://github.com/Fellipem1/PLCnext_Node-RED