0

i am using paho mqtt broker, i have hosted my broker on AWS (Amazon web services), when i try to connect to mqtt on AWS it shows unexpected disconnection many times. It connect multiple times and disconnect immediately. Some times it successfully connects to server but doesn't publish any message to broker. I am using python on client side.

import paho.mqtt.client as MQTT
import serial
import time
import sqlite3
import json
import picamera
from ast import literal_eval


DEBUG = True

MQTT_HOST = "192.168.0.19"
MQTT_PORT = 1883
MQTT_USERNAME = ""
MQTT_PASSWORD = ""
MQTT_CLIENT_ID = "publisher"
MQTT_TOPIC = "test/sd/getdata"
MQTT_QOS = 0
MQTT_RETAIN = False
MQTT_CLEAN_SESSION = True
# MQTT_LWT = "paho/test/hello"



def on_connect(client, userdata, flags, rc):
    #print("Connected with result code "+str(rc))
    if rc == 0:
        print "Connected to %s:%s" % (MQTT_HOST, MQTT_PORT)
        #logging.info("Connected to %s:%s" % (MQTT_HOST, MQTT_PORT))

        # Subscribe to our incoming topic
        client.subscribe(MQTT_TOPIC, qos=MQTT_QOS

    elif rc == 1:
        print "Connection refused - unacceptable protocol version"
    elif rc == 2:
         #logging.info("Connection refused - identifier rejected")
         print "Connection refused - identifier rejected"
    elif rc == 3:
         #logging.info("Connection refused - server unavailable")
         print "Connection refused - server unavailable"
    elif rc == 4:
         #logging.info("Connection refused - bad user name or password")
         print "Connection refused - bad user name or password"
    elif rc == 5:
         #logging.info("Connection refused - not authorised")
         print "Connection refused - not authorised"
    else:
         print "Connection failed - result code %d" % (rc)



 # The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    #print msg
    print(msg.topic+" : "+str(msg.payload))



def on_disconnect(client, userdata, rc):
    if rc != 0:
        print("Unexpected disconnection.")



def on_publish(client, userdata, mid):
    """
    What to do when a message is published
    """
   print "published data"


def on_subscribe(client, userdata, mid, granted_qos):
    """
    What to do in the event of subscribing to a topic"
    """



def on_unsubscribe(client, userdata, mid):
    """
    What to do in the event of unsubscribing from a topic
    """




client = mqtt.Client(MQTT_CLIENT_ID, clean_session=MQTT_CLEAN_SESSION)
client.on_connect = on_connect
client.on_message = on_message
client.on_disconnect = on_disconnect
client.on_subscribe = on_subscribe
client.on_unsubscribe = on_unsubscribe
client.on_publish = on_publish

# Set the login details
if MQTT_USERNAME:
    client.username_pw_set(MQTT_USERNAME, MQTT_PASSWORD)

# Set the Last Will and Testament (LWT) *before* connecting
# client.will_set(MQTT_LWT, payload="this is my last will", qos=0, retain=True)
# print ""

# Attempt to connect
print "Connecting to %s:%d..." % (MQTT_HOST, MQTT_PORT)
try:
    client.connect(MQTT_HOST, MQTT_PORT, 60)
except Exception, e:
    print "Error connecting to %s:%d: %s" % (MQTT_HOST, MQTT_PORT, str(e))
    sys.exit(2)
# Let the connection run forever
client.loop_start()
time.sleep(3)
result = a.start()

if result:
    fo = open(a.fileName, "r")
    x= fo.read()
    # bytearr = bytearray(x)
    data = bytearray(x)
    # print a.savingTemp
    # fingerdata = {'id':a.savingTemp,'data': data} 
    client.publish(MQTT_TOPIC,data)
    # client.publish(MQTT_TOPIC,json.dumps(fingerdata))
while True:
    pass
hardillb
  • 54,545
  • 11
  • 67
  • 105
Himanshu mittal
  • 155
  • 5
  • 16
  • Your going to need to share some logs from the broker and probably the python code or we don't really have anything useful to work with here – hardillb Oct 07 '16 at 16:58
  • OK, but we probably still need to see the mosquitto log to see why it's disconnecting the client. I would guess it's because you are trying to connect multiple clients with the same client id. – hardillb Nov 30 '16 at 09:34
  • If you please tell me where is mosquitto log file. I find only mosquitto.conf file – Himanshu mittal Dec 31 '16 at 07:02
  • Possible duplicate of [MOsquitto unexpected disconnection](http://stackoverflow.com/questions/41366328/mosquitto-unexpected-disconnection) – hardillb Dec 31 '16 at 08:48
  • This sounds like it is the same problem as your other question (http://stackoverflow.com/questions/41366328/mosquitto-unexpected-disconnection – hardillb Dec 31 '16 at 08:48

0 Answers0