///
Search
🧶

MQTT 질문 (1)

본 내용은 MQTT 활용하시면서 질문해주신 내용을 정리한 내용입니다. 질문해주신 모든 분들께 감사합니다.

21년 10월 14일 질문

현재 ESP32를 통해 온습도 센서의 데이터를 PC에 전송하여 MongoDB에 데이터 적재를 시험하고자 합니다.
1.
ESP32보드를 Pub으로 서버PC(Ubuntu PC)를 브로커와 Sub 역활을 동시에 수행하고자 하는데 문제가 없는지 궁금합니다. (터미널을 2개 사용하는 경우 문제가 없을것이라 생각 합니다.)
2.
아래의 소스코드로 Mosquitto의 브로커 서버에 연결에 에러가 발생합니다. while(!client.connect(nodeName)) <- MQTT브로커와 연결이 이루어지지 않는 부분 현재 MQTT 서버의 IP는 서버PC(UbuntuPC)의 IP 주소로 설정하였습니다. 이부분에 문제가 있을까요??

답변

Q1. ESP32보드를 Pub으로 서버PC(Ubuntu PC)를 브로커와 Sub 역활을 동시에 수행하고자 하는데 문제가 없는지 궁금합니다. (터미널을 2개 사용하는 경우 문제가 없을것이라 생각 합니다.)

네 전혀 문제 없습니다. 블로그에 내용은 ESP 32보드 = Pub 라즈베리 파이 = Sub 로 두고 웹서버를 별도로 따로 만든예제입니다. 당연히 라즈베리파이를 우분투 PC로 대체 하셔도 상관없습니다. (윈도우만 비추천 드립니다!)

Q2. 아래의 소스코드로 Mosquitto의 브로커 서버에 연결에 에러가 발생합니다.

일단 의심되는 것으로 다음과 같이 생각이 듭니다.
1)
우분투 PC에서 IP주소가 Bind 하는것을 허가해주는 작업
안해서 발생된 것 같습니다.
해결방법
2)
우분투 PC와 아두이노와 같은 공유기 상에 연결 되어야 합니다.
3)
본문 블로그 내용으로 처음부터 끝까지 정상실행 되시는걸 확인하세요! -> 오래 걸려도 이것 먼저 추천드립니다. -> 그리고 안되는 부분 있으면 링크로 공유해주세요

답장

바쁜와중에도 친절한 답변을 주셔 감사합니다.
답변주신 내용들을 검토해보았습니다.
2) 우분투 PC와 아두이노와 같은 공유기 상에 연결 되어야 합니다.
이 부분에 대해 우분투 PC에 와이파이 동글을 설치 해 ESP32와 같은 망에 구성되게 하였습니다.
3) 우분투PC의 방화벽에 의해 통신이 Block 되는걸 확인 하여 아래의 명령을 통해 해결하였습니다.
# sudo ufw disable