node-red 의 mqqt in로 보내는 msg가 전송되지 않습니다. 다양하게 시도했으나..안됨..무엇이 문제일까요?


  • Level 8

    개발환경: 아두이노 보드를 활용해서 보드의 정보를 groomIDE에서 받아 다시 외부로 뿌리는 걸 개발하고 있습니다.

    보드와 메시지를 받는 솔루션(mosquitto), 해당 메시지를 웹에 표현해주는 솔루션(node-red)의 3개로 구성되어 있습니다.
    mosquitto 와 node-red는 하나의 컨테이너에 설치를 했죠..

    보드 ---> groomIDE ---> groomIDE
    msg (mosquitto) (node-red)

    테스트한 과정은 이래요~

    보드에서 mosquitto 에 전송한 데이터 (msg)는 mosquitto 로그상에서 확인됩니다.
    mosquitto 는 다시 이걸 node-red로 보내줘야 하는데...안갑니다..
    그런데.. mqqtLens라고 해서 외부에서 테스트해볼수 있는 툴이 있는데..이걸로 하면 잘 갑니다.
    그래서 저는 혹시 같은 서버에 설치된 mosquitto 와 node-red와의 데이터 통신 문제가 아닌가 생각하고 있습니다.
    결국 같은 서버의 다른 포트를 사용하는 프로세스간 통신문제라고 보니다.
    (또 한가지가...goormIDE는 공인IP와 포트를 모두 포워딩하고 있어서 외부에서 확인할때는 변환된 이후 값으로 확인해야 하죠.)

    외부에서 테스트할때는 mosquitto 가 설치된 서버의 공인IP와 포워딩된 포트로 접근했습니다. --- 성공!
    내부의 node-red에서 테스트할때는 여러가지 방법을 확인했는데 모두 안됩니다. -- 미치는 부분!
    가. 변환된 공인IP와 포워딩된 포트로 설정 -- 안됨
    나. 서버의 사설IP와 변환 전/후 포트로 변경 -- 안됨
    다. 서버의 사설IP와 변환전 포트(1883)으로 변경 -- 안됨
    라. localhost, 변환 전/후 포트로 설정 -- 안됨
    마. 127.0.0.1, 변환 전/후 포트로 설정 -- 안됨
    바. 0.0.0.0, 변환 전/후 포트로 설정 -- 안됨

    다 안됩니다. 왜일까요?

    goormIDE에서 변환해주는 포워딩 값

    외부에서 확인할때 사용한 값

    node-red에서 설정하는 서버값..--- 여러가지 값을 넣어도 다~~ 안됨.

  • Level 8

    해결: 서버내 프로세스간 통신은 포워딩 전 포트로 통신하는게 맞고.
    해당 오류는 node-red 프로그램을 잘못 설치해서 발생한 문제임
    해결책? 프로그램 설치시에 블로그 글 보고 따라하지 말고 실제 배포사이트의 설치가이드를 읽어보고 하자..~

  • Level 8

    goormIDE에서 변환해주는 포워딩 값
    ![alt text](![0_1606377972589_fca7d745-ed33-4245-862a-405deef02582-image.png](100% 업로드 중) image url)

POPULAR TOPICS

SUGGESTED TOPICS