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
- 기본테스트
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가 사용중일때 발생