Project

Project: MQTT Publish

Eclipse Paho MQTT Python client library, which implements versions 3.1 and 3.1.1 of the MQTT protocol. Paho Mqtt

Publish sensor data through MQTT Protocol using test.mosquitto.org server under "IoT101/DataSensor" topic

Go to your git "TheIoTLearningInitiative" repository, under "InternetOfThings101" directory

    root@board:~# cd TheIoTLearningInitiative/InternetOfThings101
    root@board:~/TheIoTLearningInitiative/InternetOfThings101#
    root@edison:~/TheIoTLearningInitiative/InternetOfThings101# vi main.py
#!/usr/bin/python

import paho.mqtt.client as paho
import psutil
import signal
import sys
import time

from threading import Thread

def functionDataActuator():
    print "Data Actuator"

def functionDataSensor():
    netdata = psutil.net_io_counters()
    data = netdata.packets_sent + netdata.packets_recv
    return data

def functionDataSensorMqttOnPublish(mosq, obj, msg):
    print "Data Sensor Mqtt Published!"

def functionDataSensorMqttPublish():
    mqttclient = paho.Client()
    mqttclient.on_publish = functionDataSensorMqttOnPublish
    mqttclient.connect("test.mosquitto.org", 1883, 60)
    while True:
        data = functionDataSensor()
        topic = "IoT101/DataSensor"
        mqttclient.publish(topic, data)
        time.sleep(1)

def functionSignalHandler(signal, frame):
    sys.exit(0)

if __name__ == '__main__':

    signal.signal(signal.SIGINT, functionSignalHandler)

    threadmqttpublish = Thread(target=functionDataSensorMqttPublish)
    threadmqttpublish.start()

    while True:
        print "Hello Internet of Things 101"
        print "Data Sensor: %s " % functionDataSensor()
        time.sleep(5)

# End of File

Execute main.py watching its output and listen for sensor data with mosquitto_sub app or any mqtt cellphone application using a test.mosquitto.org server susbcribing to "IoT101/DataSensor"

Project: MQTT Subscribe

Subscribe to "IoT101/DataActuator" topic through MQTT Protocol using test.mosquitto.org server to change the status of Data Actuator

Go to your git "TheIoTLearningInitiative" repository, under "InternetOfThings101" directory

Execute main.py watching its output and publish actuator data with mosquitto_pub app or any mqtt cellphone application using a test.mosquitto.org server publishing to "IoT101/DataActuator"

Last updated