Watson IoT Platform - MQTT - CleanSession 확인
Watson IoT Platform 사용하기 에서 IoT 앱을 준비했습니다.
MessageSight 이동 에서 MQTT 브로커로 MessageSight를 준비했습니다.
Node-RED를 로컬 환경에서 실행
와 Watson IoT Platform - MQTT - Node-RED에서 pub/sub 에서 Node-RED에서 pub/sub 수 있도록 했습니다.
CleanSession = false (durable subscription) 기능 확인
Node-RED 흐름을 복사하는 방법을 참조하여 다음 플로우를 복사하고 MQTT 노드의 주소를 환경에 맞 춥니 다.
CleanSession=false 확인
[{"id":"42b340e4.dc4bd","type":"mqtt-broker","z":"375326d0.fda38a","broker":"192.168.100.100","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willRetain":null,"willPayload":"","birthTopic":"","birthQos":"0","birthRetain":null,"birthPayload":""},{"id":"418d3097.c29d28","type":"mqtt out","z":"375326d0.fda38a","name":"","topic":"/abc/def/ghi","qos":"","retain":"","broker":"42b340e4.dc4bd","x":250,"y":520,"wires":[]},{"id":"fec77fc6.405f2","type":"inject","z":"375326d0.fda38a","name":"","topic":"","payload":"こんにちは","payloadType":"str","repeat":"","crontab":"","once":false,"x":100,"y":520,"wires":[["418d3097.c29d28"]]}]
CleanSession=false 확인
#!/usr/bin/python
# -*- coding: utf-8 -*-
import paho.mqtt.client as mqtt
topic = "/abc/def/ghi"
clientID = "subTester"
broker = "192.168.100.100"
def on_connect(client, userdata, flags, rc):
print("connected")
client.subscribe(topic)
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
mqttc = mqtt.Client(clientID,clean_session=0)
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.connect(host=broker, port=1883, keepalive=60)
mqttc.loop_forever()
/abc/def/ghi
주제에 구독하십시오. /abc/def/ghi
주제로 메시지를 보내 메시지가이 프로그램 (구독자)에 의해 수신되는지 확인하십시오. /abc/def/ghi
토픽에 메세지를 송신합니다.Reference
이 문제에 관하여(Watson IoT Platform - MQTT - CleanSession 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/egplnt/items/c029066756902eb409c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)