YOGYUI

Raspberry Pi - Home Assistant OS(HAOS) 설치하기 본문

Hardware/Raspberry Pi

Raspberry Pi - Home Assistant OS(HAOS) 설치하기

요겨 2024. 1. 1. 09:53
반응형

 

최근 몇 주간 블로그 혹은 이메일을 통해 Home Assistant OS (HAOS) 시스템에서 내 소스코드를 구동하는 방법에 대해 몇 건 문의가 들어왔다

 

나는 홈네트워크 환경을 꾸밀 때 라즈베리파이에 docker(도커)를 설치한 뒤 Home Assistant Container(컨테이너)를 구동하는 방식으로만 구축했었고 HAOS는 거의 사용해본 적이 없기 때문에, 이참에 HAOS에 좀 익숙해지기 위해 라즈베리파이에 HAOS를 설치하고 부팅 및 설정까지 진행한 내역을 정리해봤다 (사실 동일한 내용으로 2022년 2월에 글을 포스팅한적이 있는데, 당시보다 더 편한 방법으로 설치할 수 있는 방법이 있길래 다시 한번 실습하면서 포스팅.. ㅎㅎ)

[준비물]
- Raspberry Pi 4 혹은 5
- 32GB 이상 용량의 Micro SD 카드
- SD카드 리더기 (USB 허브타입 추천)
- 모니터 및 Micro HDMI 케이블
- USB 유선 키보드
- 옵션: 유선 네트워크 연결 (이더넷 케이블)

1. Raspberry Pi Imager 설치 및 HAOS 준비

라즈베리파이에서 구동되는 OS를 SD카드에 설치하기 위해 Raspberry Pi Imager를 설치한다

https://www.raspberrypi.com/software/

 

Raspberry Pi OS – Raspberry Pi

From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.

www.raspberrypi.com

윈도우, 우분투 리눅스, 맥OS 등 다양한 플랫폼을 지원한다

본인의 환경에 맞는 설치 파일을 다운로드받은 뒤 설치 진행

 

실행해보면 UI는 다음과 같이 심플하다

2024년 1월 1일 기준 최신버전은 v1.8.4

 

SD카드에 설치를 위해서는 세 가지 항목만 설정해주면 된다

  • 장치(디바이스) 선택
  • 운영체제 선택
  • 저장소 선택

1.1. 장치 선택

HAOS를 구동하고자 하는 라즈베리파이 디바이스를 선택해준다 (이 글에서는 Raspberry Pi 4 4GB RAM 사용) 

조만간 건수가 생기면 Raspberry Pi 5도 구매할 계획 ㅎㅎ

1.2. 운영체제 선택

라즈베리파이에서 구동될 운영체제(OS) 이미지를 선택한다

일반적으로 라즈베리파이에서는 Raspberry Pi OS (구 Raspbian)을 사용하는데, Raspberry Pi Imager는 Home Assistant OS 이미지도 다운로드받을 수 있게 편의를 제공한다

 

아래로 스크롤해 Other specific-purpose OS 선택

 

Home assistant and home automation 선택

 

Home Assistant 선택

 

Home Assistant OS 선택

※ 2024년 1월 1일 기준 HAOS의 최신버전은 11.2

1.3. 저장소 선택

저장소(Micro SD 카드)를 선택하기 전에 PC에 SD카드 리더기를 연결한 뒤 SD카드를 삽입해 PC가 인식해야 한다

 

개인적으로 SD카드 리더기는 다음과 같이 USB 허브, HDMI 포트 및 SD/Micro SD카드 리더기가 통합된 허브를 사용하고 있는데, 하나 장만해두면 여기저기 요긴하게 쓸 수 있으므로 추천~ (USB-C 타입으로 사두면 요즘 출시되는 확장성 거지같은 맥북같은 랩탑에도 별도 어댑터없이 바로 꽂아서 사용할 수 있다

 

인식된 SD카드를 선택해준다

1.4. 설치

아래와 같이 디바이스/운영체제/저장소를 모두 선택한 뒤 '다음' 버튼을 클릭한다

 

데이터가 모두 지워진다는 경고 문구에서 '예' 버튼 클릭

 

HAOS 이미지 다운로드 및 SD카드 쓰기 및 검증(verification)까지 전체 과정이 5분 내외로 마무리된다

 

설치가 마무리되면 SD카드를 제거한 뒤 라즈베리파이에 장착해준다

2. 라즈베리파이 부팅

USB-C 케이블 전원, 키보드, HDMI 케이블을 연결해 라즈베리파이를 부팅

 

부팅 후 초기 화면은 다음과 같다

2.1. WiFi 설정

중요: 유선 이더넷 연결이 여의치 않을 경우 WiFi를 수동으로 설정해줘야 한다

 

ha 프롬프트 (ha > ) 에서 login 명령어 입력하면 shell 프롬프트로 진입할 수 있다 (앞에 #이 달림)

ha > login

 

대부분 설정은 nmcli(network manager command line interface) 명령어로 진행한다

(1) WiFi 기능 활성화

# nmcli radio

 

(2) WiFi AP(Access Point) 탐색(scan)

# nmcli device wifi rescan

 

(3) 액세스 가능한 AP 리스트업

# nmcli device wifi

 

(4) WiFi AP 접속

AP의 SSID와 비밀번호만 입력하면 된다 (암호화 방법 선택 등 번거로운 과정 필요없음)

# nmcli device wifi connect {와이파이 SSID} password {와이파이 패스워드}

 

정상적으로 접속되면

Device 'wlan0' successfully activated with 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'

와 같은 메시지가 로깅된다 (라즈베리파이의 와이파이 인터페이스는 wlan0로 기본 인식된다)

2.2. IP 주소 확인

Home Assistant 웹페이지에 접속하기 위해서는 라즈베리파이의 IP 주소를 알아야 한다

라즈베리파이의 IP주소는 다음 명령어로 확인하면 된다

# ip addr show

 

wlan0 인터페이스의 inet 항목 확인

(만약 유선 이더넷을 연결했다면 end0 인터페이스를 확인)

 

혹은 공유기 설정에서 DHCP 할당 현황을 통해 IP 주소를 알아낼 수도 있다

(이름이 homeassistant인 노드를 찾으면 된다)

주의: MAC 주소를 알아야 한다

 

3. Home Assistant 웹페이지 접속 및 초기 설정

공유기로부터 할당된 IPv4 주소의 8123번 포트로 웹 브라우저에서 접속하면 아래와 같은 화면을 볼 수 있다

예시) http://192.168.0.77:8123

 

'나만의 스마트 홈 만들기' 선택 후 계정을 만들어준다

 

집 위치를 구글 지도로 선택해준다

 

데이터 수집 항목을 체크해준다 (체크할 필요 없음)

 

라즈베리파이가 연결된 네트워크 상에 존재하는 다양한 홈네트워크 플랫폼이 자동으로 탐지된다

 

대시보드 초기화면 (사용자마다 다를 수 있음)

 

HAOS의 가장 큰 장점은 홈네트워크 구축 및 유지보수를 위해 사용되는 다양한 코드, 패키지, 유틸리티들을 애드온 형식으로 설치할 수 있다는 점이다 (HA 컨테이너만 해도 애드온 기능이 지원되지 않는다..)

 

애드온 설치를 위해 다음 메뉴로 이동한다

<설정 - 애드온 - 애드온 스토어>

 

HAOS에 설치해 사용 가능한 여러 애드온들을 찾아서 설치할 수 있다

(duckdns + let's encrypt 조합을 통한 SSL 구성도 애드온을 통해 손쉽게 할 수 있고, nginx 프록시도 애드온을 통해 구성할 수 있다)

 

일단 거의 필수적으로 쓰이는 애드온들을 설치해준다

  • File editor
  • Advanced SSH & Web Terminal
  • Mosquitto broker
  • Studio Code Server

 

SSH 사용을 위해서는 애드온 '구성'에서 password 혹은 authorized_keys 둘 중 적어도 하나는 입력해야 한다

SSH를 위한 key 생성 (ssh-keygen) 방법은 아래 문서를 참고하면 된다

https://docs.github.com/ko/authentication/connecting-to-github-with-ssh

4. TODO

서두에 언급했듯이 HAOS를 직접 설치하고 사용하는 목적은 내가 깃허브에 올려둔 소스코드를 HAOS 상에서 구동하는 방법에 대한 매뉴얼을 작성해 일반 유저들이 따라할 수 있게 하는 것이다

 

따라서, 다음 글에서는 다음 내용에 대해 다룰 예정이다

  • HAOS에 git 소스코드 클론
  • 터미널, VSCode Server 혹은 File Editor를 이용한 config 파일 수정
  • Python으로 홈네트워크 어플리케이션 실행
  • HAOS 부팅 시 자동 실행

[출처]

https://www.home-assistant.io/installation/raspberrypi

https://community.home-assistant.io/t/changing-connectivity-to-wifi-via-cli/593450

 

 

 

반응형