def main(): print("--MQTT-SN -> MQTT bridge initialization--") print("Initializing MQTT-SN protocol") client = Client("Bridge") client.registerCallback(BridgeCallback()) print("Connecting to MQTT-SN broker at " + MQTTSN_BROKER_ADDRESS + ":" + str(MQTTSN_BROKER_PORT)) client.connected_flag = False client.connect(MQTTSN_BROKER_ADDRESS, MQTTSN_BROKER_PORT) client.loop_start() while not client.connected_flag: time.sleep(5) print("Waiting for connection to MQTT-SN broker...") print("Initializing MQTT protocol") mqtt_client = mqtt.Client("Bridge") mqtt_client.on_connect = mqtt_on_connect mqtt_client.on_message = mqtt_on_message print("Connecting to MQTT Broker at " + MQTT_BROKER_ADDRESS) mqtt_client.tls_set(CA_CERTIFICATE, CLIENT_CERTIFICATE, keyfile=PRIVATE_KEY, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None) print("Trying connection") mqtt_client.connect(aws_iot_endpoint, BROKERPORT) mqtt_client.loop_start() print("Waiting for connection to complete") time.sleep(CONNECTION_WAIT_SLEEP) client.loop_start() rc, topic_id = client.subscribe(MQTTSN_TOPIC, 0) if rc == 0: print("Subscribed to " + MQTTSN_TOPIC + " MQTT-SN topic.") else: return -1 while True: while not message_queue.empty(): m = message_queue.get() print(m) mqtt_client.publish(MQTT_TOPIC, m, 1)
def main(): print("--MQTT-SN -> MQTT bridge initialization--") print("Initializing MQTT-SN protocol") client = Client("Bridge") client.registerCallback(BridgeCallback()) print("Connecting to MQTT-SN broker at " + MQTTSN_BROKER_ADDRESS + ":" + str(MQTTSN_BROKER_PORT)) client.connected_flag = False client.connect(MQTTSN_BROKER_ADDRESS, MQTTSN_BROKER_PORT) client.loop_start() while not client.connected_flag: time.sleep(5) print("Waiting for connection to MQTT-SN broker...") print("Initializing MQTT protocol") mqtt_client = mqtt.Client("Bridge") mqtt_client.on_connect = mqtt_on_connect mqtt_client.on_message = mqtt_on_message print("Connecting to MQTT Broker at " + MQTT_BROKER_ADDRESS) mqtt_client.connect(MQTT_BROKER_ADDRESS) mqtt_client.loop_start() print("Waiting for connection to complete") time.sleep(CONNECTION_WAIT_SLEEP) client.loop_start() rc, topic_id = client.subscribe(MQTTSN_TOPIC, 0) if rc == 0: print("Subscribed to " + MQTTSN_TOPIC + " MQTT-SN topic.") else: return -1 while True: while not message_queue.empty(): m = message_queue.get() print(m) mqtt_client.publish(MQTT_TOPIC, m, 1)
client.registerCallback(MyCallback()) print("threads ", threading.activeCount()) print("connecting ", host) client.connected_flag = False client.connect(host, port) client.lookfor(MQTTSN.CONNACK) try: if client.waitfor(MQTTSN.CONNACK) == None: print("connection failed") raise SystemExit("no Connection quitting") except: print("connection failed") raise SystemExit("no Connection quitting") client.loop_start() #start loop """ while not client.connected_flag: time.sleep(1) print("waiting for connection") """ #quit() print("threads ", threading.activeCount()) topic1 = "bulbs1" print("topic for topic1 is", topic1) print("connected now subscribing") client.subscribed_flag = False while True:
host = "192.168.1.159" port = 1885 #port=10000 m_port = 1885 #port gateways advertises on m_group = "225.0.18.83" #IP gateways advertises on client = Client("linh_pub") #change so only needs name client.registerCallback(Callback()) print("threads ", threading.activeCount()) print("connecting ", host) client.connected_flag = False client.connect(host, port) client.loop_start() client.lookfor(MQTTSN.CONNACK) try: if client.waitfor(MQTTSN.CONNACK) == None: print("connection failed") raise SystemExit("no Connection quitting") except: print("connection failed") raise SystemExit("no Connection quitting") topic1 = "bulbs1" print("connected now registering topic ", topic1) time.sleep(2) topic1_id = client.register(topic1)