nodejs mqtt 예제

수신기는 연결 이벤트를 대기하고 콜백 함수를 호출합니다. 이 예제에서는 클라이언트가 연결될 때 메시지를 단순히 인쇄합니다. 브라우저화와 마찬가지로 MQTT.js를 라이브러리로 내보냅니다. 내보낸 모듈은 var mqtt = xxx가 되며 전역 공간에 개체를 추가합니다. 웹팩 구성에서 output.libraryTarget을 설정하여 다른 형식(AMD/CommonJS/기타)으로 모듈을 내보낼 수도 있습니다. 우편 인력을 사용하여 http://localhost:3000/send-mqtt 게시물 요청을 할 수 있습니다. 컨트롤러의 경우 열린 메시지 또는 닫기 메시지를 보내는 기능을 추가합니다. 이들은 두 가지 간단한 기능입니다. 실제 응용 프로그램에서이 두 함수는 외부 입력 (웹 응용 프로그램, 모바일 앱 등)에서 호출됩니다. 이 예제에서는 시스템을 테스트하기 위해 타이머를 사용하여 호출합니다. 이에 대한 추가 코드는 다음과 같습니다. 보시다시피 mqtt 프로토콜을 사용하여 메시지를 보내고 받는 ExpressJS API를 구축하는 것은 매우 간단합니다. 오늘 우리의 응용 프로그램은 두 개의 파일로 나눌 것입니다, 차고 하나 컨트롤러에 대한 하나.

코드 조각의 맨 위에 파일 이름을 포함합니다. 일을 시작하려면 mqtt npm 라이브러리를 포함하고 사용할 브로커를 설정해야합니다. 테스트에 사용할 오픈 브로커가 많이 있습니다. 나는 broker.hivemq.com 사용할 거야. 다시 말하지만, 이것은 테스트용일 뿐입니다 – 프로덕션 워크로드를 실행하지 마십시오. 이 파일은 두 파일의 맨 위에 있어야 합니다. 자바 스크립트에서 새로운 비동기 대기 기능을 사용하려는 경우, 또는 콜백 대신 약속을 사용하는 것을 선호하는 경우, 비동기 mqtt는 가능하면 콜백 대신 약속을 사용하는 MQTT.js를 통해 래퍼입니다. 우선 자바 스크립트 mqtt 클라이언트 라이브러리를 설치해야합니다. https://www.npmjs.com/package/mqtt mqtt 때 방출. 클라이언트#end()가 호출됩니다. 콜백이 mqtt에 전달된 경우. Client#end() 콜백이 반환되면 이 이벤트가 내보내됩니다.

이 간단한 예제에서는 MQTT를 사용하여 메시지를 보내고 받는 매우 간단한 ExpressJS API를 작성하는 방법을 보여 드리겠습니다. 이는 IoT 장치와 API를 통신하는 데 유용할 수 있습니다. 이제 MQTT를 사용하여 원격 차고 오프너를 구축하려고 한다고 가정해 보겠습니다. 가장 먼저 해야 할 일은 차고 문과 리모컨 사이에 어떤 메시지를 보내야 할지 계획하는 것입니다. 이 예제를 간단하게 하기 위해 문을 열고 닫을 수 있어야 한다고 말할 것입니다. 실제 생활에서 이에 대한 아키텍처는 다음과 같이 보일 수 있습니다: 노드의 것과 동일한 API를 사용하여 브라우저에서 mqtt.js를 사용할 수 있습니다. MQTT.js 번들은 https://unpkg.com/mqtt/dist/mqtt.min.js http://unpkg.com 통해 사용할 수 https://github.com/cbh6/express-api-mqtt-example 이 github 리포지토리의 코드를 확인하십시오. 버전 범위에 대한 전체 설명서는 http://unpkg.com 참조하십시오. 내가 추천하고 싶은 마지막 것은 응용 프로그램이 어떤 이유로 닫을 때 우리의 차고 문 업데이트가 연결된 상태를 만드는 것입니다. 이 종료 정리 코드는 stackoverflow 응답을 기반으로 하며 mqtt 메시지를 보내도록 수정되었습니다.

이것은 차고 파일의 끝에 떨어질 수 있습니다. 이 모든 결합은 최종 차고 파일로 우리를 떠난다. 나는 질문이 있습니다. “최종 스크립트 예제”에서 “var 클라이언트 = mqtt.connect(“mqtt://192.168.1.157″,{clientId:”mqttjs01″})로 작성됩니다. mqtt 서버, 일명 브로커 또는 다른 것으로 작동 장치의 번호 “192.168.1.1.157”IP 주소입니까? 내 라즈베리 파이 mqtt 브로커와 mqtt 클라이언트역할을 내 자신의 컴퓨터로 봉사 할, 나는 당신이했던 것처럼 내 라즈베리 파이의 IP 주소를 작성하여 그들을 연결할 수 있습니까? 감사합니다. MQTT.js, Express.js 및 SSE를 사용하여 웹 브라우저에서 메시지를 전달하는 전체 샘플 웹 앱은 여기에서 확인할 수 있습니다: github.com/CloudMQTT/mqtt-sse mqtt-sse.herokuapp.com 여기에서 테스트할 수 있습니다.