yoncho`s blog
[Mosquitto] 2. Publisher 본문
*본 글은 node.js 언어로 Docker에 올라간 mosquitto (mqtt broker)에 topic을 발행 및 topic으로 payloag를 전달 하는 Publisher Code 예제입니다.
목차
1. publisher 코드 작성 (mqtt-publisher-IBU.js)
2. 작성한 코드 실행 후 Broker(mosquitto) 확인
Publisher 코드 작성 (파일 명 : mqtt-publisher-IBU.js)
mqtt-publisher-IBU.js 파일 생성
$user> code mqtt-publisher-IBU.js
코드 작성
const crypto = require('crypto')
const mqtt = require('mqtt') //npm install --save mqtt
const host = 'localhost' //연결한 Broker 주소
const port = '1883' //연결할 Port
const connectUrl = `mqtt://${host}:${port}`
const client = mqtt.connect(connectUrl)
const topic = 'GV60/IBU/'
setInterval(() => {
client.publish(topic, `7E8,08,${crypto.randomBytes(8).toString('hex')}`, {qos:0, retain: false}, (error)=>{
if(error){
console.error(error)
}
});
// 8byte 난수 hex 코드 발생
},
100); //interval (unit: ms)
/* QoS 수준 (0,1,2)
0 : 그냥 한번만 쏜다. (송수신 실패 상관 없이 like UDP)
1 : 적어도 한번 수신된다. 수신 성공할 때까지 전송
2 : 적어도 한번 수신하는데 중복 처리해서 무조건 정확하게 1번만 수신되도록,,
사용법 :
client.publish("topic", "data", {qos:2}); 이렇게 publish 하면 된다.
*/
파일 실행 후 Broker 확인
파일 실행
$user> node mqtt-publisher-IBU.js
Broker (received PUBLISH에 성공함)
'기술, 나의 공부를 공유합니다. > MQTT' 카테고리의 다른 글
[RabbitMQ] 2. Queue (0) | 2023.06.24 |
---|---|
[RabbitMQ] 1. Exchange (0) | 2023.06.24 |
[RabbitMQ] 0. RabbitMQ ? (0) | 2023.06.22 |
[Mosquitto] 3. Subscriber (0) | 2023.06.22 |
[Mosquitto] 1. Broker (0) | 2023.06.22 |
Comments