8/20/2021

MQTT Broker Mosquitto 설치 및 설정

1. MQTT Broker Mosquitto 설치

Mosquitto Download

Mosquitto OpenSSL 적용

아래 사이트에서 설치방법 쉽게 나옴 


2. MQTT Mosquitto 설정 및 bat 파일 

  • mosquitto.conf 설정 
C:\Program Files\Mosquitto\mosquitto.conf 
# =================================================================
# General configuration
# =================================================================

listener 1883 0.0.0.0
allow_anonymous true

username 과 password 사용 할 경우 설정변경.

listener 1883 0.0.0.0
#allow_anonymous true
allow_anonymous false
password_file password.txt

password.txt 생성 후 아래와 같이 등록 
C:
CD C:\Program Files\Mosquitto
mosquitto_passwd.exe -b password.txt username password  //username 과 password 를 password.txt 등록 
type password.txt   // 확인 

  • mosquitto.bat
처음 실행할 경우 mosquitto.conf를 설정값을 상위 값으로 적용 후 실행 
C:
CD C:\Program Files\Mosquitto
mosquitto.exe -c mosquitto.conf -v
rem mosquitto.exe  -v
pAUSE

주석: rem or :: 사용 

  • check_mqtt.bat
0.0.0.0:1883으로 동작해야 다중 interface 가진 경우 각각의 IP로 서비스 동작가능 
netstat -an | findstr 1883
pAUSE


  • mqtt_off.bat
관리자 권한으로 실행하여 서비스로 실행된 mosquitto를 종료 한 후 mosquitto.bat 로 실행하여 동작상태를 확인 
net stop mosquitto
pAUSE


  • 기본테스트 
publish test 진행 (-t TOPIC , -m message,  -d debug)
username, password, client id도 별도로 설정가능 
C:
CD C:\Program Files\Mosquitto
mosquitto_pub.exe -h 192.168.1.26 -t topic/test  -m "testmessage" -d

subscribe test 진행 
C:
CD C:\Program Files\Mosquitto
mosquitto_sub.exe -h 192.168.1.26 -t topic/test -v



3. MQTT broker 동작 중 문제사항 


  • Window 방화벽문제 
Window 10에서 방화벽이 기본적으로 동작하므로 설정에서 방화벽을 임시적으로 꺼두록하자
설정->네트워크 및 인터넷

  • MQTT Broker Error
Error: 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다.
MQTT broker(mosquitto)가 이미 실행되었거나, 혹은 1883 Port를 다른 Service가 사용중일때 발생 


상위 check_mqtt 확인 후 mqtt 서비스 종료