Python Example
import paho.mqtt.client as mqtt
import json
import ssl
mqtt_user = '<Get mqtt user name from qstream console>'
mqtt_pwd = '<Get mqtt passowrd from qstream console>'
upstream_topic = '<Get mqtt topic to publish from qstream console>'
def on_connect(client, userdata, flags, reason_code, properties=None):
if reason_code == 0:
print(f"Connected successfully")
else:
print(f"Could not connect")
#qstream support below versions of mqtt
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, protocol=mqtt.MQTTv31)
client.username_pw_set(mqtt_user, mqtt_pwd)
client.on_connect = on_connect
# ssl configs below can be commented on unsecured port 1883
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
client.tls_set_context(context)
#connect to Qstream Endpoint
client.connect('mqtt.qconsole.quarkifi.com', 8883)
#sample payload to publish
payload = {"temp_1": 43}
client.publish(upstream_topic,json.dumps(payload))
print(f"Sent Data successfully")
client.loop_forever()
Nodejs Example
const mqtt = require('mqtt')
const mqtt_user = '<Get mqtt user name from qstream console>'
const mqtt_pwd = '<Get mqtt passowrd from qstream console>'
const mqtt_topic = '<Get mqtt topic to publish from qstream console>'
const client = mqtt.connect('mqtts://mqtt.qconsole.quarkifi.com:8883',
{
username: mqtt_user,
password: mqtt_pwd,
})
client.on('connect', () => {
console.log('connected to mqtt successfully')
// Sample payload getting published
const msg = {
'temp_1': 29,
}
client.publish(mqtt_topic, JSON.stringify(msg))
console.log('Published to mqtt successfully')
})