라즈베리 파이에 대하여
라즈베리 파이(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 github에서 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 Home Assistant 설치하기
Network Manager 설치하기
sudo apt-get install network-manager apparmor-utils
실행중에 After this operation, xxx MB of additional disk space will be used.
Do you want to continue? [Y/n]라는 질문이 나오면 Y를 입력합니다.
IOTstack 메뉴에서 홈어시스턴트(Hass.io) 설치하기
cd ~/IOTstack2 IOTsatck 메뉴 실행하기
./menu.sh3 메뉴에서 Install Hass.io 선택하기
Main Menu에서 Install Hass.io (Require Docker)를 선택하여 실행합니다.
4 Device Type 선택하기설치할 라즈베리파이의 모델를 선택합니다.
Do you want to proceed with overwriting the /etc/network/interfaces file? [N/y]라는 메시지가 나오면 답을 합니다. 여기서는 Y를 입력하였습니다. 5 설치 완료후 접속하기화면에 출력되는 정보에 따라 주소http://192.168.xxx.xxx:8123을 입력하여 홈어시스턴트에 접속합니다. 처음 접속 후 로그인 화면이 나타날 때까지는 시간이 걸립니다.
4 Home Assistant 초기 구성하기
Home Assistant 계정 만들기
주소http://192.168.xxx.xxx:8123을 입력하여 Home Assistant에 접속합니다. 처음 접속 후 로그인 화면이 나타날 때까지는 시간이 걸립니다.
일정 시간이 지나면 계정 만들기 화면이 나옵니다.
필수 정보를 입력합니다. 이름은 Home Assistant를 구분하기 위한 명칭입니다. 사용자 이름은 로그인 ID를 말합니다. 비밀번호와 비밀번호 확인을 입력한 후 계정 만들기 버튼을 누르면 초기 정보 설정 화면으로 연결됩니다.
초기 정보 설정하기
초기 설정 화면에는 여러 정보를 입력해야 하므로 한 화면을 세 부분으로 나누어서 설명합니다.
1 Home Assistant 이름화면의 첫 부분에 Home Assistant 이름을 입력합니다. 여기서는 나타나는 이름을 그대로 사용했습니다.
2 위치 지정하기지도를 움직여서 마우스를 클릭하면 위치가 지정됩니다. 탐색을 눌러서 지정할 수도 있습니다.
3 기타 정보 지정하기 시간대, 고도, 단위를 지정합니다. 다음을 누르면 통합 구성 요소를 확인할 수 있는 화면이 나옵니다.통합 구성요소 확인하기
Home Assistant 에 통합이 가능한 기기들을 표시하는 화면이 나옵니다. 여기에는 본인이 설치한 기기가 나타납니다.
완료를 누르면 초기 설정이 끝납니다.맨 처음 나오는 Home Assistant 메뉴 화면
초기 설정이 끝나면 다음과 같은 Home Assistant 메뉴 화면이 나타납니다. 다음에 로그인하면 이 화면이 나타납니다.
5 Home Assistant의 설정을 바꿀 준비하기
add-on이란?
좌측 메뉴 Superviser를 선택하고 Dashboard 탭을 누르면 add-on이 전혀 설치되어 있지 않음을 알 수 있습니다.
File Editor add-on 설치
Home Assistant의 설정 정보는 configuration.yaml이라는 파일에 보관되어 있습니다. 이 파일을 편집하기 위한 도구가 필요한데 File Editor라는 add-on을 사용하면 편합니다.
2 File Editor add-on 설치하기좌측 메뉴 Superviser를 선택하고 Add-on Store 탭을 누르면 설치할 수 있는 add-on이 모두 나타납니다. 여기서 File Editor 항목을 클릭합니다.
File Editor 화면에서 INSTALL을 누르면 설치가 됩니다.
File Editor add-on 설정하기
설치된 File Editor화면은 다음과 같습니다.
2 Documentation 확인하기add-on이 설치되면 Documentation 탭을 눌러서 사용법을 확인합니다. 특히 Configuration 부분은 주의 깊게 읽고 다음 단계에서 그대로 적용해야 합니다.
3 Configuration 수정하기Configuration 내용을 수정하는 화면입니다. 여기서는 특별히 수정하지 않고 그대로 둡니다. 만약 수정한 내용이 있다면 SAVE를 눌러서 수정 내용을 보관합니다.
4 File Editor add-on 시작하기 Info 탭에서 START를 누르면 add-on이 실행이 됩니다. 이후에 메뉴나 설치된 add-on 항목에서 File Editor를 선택하여 편집 작업을 할 수 있게 됩니다. 5 File Editor add-on이 시작된 화면add-on이 시작되면 STOP, RESTART, OPEN WEB UI, UNINSTALL 버튼이 생깁니다. 이 버튼을 이용하여 add-on의 작동 상태를 바꿀 수 있습니다.
Show in sidebar 스위치를 활성화하면 File Editor add-on이 좌측 메뉴 항목으로 나타납니다. 이처럼 자주 사용하는 add-on은 메뉴에 표시하는 것이 좋습니다. OPEN WEB UI를 클릭하면 편집기가 시작됩니다.File Editor 사용하기
메뉴의 Supervisor를 선택하면 Dashboard 탭의 Add-ons 영역에 File Editor가 나타납니다. 여기서 File Editor를 선택한 후 OPEN WEB UI를 누르면 WEB UI 기능을 사용할 수 있습니다.
2 File Editor의 WEB UI 열기(방법2)add-on 설정 화면에서 Show in sidebar가 활성화되어 있으면 메뉴에 항목으로 File Editor나타납니다. 이 File Editor 항목을 선택하면 WEB UI가 열립니다.
3 열린 WEB UI 화면. 4 파일을 선택하기예를 들어 config/configuration.yaml 파일을 편집해 보도록 하겠습니다.
File Editor 영역의 왼쪽 위에 있는 폴더 아이콘( )을 클릭하면 config/ 폴더 아래의 파일 리스트가 나타납니다. 여기서 configuraton.yaml를 선택하면 편집 화면에 파일의 내용이 짙은 색으로 씌워져 보입니다.
5 configuration.yaml 수정하기짙은 색으로 씌워진 파일 부분을 클릭하면 파일 편집 모드로 바뀝니다. 편집 화면의 맨 아래 에 빈 줄을 입력해 보면 파일 보관 아이콘()이 나타납니다. 이 아이콘을 누르면 파일이 보관됩니다.
6 IoT용 주요 소프트웨어 설치하기
IoT용 서버 기능을 수행하는 주요 소프트웨어는 다음과 같습니다. 이 소프트웨어들은 Home Assistant 의 add-on으로 준비되어 있으므로 간단하게 설치할 수 있습니다.
이름 | 기능과 역할 |
---|---|
Mosquitto | MQTT 프로토콜을 지원하는 메시지 교환용 서버 |
Node-RED | 노드를 기본으로 하는 Low Code 개발 툴 IoT 디바이스간의 제어 흐름을 정하는 룰을 만들거나 시스템을 통제하는 대시보드를 구성할 수 있음 |
InfluxDB | 실시간 데이타베이스 |
Grafana | 데이터 소스(예를 들면 InfluxDB)의 정보를 그래프로 표시하는 툴 |
7 안전하게 IoT 서버에 원격 접속하기
외부 인터넷에서 VPN을 이용하여 IoT 서버에 안전하게 접속하는 방법을 안내합니다.
여기에서 안내하는 방법 대신 동일한 기능의 Home Assistant의 add-on을 사용할 수도 있습니다. 이 때에는 중복 설치되지 않도록 주의하여야 합니다.
duckdns.org에서 도메인 설정하기 공유기에서 외부에 포트 열기 라즈베리 파이에 VPN 설치하기 PC에서 라즈베리 파이의 파일을 관리하기