SuSu DaDDy

[HA] Synology mosquitto mqtt 설치 비밀번호 설정 포함

by SuSu Daddy
반응형
 

[HA] Netgear(Orbi) 재실센서 (Device Tracker)

자동화의 기본인 재실센서를 등록하여 보도록 하겠습니다. [구축 환경] - Synology 918+ NAS (적용가능 모델 확인) - NAS Docker 설치 후 HomeAssistant 설치 - Router: Orbi RBK50 [device_tracker -> configurat..

inganyoyo.tistory.com

Netgear를 통한 재실 센터를 설치하였으나 추가적으로 재실을 판단하기 위해 owntracks를 설정하고자 하였습니다. 이 과정에서 개인 mqtt설치가 필요함을 발견하고 익명의 사용자가 외부에서 MQTT에 접하지 못하도록

ID/PW 설정까지 진행하게 되었습니다.

 

 구축 환경

- Synology 918+ NAS (적용가능 모델 확인)

- NAS Docker Mosquitto(mqtt)

 

□ Docker moquitto mqtt 설치

-설치된 Docker에서 레지스트리 mosquitto 검색하여 두번째 toke/msquitto 선택 후 latest 버전 선택

- 컨테이너 이름을 mosquitto입력하고 자동 재시작 활성화를 클릭

- 볼륨의 아래와 같이 log,data,config 설정

- 네트워크에서 Docker 호스트와 동일한 네트워크 사용 체크

- 환경 탭에서 TZ - Asia/Seoul을 선택

 mosquitto config 파일 생성

-  /volume1/docker/mosquitto/config/mosquitto.conf 파일 생성 및 아래 내용 추가 (개인환경에 따라 경로는 다를 수 있음)

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /mqtt/data/
persistence_file mosquitto.db 

# Port to use for the default listener.
port 1883

allow_anonymous false 
password_file /mqtt/config/passwd_file

log_dest file /mqtt/log/mosquitto.log
log_dest stdout

#include_dir /config/conf.d   

 

 mosquitto id/pw 파일 생성

-  /volume1/docker/mosquitto/config/passwd_file 파일생성

- Docker에서 mosquitto의 이미지를 실행 후 터미널 -> 생성 -> bash 클릭(생성버튼 클릭시 bash 생성됨)

mosquitto 이미지 실행 중  log 파일을 읽을 수 없다고 오류가 발생한다면 아래의 명령어를 통해 권한을 부여한다.
명령어: chmod 0777 /volume1/docker/mqtt/log

- "mosquitto_passwd -c /mqtt/config/passwd_file 원하시는아이디" 입력하면 비밀번호를 입력하라고 나오는데 원하는 비밀번호를 누르면된다. 

- 그후 "/mqtt/config/passwd_file" 파일을 열어보면 입력한 아이디와 암호화된 비밀번호가 생성된 것을 확인 할 수 있다.

 HA mqtt 설정 설정

- server_ip, mqtt_id, mqtt_passwd는 secret.yaml파일에 미리 정의함.

mqtt:
 broker: !secret server_ip
 username: !secret mqtt_id
 password: !secret mqtt_passwd

[mqtt 동작 확인]

- mqtt.fx를 다운받아 설치(https://mqttfx.jensd.de/) mqtt 클라이언트는 종류가 많으니 편한 것을 다운받으셔도 무관함.

- mqtt.fx 실행 후 톱니바퀴(설정) 버튼을 클릭

- Brocker Address 및 위에서 생성한 id와 password를 입력 후 저장 한다.

- 저장 후  connect 버튼 클릭시 정상적으로 연결이 성공한다면 설정이 완료되었다고 판단하면된다.

외부에서 접속을 위해서는 꼭 라우터의 포트포워딩을 설정해야한다.
반응형

블로그의 정보

SuSu Daddy

SuSu Daddy

활동하기