[HA] Synology mosquitto mqtt 설치 비밀번호 설정 포함
by SuSu DaddyNetgear를 통한 재실 센터를 설치하였으나 추가적으로 재실을 판단하기 위해 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 버튼 클릭시 정상적으로 연결이 성공한다면 설정이 완료되었다고 판단하면된다.
외부에서 접속을 위해서는 꼭 라우터의 포트포워딩을 설정해야한다.
'Home IOT' 카테고리의 다른 글
[SmartThings] 인증을 잃어버린 SmartApp 삭제 (5) | 2019.06.23 |
---|---|
[HA] SmartThings 연동 (2) | 2019.06.23 |
[HA] Netgear(Orbi) 재실센서 (Device Tracker) (0) | 2019.06.06 |
[HA] Weather(DarkSky) 추가 (0) | 2019.06.04 |
[HA] Awair(어웨어) 2nd edition (0) | 2019.06.03 |
블로그의 정보
SuSu Daddy
SuSu Daddy