Skip to content
Snippets Groups Projects

Sniffing oneM2M/MQTT traffic from Tainan, TW

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Stephan Hohmann
    tainan_client.py 1.30 KiB
    import paho.mqtt.client as mqtt
    from time import strftime
    
    
    client = mqtt.Client()
    
    
    def callback(func):
        setattr(client, func.__name__, func)
        return func
    
    
    @callback
    def on_message(*args):
        (_, _, message) = args
        # Display all received messages published on topics to which we subscribed
        print '[%s] Message on %s:\n%s\n\n' % (
            strftime('%Y-%m-%d %H:%M:%S'),
            message.topic,
            message.payload,
        )
    
    
    @callback
    def on_connect(*_):
        # Connection losses also lead to subscriptions being lost. Therefore, it is advantageous to handle subscriptions
        # in this callback function.
        # NB: MQTT allows subscribing to a set of topics in one packet. Doing so is highly encouraged.
        client.subscribe([
            # Subscribe to all topics prefixed '/oneM2M/'.
            ('/oneM2M/#', 1),
            # In case you are curious: Topics under $SYS/ are exposing interesting extra information (such as number of
            # connected clients, traffic, etc.) on some brokers. This is a current best practice that may end up in the
            # official standard. See also <https://github.com/mqtt/mqtt.github.io/wiki/SYS-Topics>
            #('$SYS/#', 1),
        ])
    
    # Adjust this to your needs. Alternative ports can be specified through the 'port' parameter
    client.connect('140.116.247.71')
    client.loop_forever()
    0% or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment