inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

MQTT 사물인터넷 통신 프로젝트 (Arduino, MQTT, Node.js, mongoDB, Android)

아두이노에서 MQTT 접속이 끊어지면 Nodejs 서버가 멈추는 에러

485

highstar1

작성한 질문수 3

0

안녕하세요 선생님

좋은 강의 덕분에 공부가 많이 되고 있습니다. 많은 도움 주셔서 감사합니다.

수업을 통해서 Wemos -> Mqtt->Nodejs->Mongodb까지 데이타가 날라가는 것을 구현을 했습니다. 그런데
다음과 같은 에러현상이 있어서 문의드리고자 합니다.

1. Wemos(아두이노)가 MQTT에 접속하여 정상적으로 센서값을 전송하다가 MQTT와 접속이 한번씩 끊어집니다.
-> 해결을 위해 구글 검색해서 아두이노 루프문에 mqtt 재접속 함수(그림3)를 만들고 호출해주었습니다. 재접속되서 다시 MQTT에 센서 측정값을 쏴주고 mqtt의 cmd 창에서는 data가 잘 들어오고 있습니다.

2.  그런데 위 현상이 발생하면 Nodejs 가  첨부와 같은 에러 메세지가 나오면서 정지합니다.
    (에러코드와 메세지는 사진으로 첨부드립니다)
-> 이걸 해결해보려고 검색해서 테스트 해본 것은

1). Nodejs의 파일 모두에 //로 주석 단거는 다 옆이 아니라 위로 올리기
2). 아두이노의 PubsubClient.h파일에서 혹시 보내는 용량이 문제인가 해서
           #define MQTT_MAX_PACKET_SIZE 를 128에서 512로 수정

3). PubsubClient.h에서  keepAlive interval in Seconds를 10초로 수정
 4). www 파일 내부 곳곳에 console.log("position1"); 같은 flag를 달아서
       죽는 곳을 찾아보기 --> 죽기전에 위치 표시없이 에러나면서 끝나네요 ㅜ

                   

아직 해결을 못하고 있는데 혹시 선생님께서 이러 유사한 에러에 경험이 있으신지요.

제가 살펴볼만한 내용을 혹시 아시면 이야기 해주실 수 있을신지 궁금합니다.

매번 좋은 조언 감사합니다.

nodejs iot mongodb arduino

답변 2

0

highstar1

앗!  선생님이 해주신 말씀이 힌트가 되어서 왜 에러가 났는지 실마리를 발견했습니다. 좀 더 테스트 해보겠습니다

감사합니다.

0

박매일

열공하시는 군요~~
Node.js쪽에서 나는 에러는 아두이노에서 전달되는 센서데이터가 JSON형식이 아니기 때문에 나오는
에러인듯하는데 아두이노쪽에서 

 char message[64]="", pTmpBuf[50], pHumBuf[50];
 dtostrf(tmp, 5,2, pTmpBuf);
 dtostrf(hum, 5,2, pHumBuf);
 sprintf(message, "{\"tmp\":%s,\"hum\":%s}", pTmpBuf, pHumBuf);   
 mqttClient.publish("dht11", message); 

온습도를 저장하는 message변수를 JSON형태로 만들어주셨는지 체크해보시기 바랍니다.
(위 아두이노 소스코드에는 JSON형식으로 바꿔주는 부분이 없는 듯합니다.)
제가 제공하주는 소스로 여러 곳에서 실습을 했지만 끊기는 현상은 없었습니다.
다시한번 해보시고 질문주시기 바랍니다.~~

연속으로 질문달아 죄송하지만 궁금한게 있습니다 ㅠㅠ

0

230

1

브로커와 아두이노의 관계에 대해 질문합니다.

0

289

1

MQTT Broker Connercted! 가 뜨지 않습니다ㅠㅠ

0

318

1

정보 받아오기

0

288

1

데이터 받아오기

0

318

1

wifi연결강의중 cmd를통해mosquitto-v를실행시키는과정에서 각소켓주소는하나만사용할수있다고뜹니다ㅠㅠ.왜그런거죠?ㅠㅠ

0

1526

2

node.js 콘솔 관련 오류 (급해요!)

0

365

2

dht 11 센서 데이터 전송에 대한 질문이요!!

0

185

1

다른 wifi 모듈

0

214

1

npm insatll을 눌러도 자꾸 아래 메시지가 떠요 ㅠ cmd로도 했는데 똑같아요..

0

417

3

Rest Full service 통신에서 에러

0

318

2

안드로이드 어플 실행 오류

0

416

1

안드로이드 스튜디오 실행

0

681

6

모스키도 cmd에서 서버구동할 때 실행에서 오류가 나요

0

438

1

방화벽을 꺼도 package.json에 입력하면 node_modules에 들어가지 않스니다 ㅠㅠ

0

362

1

package.josn 다운로드 되지 않습니다 ㅠ,

0

277

2

안드로이드 연결

0

262

1

시리얼 모니터에 MQTT Broker가 연결된다고 뜨지 않습니다,,,

0

450

3

andriod studiot실행

0

165

1

Node.js express project 생성시 package.json 오류 문의

0

388

3

잘되다가 갑자기 서버에 연결 못한다고 하네요

0

190

0

Rest full serveice에서 에러가 발생됩니다

0

174

1

LED불이 안들어와요

0

689

7

mqtt 연결 후 재시작이 됩니다

0

185

1