Refactor python module structure
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
import umsgpack
|
||||
import paho.mqtt.client as mqtt
|
||||
import time
|
||||
import ssl
|
||||
import json
|
||||
|
||||
cfg = None
|
||||
with open('config.json') as json_config:
|
||||
cfg = json.load(json_config)
|
||||
connected = False
|
||||
|
||||
def on_connect(client, userdata, flags, rc):
|
||||
print("Connected with result code " + str(rc))
|
||||
if rc == 0:
|
||||
global connected
|
||||
connected = True
|
||||
|
||||
client.subscribe('hello/test', qos=1)
|
||||
|
||||
def on_message(client, userdata, message):
|
||||
p = umsgpack.unpackb(message.payload)
|
||||
print("Received message '" + p["message"] + "' on topic '"
|
||||
+ message.topic + "' with QoS " + str(message.qos))
|
||||
|
||||
def on_disconnect(client, userdata, rc):
|
||||
if rc != 0:
|
||||
print("Unexpected disconnection.")
|
||||
|
||||
mqttc = mqtt.Client()
|
||||
|
||||
# mqttc.tls_set_context(context = ssl.create_default_context())
|
||||
|
||||
mqttc.on_connect = on_connect
|
||||
mqttc.on_disconnect = on_disconnect
|
||||
mqttc.on_message = on_message
|
||||
|
||||
mqttc.connect(cfg["mqtt"]["host"], cfg["mqtt"]["port"], cfg["mqtt"]["timeout"])
|
||||
|
||||
mqttc.loop_start()
|
||||
|
||||
# mqttc.will_set("hello/test", "Disconnected", )
|
||||
|
||||
pub = input("Enter something to publish: ")
|
||||
|
||||
while pub != 'q':
|
||||
if(connected):
|
||||
pub = umsgpack.packb({"message":pub})
|
||||
mqttc.publish('hello/test', pub)
|
||||
pub = input("Enter something to publish: ")
|
||||
print('Message is: ' + pub)
|
||||
else:
|
||||
pub = input('Would you like to reconnect? ')
|
||||
if pub == 'y':
|
||||
mqttc.reconnect()
|
||||
time.sleep(2)
|
||||
|
||||
mqttc.loop_stop()
|
||||
mqttc.disconnect()
|
||||
@@ -1,42 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Tue Nov 27 14:17:45 2018
|
||||
|
||||
@author: pivatom
|
||||
"""
|
||||
|
||||
import paho.mqtt.client as mqtt
|
||||
|
||||
# These are just the defaults.
|
||||
mqttc = mqtt.Client(client_id="", clean_session=True, userdata=None, protocol=MQTTv311, transport="tcp")
|
||||
|
||||
mqttc.tls_set(ca_certs=None, certfile=None, keyfile=None, cert_reqs=ssl.CERT_REQUIRED,
|
||||
tls_version=ssl.PROTOCOL_TLS, ciphers=None)
|
||||
|
||||
# Use port 8883 for SSL
|
||||
# Host is just an ip address or hostname of the broker.
|
||||
mqttc.connect(host, port=1883, keepalive=60, bind_address="")
|
||||
|
||||
# Topic is a string of the topic to publish to.
|
||||
mqttc.publish(topic, payload=None, qos=0, retain=False)
|
||||
|
||||
# Just subscribe to a topic.
|
||||
mqttc.subscribe(topic, qos=0)
|
||||
|
||||
def on_message(client, userdata, message):
|
||||
'''
|
||||
Do something with the message. Choose based on what the topic is.
|
||||
|
||||
Can also just assign different callback functions for different topics
|
||||
using message_callback_add(sub, callback)
|
||||
'''
|
||||
print("Received message '" + str(message.payload) + "' on topic '"
|
||||
+ message.topic + "' with QoS " + str(message.qos))
|
||||
|
||||
mqttc.on_message = on_message
|
||||
|
||||
# Or for specific callback:
|
||||
# Can use foo/# for all subtopics of foo/, or
|
||||
# +/bar for all topics that include bar.
|
||||
mqttc.message_callback_add(sub, on_message)
|
||||
|
||||
Reference in New Issue
Block a user