Advanced/raspberryPI

[라즈베리파이]mqtt + 스마트폰 접속 시 에러

och 2023. 6. 22. 17:42

MQTT(mesagge queueing telemetry transport)로 publish-subscribe 메시지 프로토콜이다.

주로 IoT기반에서 사용하기 편한 프로토콜인데 

 

publisher, broker, subscriber로 구성된다.

어떤 메시지를 구독하고 발행할 목적으로 broker서버에 접속하고 

대표적인 브로커로는 mosquitto가 있다. 

 

apt-get install mosquitto -y

apt-get install mosquitto-clients -y

로 설치 후

 

which mosquitto_sub

which mosquitto_pub

으로 설치가 잘 되었는지 확인해보자. 

 

간단한 사용법으로는 

 

a shell 터미널에서 

mosquitto_sub -d -t "hello"

로 hello라는 메시지를 구독 하고

 

b shell 터미널에서

mosquitto_pub -d -t "hello" -m "world"

로 publish하게 되면은 

 

a터미널에서 world 라는 메시지를 받았다고 알려준다.

 

+

mosquitto를 통해 1883 Port로 BROKER접속을 하려고 하는데 계속 
failed to connect to mqtt broker 에러가 발생했다. 

미친듯한 삽질 끝에 .conf file을 수정해야한다는 것을 깨달았고
수정해서 연결 성공했다. 

mosquitto 1.7 ver부터는 allow_anonymous's default가 false라고 하는데 이를 true로 바꿔주고
listener 1883 0.0.0.0을 추가해서 해결했다. 
https://stackoverflow.com/questions/24556160/mosquitto-client-obtain-refused-connection

 

참고자료

https://www.joinc.co.kr/w/man/12/MQTT/Tutorial