Raspberry Pi 4에 Mosquitto, MQTT Python 모듈, Node-RED 및 Dashboard2 설치하는 방법을 단계별로 안내드리겠습니다. 이 과정에서는 Raspberry Pi에 Raspbian(현재는 Raspberry Pi OS라고 불림)이 설치되어 있다고 가정합니다.
1. Mosquitto 설치
- 패키지 목록 업데이트:
sudo apt update
- Mosquitto와 클라이언트 도구 설치:
sudo apt install mosquitto mosquitto-clients -y
- Mosquitto 자동 시작 설정: 이제 Mosquitto가 설치되고 실행 중입니다.
mosquitto
명령을 사용하여 브로커를 시작하거나,mosquitto_sub
및mosquitto_pub
명령을 사용하여 메시지를 구독 및 발행할 수 있습니다.sudo systemctl enable mosquitto sudo systemctl start mosquitto
2. MQTT Python 모듈 설치
Python을 사용하여 MQTT를 구현하려면 paho-mqtt
라이브러리를 설치합니다.
- pip 설치 (설치되지 않은 경우):
sudo apt install python3-pip -y
- paho-mqtt 설치:
pip3 install paho-mqtt
이제 Python에서 MQTT를 사용하여 메시지를 발행하고 구독할 수 있습니다.
3. Node-RED 설치
- Node.js와 npm 설치: Node-RED는 Node.js 위에서 실행되므로 Node.js와 npm이 필요합니다. 최신 버전을 설치합니다.
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs
- Node-RED 설치:
sudo npm install -g --unsafe-perm node-red
3-1. Node-RED 서비스 파일 생성
Node-RED의 서비스 파일을 /etc/systemd/system/nodered.service
경로에 생성합니다. 이를 위해 다음 명령어를 실행하여 편집기를 엽니다:
sudo nano /etc/systemd/system/nodered.service
3-2. 서비스 파일 내용 추가
파일에 다음 내용을 추가합니다:
[Unit]
Description=Node-RED
Documentation=http://nodered.org/docs/hardware/raspberrypi.html
After=network.target
[Service]
ExecStart=/usr/bin/env node-red-pi --max-old-space-size=128
WorkingDirectory=/home/pi
User=pi
Group=pi
Nice=10
SyslogIdentifier=Node-RED
StandardOutput=syslog
Restart=on-failure
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
여기서:
ExecStart
: Node-RED를 시작하는 명령어를 지정합니다.node-red-pi
명령어가 시스템 경로에 있어야 합니다.--max-old-space-size=128
은 메모리 사용량을 제한하기 위한 옵션입니다.User
및Group
: Node-RED를 실행할 사용자 및 그룹을 지정합니다. 필요에 따라 사용자 이름을 변경하세요.
편집을 완료한 후 Ctrl + X
, Y
, Enter
를 눌러 저장하고 종료합니다.
3-3. 서비스 파일의 권한 설정
다음 명령어로 서비스 파일의 권한을 적절히 설정합니다:
sudo chmod 644 /etc/systemd/system/nodered.service
3-4. 시스템 서비스 등록 및 시작
새로 만든 서비스를 등록하고 시작합니다:
sudo systemctl daemon-reload
sudo systemctl enable nodered.service
sudo systemctl start nodered.service
3-5. 서비스 상태 확인
서비스가 제대로 시작되었는지 확인하려면 다음 명령어를 사용합니다:
sudo systemctl status nodered.service
정상적으로 작동하고 있다면 "active (running)" 상태를 볼 수 있습니다.
이제 Node-RED가 시스템 부팅 시 자동으로 시작되며, 수동으로 node-red
명령어를 실행하지 않아도 됩니다.
Node-RED는 설치 후
http://<라즈베리 파이 IP>:1880
에서 웹 인터페이스로 접근할 수 있습니다.
4. Node-RED Dashboard2 설치
Node-RED Dashboard는 웹 기반의 UI를 제공하며, 이를 통해 간단한 대시보드를 만들 수 있습니다.
- Node-RED 대시보드 노드 설치: Node-RED의 웹 인터페이스에서, 오른쪽 상단의 메뉴 버튼을 클릭하고 "Manage palette"를 선택합니다. "Install" 탭에서
node-red-dashboard
를 검색하고 설치합니다. - 대시보드 구성: 설치 후 Node-RED 플로우에 대시보드 노드를 추가할 수 있으며,
http://<라즈베리 파이 IP>:1880/ui
에서 대시보드를 볼 수 있습니다.
5. 테스트 및 확인
- Mosquitto 테스트:
- 한 터미널에서
mosquitto_sub -h localhost -t test/topic
명령으로 구독합니다. - 다른 터미널에서
mosquitto_pub -h localhost -t test/topic -m "Hello, MQTT"
명령으로 메시지를 발행합니다. - 첫 번째 터미널에서 메시지가 제대로 수신되는지 확인합니다.
- 한 터미널에서
- Python MQTT 클라이언트 테스트:
- 간단한 Python 스크립트를 작성하여 Mosquitto와 통신할 수 있는지 확인합니다.
- Node-RED와 Dashboard 확인:
- Node-RED 편집기에서 MQTT 인/아웃 노드를 설정하고 대시보드 노드와 연결하여 MQTT 메시지를 시각화합니다.
이제 Raspberry Pi 4에서 Mosquitto 브로커, Python MQTT 클라이언트, Node-RED 및 Dashboard를 사용하여 IoT 프로젝트를 시작할 수 있습니다.
'컴퓨터|인터넷 > 라즈베리파이' 카테고리의 다른 글
MQTT Python client (0) | 2024.09.22 |
---|---|
Node-red 설치 (0) | 2024.09.22 |
라즈베리파이+피코+파이썬 메모리 관리 (0) | 2024.07.20 |
라즈베리파이4 슬립모드 해제 (0) | 2024.07.16 |
라즈베리파이피코 + 마이크로파이썬 (0) | 2024.04.20 |
댓글