Skip to content
Christian Fobel edited this page Jul 25, 2017 · 1 revision

MQTT

Relevant Conda packages

  • Package Windows 10 64-bit emqttd v2.1.2 as Conda package (see here)
  • Package Python paho-mqtt as Conda package (see here)

Notes

  • retain flag can be used to deliver message to new clients subscribing after message is published

  • persistent sessions can save values between broker restarts

  • EMQTTD supports access control list security through plugins

    • For example, see the auth-mysql plugin:

       CREATE TABLE `mqtt_acl` (
         `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
         `allow` int(1) DEFAULT NULL COMMENT '0: deny, 1: allow',
         `ipaddr` varchar(60) DEFAULT NULL COMMENT 'IpAddress',
         `username` varchar(100) DEFAULT NULL COMMENT 'Username',
         `clientid` varchar(100) DEFAULT NULL COMMENT 'ClientId',
         `access` int(2) NOT NULL COMMENT '1: subscribe, 2: publish, 3: pubsub',
         `topic` varchar(100) NOT NULL DEFAULT '' COMMENT 'Topic Filter',
      
  • Refresh paho.mqtt.client.Client with all retained messages:

     client.loop_stop()
     client.reconnect()
     client.loop_start()
    
  • Consider URL route registrations for registering MQTT topic callback functions/methods