참고 https://velog.io/@foxiq/MQTT
Download
https://mosquitto.org/download
C:\Program Files\mosquitto 경로의 mosquitto.conf 파일을 관리자 권한 메모장으로 연다.
listener 1883
allow_anonymous true
bind_address 192.168.3.10 //broker server pc ip
bind_address 127.0.0.1 < Localhost test일경우
저장이 안되면
관리자 권한으로 실행 해서 대체 파일을 만들어서 덮어쓰기 하고 원본 지우기
mosquitto.exe 없으면 찾아보기로 추가
고급설정
인바은드 규칙 > 새규칙
포트로 한번 라이오 버튼 클릭 하고
프로토콜 및 포트
작업관리자 시작
관리자 모드로 cmd를 연다.
브로커 실행
cd C:\Program Files\mosquitto
mosquitto -v
mosquitto -v 까지만 실행하면 테스트 가능
명령어 형식
mosquitto_sub -h [url] -t [topic] -p [port]
mosquitto_pub -h [url] -t [topic] -p [port] -m [message]
url은 localhost 로 테스트 가능.
ex) 관리자모드 cmd 창을 추가로 2개 더 open 후 각각 진행
mosquitto_sub -h localhost -t mytopic // subscribe 실행
mosquitto_pub -t mytopic -m "hello" // publish 실행
Test 결과 (퍼블리쉬가 발행한 "hello"가 구독 창에 나타남
PC(SCADAMaster) - Mobile 연동
관리자모드 cmd (mosquitto.conf 파일 내부의 ip와 port 로 브로커 실행 됨 -ip 설정이 맞아야 정상 동작 함)
cd C:\Program Files\mosquitto
mosquitto -v -c mosquitto.conf
모바일에서 공통 네트워크(공유기)로 접속 후 mqtt 앱 실행
ip에 broker pc ip를 입력
port 설정
■ 네트워크 접속시
PC1(브로커 실행 , sub 실행) 192.168.3.10 <--------------> PC2 (Pub)192.168.3.20
작업관리자 서비스에서 Mosquitto 브로커를 실행시킨다.
PC1 에서 IP는 PC1의 IP 기입 192.168.3.10
PC도 IP는 PC1(브로커가 실행) 되는IP를 기입한다. 192.168.3.10
PC2의 파일의 내용은
수정안해도 된다.