라즈베리 파이에 대하여
라즈베리 파이(Raspberry Pi)는 라즈베리 파이재단에서 만든 싱글 보드 컴퓨터입니다. 최신 제품은 라즈베리 파이 4 모델 B 입니다.
라즈베리 파이를 IoT 서버로 사용하는 경우에는 라즈베리 파이 4 모델 B 또는 라즈베리 파이 3 모델 B+를 사용하는 것이 좋습니다.
1 헤드리스 방식으로 라즈베리 파이 OS 설치하기
PC에서 SD카드에 OS를 다운로드하고 필요한 파일을 작성하는 절차입니다.
라즈베리파이에 OS 설치하기2 IOTstack에서 도커(Docker)설치하기
IoT서버로 사용하기 위하여 필요한 여러 가지 소프트웨어의 설치와 설정 작업을 하는 단계입니다. 여러 가지 명령어를 한꺼번에 처리하기 위하여 gcgarner가 작성한 IOTstack이라는 스크립트를 사용합니다.
라즈베리파이 라이브러리를 최신 상태로 만들기
다음 명령어를 연달아 입력하여 라이브러리를 최신 상태로 유지합니다.
sudo apt update
sudo apt upgrade
실행 중간에
After this operation, xxxx kB of additional disk space will be used.
Do you want to continue? [Y/n]
라는 메시지가 출력됩니다. y을 입력하고 Enter를 누르면 실행이 계속됩니다. 처리해야 할 내용이 많으면 시간이 많이 걸립니다.
IOTstack 스크립트 다운로드하기
여기에서는 IOTstack을 이용하여 Mosquitto와 Node-RED를 설치합니다. 나중에 다른 소프트웨어도 추가로 설치할 수 있습니다.
1 curl 설치하기curl은 프로그램 저장소에서 파일을 복사해 오는 소프트웨어입니다.
sudo apt install -y curl2 IOTsatck 스크립트 다운로드 받기
curl -fsSL https://raw.githubusercontent.com/SensorsIot/IOTstack/master/install.sh | bash
IOTstack 메뉴에서 docker 설치하기
cd ~/IOTstack2 IOTsatck 메뉴 실행하기
./menu.sh3 메뉴에서 docker 설치하기
Main Menu에서 첫 번째 항목인 Install Docker를 선택하여 실행합니다.
4 라즈베리 다시 시작하기다음과 같이 Restart Required가 나타나면 <Yes>를 선택하여 라즈베리 파이를 다시 시작합니다.
라즈베리 파이가 다시 시작되면 PC와 접속이 끊어지므로 다음과 같은 메시지가 나타납니다. 확인 버튼을 누릅니다.
잠시 후에 라즈베이 파이의 재기동이 완료되면 PC에서 PuTTY를 이용하여 라즈베리 파이에 다시 접속합니다.
3 IoT 소프트웨어(Mosquitto, Node-RED 등)설치하기(반복 실행 가능)
다음 단계는 필요할 때마다 반복해서 실행합니다.
IOTstack 메뉴에서 소프트웨어 설치하기
cd ~/IOTstack2 IOTsatck 메뉴 실행하기
./menu.sh3 메뉴에서 Build Satck 실행하기
Main Menu에서 Build Stack를 선택하여 실행합니다.
4 설치할 소프트웨어 선택하기다음과 같이 Container Selection 메뉴가 나타납니다. ▼ 키와 ▲ 키를 이용하여 원하는 컨테이너 항목으로 이동하여 스페이스 바를 눌러서 *를 선택하거나 해제합니다. 여기서는 Portainer, InfluxDB, Grafana, Node-RED와 Eclipse-Mosquitto(아래 오류 정보 확인하셔요)를 선택하고 Enter를 눌러서 실행합니다.
Portainer, InfluxDB, Grafana는 선택사항입니다. 도커 관리, 실시간 데이타 보관과 데이터 시각화를 위해서는 함께 설치하는 것이 좋습니다. 지금 선택하지 않아도 나중에 추가로 선택하여 설치할 수 있습니다.다음 화면은 Node_RED에 속한 노드(nodes)를 선택하여 설치하는 화면입니다. 여기서는 메뉴에 나타난 대로 사용합니다. 노드는 이 메뉴에서 추가로 선택하여 설치할 수도 있고, 나중에 Node-RED를 실행한 후 가져오기 기능을 이용하여 설치할 수도 있습니다.
6 설치 옵션 선택하기(반복 설치할 때 나타남)소프트웨어를 설치한 흔적이 있으면 어떻게 할지 선택하는 화면이 나타납니다. 소프트웨어 종류에 따라 여러 번 나타날 수도 있습니다.
Do not overwrite를 선택하면 다시 설치하지 않습니다. 이 때 Preserve Environment and Config files를 선택하면 프로그램은 다시 설치하고 설정 정보는 이전 것을 유지합니다. Pull full service from template는 완전히 새로 설치할 때 선택합니다.
선택한 컨테이너의 소프트웨어가 설치된 후, 명령어 입력 화면으로 돌아갑니다.
7 콘테이너 실행하기다음 명령어로 설치한 소프트웨어를 실행합니다.
docker-compose up -d
4 Mosquitto와 Node-RED 사용하기
Mosquittto 사용자ID와 패스워드 없이 접속할 수 있습니다. 서버 로는 라즈베리 파이의 IP 주소를 지정하면 되고, 포트는 1883을 지정합니다. Node-RED 브라우저의 URL에 192.168.XXX.XXX:1880을 입력하면 됩니다.5 Mosquitto와 Node-RED 접근 제한하기
사용자ID와 비밀 번호를 제시해야 Mosquitto와 Node-RED에 접속하도록 합니다.
Mosquitto 사용자 지정하기(도커 방식) Node-RED 사용자 지정하기(도커 방식)6 안전하게 IoT 서버에 원격 접속하기
외부 인터넷에서 VPN을 이용하여 IoT 서버에 안전하게 접속하는 방법을 안내합니다.
duckdns.org에서 도메인 설정하기 공유기에서 외부에 포트 열기 라즈베리 파이에 VPN 설치하기 PC에서 라즈베리 파이의 파일을 관리하기