<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.mqtt.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>MQTT</title>
    <subtitle></subtitle>
    <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/"/>
    <id>http://www.mqtt.org/wiki/</id>
    <updated>2012-05-17T03:56:04-07:00</updated>
    <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
<link rel="self" type="application/atom+xml" href="http://www.mqtt.org/wiki/feed.php" />
    <entry>
        <title>acronyms</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/acronyms?do=revisions&amp;rev=1327771723"/>
        <published>2012-01-28T09:28:43-07:00</published>
        <updated>2012-01-28T09:28:43-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/acronyms?do=revisions&amp;rev=1327771723</id>
        <summary>Some useful terms and definitions associated with MQTT

	*  RSMB - Really Small Message Broker from IBM
	*  LWT - Last Will and Testament
	*  M2M - Machine-to-Machine
	*  M2M IWG - Machine-to-Machine Industry Working Group at Eclipse
	*  IoT - Internet of Things
	*  Paho - Eclipse Paho messaging project
	*  bridge - a connection between two MQTT brokers
	*</summary>
    </entry>
    <entry>
        <title>add_messageid_to_ping</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/add_messageid_to_ping?do=revisions&amp;rev=1329376098"/>
        <published>2012-02-15T23:08:18-07:00</published>
        <updated>2012-02-15T23:08:18-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/add_messageid_to_ping?do=revisions&amp;rev=1329376098</id>
        <summary>We should consider adding an optional message id to the PINGREQ and PINGRESP message types.

While the current PING functionality seems to primarily be to extend the keepalive timer - by adding an optional message id to this we could use the ping functionality for additional purposes such as network latency testing, detection of packet loss, etc to a better degree then is now possible.</summary>
    </entry>
    <entry>
        <title>apis_and_examples</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/apis_and_examples?do=revisions&amp;rev=1328603576"/>
        <published>2012-02-07T00:32:56-07:00</published>
        <updated>2012-02-07T00:32:56-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/apis_and_examples?do=revisions&amp;rev=1328603576</id>
        <summary>APIs

Documentation of the available APIs for building MQTT clients, examples of using these APIs can be found in :

	*  PHP
	*  Perl WebSphere::MQTT::Client
	*  IBM IA93 MQTT C Client
	*  Arduino Pub/Sub Client
	*  Delphi
	*  .net
	*  Java
	*  libmosquitto (C client library)
	*  libmosquittopp (C++ client library)
	*  libmosquitto-python (Python client module)
	*  Ruby</summary>
    </entry>
    <entry>
        <title>are_topics_dynamic</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/are_topics_dynamic?do=revisions&amp;rev=1328052375"/>
        <published>2012-01-31T15:26:15-07:00</published>
        <updated>2012-01-31T15:26:15-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/are_topics_dynamic?do=revisions&amp;rev=1328052375</id>
        <summary>Topics - are they dynamic?

One of the design principles of MQTT is that it should be “zero-admin” (as far as possible).

Therefore, topics on a broker are always expected to be “dynamic” and to require no administrative setup.

i.e. a client subscribes on topic x without knowing whether it exists; it doesn't, so broker silently creates that topic; and the client receives publications on that topic, should they be sent (which, of course, in a pub/sub world, they may never be).</summary>
    </entry>
    <entry>
        <title>authentication_features</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/authentication_features?do=revisions&amp;rev=1329547880"/>
        <published>2012-02-17T22:51:20-07:00</published>
        <updated>2012-02-17T22:51:20-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/authentication_features?do=revisions&amp;rev=1329547880</id>
        <summary>MQTT v3.1 has username/password support at the API level, so you can ensure only authenticated users connect.

If you are using a tunneling protocol to provide communications security for your MQTT system, you may also be able to leverage this to limit IP access to the MQTT server to those clients that are authenticated to the tunneling protocol.</summary>
    </entry>
    <entry>
        <title>authorization_features</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/authorization_features?do=revisions&amp;rev=1329548392"/>
        <published>2012-02-17T22:59:52-07:00</published>
        <updated>2012-02-17T22:59:52-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/authorization_features?do=revisions&amp;rev=1329548392</id>
        <summary>Depending on the broker implementation, different users can then be a authorized to perform different actions. For example, some users may only be allowed to subscribe to certain topics, whilst others with more privileges can publish to them as well.</summary>
    </entry>
    <entry>
        <title>basic_concepts</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/basic_concepts?do=revisions&amp;rev=1332699811"/>
        <published>2012-03-25T11:23:31-07:00</published>
        <updated>2012-03-25T11:23:31-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/basic_concepts?do=revisions&amp;rev=1332699811</id>
        <summary>A brief introduction to some of the concepts found in MQTT can be found in the MQTT manpage on the mosquitto website.

There is a very nice overview of MQTT available here: What is MQTT and how does it work with WebSphere MQ?

PubSub Messaging

Some useful information on topics can be found at Topic semantics and usage.</summary>
    </entry>
    <entry>
        <title>bridge_protocol</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/bridge_protocol?do=revisions&amp;rev=1335735763"/>
        <published>2012-04-29T14:42:43-07:00</published>
        <updated>2012-04-29T14:42:43-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/bridge_protocol?do=revisions&amp;rev=1335735763</id>
        <summary>Bridges should ideally handle the protocol slightly different to normal clients. 

From a thread on the google group:

	&quot; You are right, RSMB recognizes when another RSMB connects to it via a
 bridge by using a different protocol version number (when try_private
 is true, which is the default).  If that connect fails, then the
 bridge will fall back to MQTT 3.1.   This internal protocol is the
 same as MQTT 3.1 except that:

 1) the retained flags are propagated on publish packets, and
 2) the s…</summary>
    </entry>
    <entry>
        <title>broker_auto-discovery</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/broker_auto-discovery?do=revisions&amp;rev=1327688415"/>
        <published>2012-01-27T10:20:15-07:00</published>
        <updated>2012-01-27T10:20:15-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/broker_auto-discovery?do=revisions&amp;rev=1327688415</id>
        <summary>Possible solutions to clients auto-discovering a broker:

	*  Zeroconf / Multicast-DNS / DNS-SD
		*  a non-intrusive example using Avahi

	*  Anycast / a well-known IPv6 address
	*  DHCP option</summary>
    </entry>
    <entry>
        <title>clear_topic</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/clear_topic?do=revisions&amp;rev=1328732193"/>
        <published>2012-02-08T12:16:33-07:00</published>
        <updated>2012-02-08T12:16:33-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/clear_topic?do=revisions&amp;rev=1328732193</id>
        <summary>An application created a topic and “left” a retained publication on it - but you no longer want that topic to exist.

The solution depends on the broker, but several brokers support the following:

Publish a message with an empty payload and the retained flag set.
This clears any previously retained message on that topic.</summary>
    </entry>
    <entry>
        <title>clientid_autogeneration</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/clientid_autogeneration?do=revisions&amp;rev=1327689436"/>
        <published>2012-01-27T10:37:16-07:00</published>
        <updated>2012-01-27T10:37:16-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/clientid_autogeneration?do=revisions&amp;rev=1327689436</id>
        <summary>Roger Light proposed:

	&quot; I'd like to propose something to be added to the spec as a suggestion for people implementing MQTT clients. My suggestion is that if a client automatically generates a client id based on a random or non-repeatable value, it should refuse to run if the clean session flag is set to false. Clients with clean session set to false (durable/persistent clients) with a random id will be unable to reconnect using the same id and so leave persistent subscriptions on the server th…</summary>
    </entry>
    <entry>
        <title>coding_bounties</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/coding_bounties?do=revisions&amp;rev=1328638748"/>
        <published>2012-02-07T10:19:08-07:00</published>
        <updated>2012-02-07T10:19:08-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/coding_bounties?do=revisions&amp;rev=1328638748</id>
        <summary>Have an idea for an MQTT app but don't have the time, skill or knowledge to create it? or just a cool idea you want to share with the community? add it to the list below.

	*  web-based MQTT graphing - a challenge by Roger Light on the Mosquitto blog
	*  a PyGTK desktop pub/sub testing app similar to the GUI in IA92
	*  a “modern” replacement for IA92
		*  cross-platform... could be Java.
		*  Needs updating to latest MQTT v3.1 with user auth.
		*  could look a lot nicer (running IA92 with platf…</summary>
    </entry>
    <entry>
        <title>communications_encryption_options</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/communications_encryption_options?do=revisions&amp;rev=1329550287"/>
        <published>2012-02-17T23:31:27-07:00</published>
        <updated>2012-02-17T23:31:27-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/communications_encryption_options?do=revisions&amp;rev=1329550287</id>
        <summary>Some implementations of MQTT (specifically IBM WebSphere MQ) support SSL/TLS encryption as included features.

Additionally, SSL/TLS tunnels, SSH tunnels or traditional VPN protocols like IPSec may be used to encrypt the communications between the client and the broker.</summary>
    </entry>
    <entry>
        <title>conventions</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/conventions?do=revisions&amp;rev=1327769023"/>
        <published>2012-01-28T08:43:43-07:00</published>
        <updated>2012-01-28T08:43:43-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/conventions?do=revisions&amp;rev=1327769023</id>
        <summary>This page exists to document things that are not part of the formal specification but which are widely used or agreed upon.

$SYS topic space

The specification says nothing about the particulars of the topic tree beyond delimiters, wildcards, and min/max length.</summary>
    </entry>
    <entry>
        <title>design_principles</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/design_principles?do=revisions&amp;rev=1328002955"/>
        <published>2012-01-31T01:42:35-07:00</published>
        <updated>2012-01-31T01:42:35-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/design_principles?do=revisions&amp;rev=1328002955</id>
        <summary>Design Principles and Assumptions

MQTT was designed for low-bandwidth, high latency networks in the late 1990s/early 2000s. As a result, the designers made a number of key choices which influenced the way it “looks and feels”.

	*  Simplicity, simplicity, simplicity! Don't add too many “bells and whistles” but provide a solid building block which can easily be integrated into other solutions. Be simple to implement.
	*  Publish/subscribe messaging. Useful for most sensor applications, and enabl…</summary>
    </entry>
    <entry>
        <title>dummy2</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/dummy2?do=revisions&amp;rev=1332965595"/>
        <published>2012-03-28T13:13:15-07:00</published>
        <updated>2012-03-28T13:13:15-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/dummy2?do=revisions&amp;rev=1332965595</id>
        <summary>Hi there</summary>
    </entry>
    <entry>
        <title>encode_decode_len</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/encode_decode_len?do=revisions&amp;rev=1327769412"/>
        <published>2012-01-28T08:50:12-07:00</published>
        <updated>2012-01-28T08:50:12-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/encode_decode_len?do=revisions&amp;rev=1327769412</id>
        <summary>Encoding and decoding the message lengths

The variable length encoding scheme uses a single byte for messages up to 127 bytes long. Longer messages are handled as follows. Seven bits of each byte encode the Remaining Length data, and the eighth bit indicates any following bytes in the representation. Each byte encodes 128 values and a “continuation bit”. For example, the number 64 decimal is encoded as a single byte, decimal value 64, hex 0x40. The number 321 decimal (= 65 + 2*128) is encoded a…</summary>
    </entry>
    <entry>
        <title>example_uses</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/example_uses?do=revisions&amp;rev=1333035670"/>
        <published>2012-03-29T08:41:10-07:00</published>
        <updated>2012-03-29T08:41:10-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/example_uses?do=revisions&amp;rev=1333035670</id>
        <summary>If you know of good examples where MQTT is in use, please add them here.

Further examples are described in comments to a post Do you use MQTT? on the mosquitto blog.

Applications using MQTT

	*  Gaian DB a distributed database
	*  Location Aware Messaging for Accessibility, LAMA an IBM Extreme Blue Project
	*  Say It, Sign It (SiSi) an IBM Extreme Blue Project</summary>
    </entry>
    <entry>
        <title>extended_clientid</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/extended_clientid?do=revisions&amp;rev=1329376922"/>
        <published>2012-02-15T23:22:02-07:00</published>
        <updated>2012-02-15T23:22:02-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/extended_clientid?do=revisions&amp;rev=1329376922</id>
        <summary>The current specification only allows 23 UTF8 chars in a client ID.

While this legitimately allows for an amazingly large number of unique client ID's (6,132,610,415,680,998,648,960 or so), I think we can expect that in practice people will want to use a more meaningful/readable client ID.</summary>
    </entry>
    <entry>
        <title>history</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/history?do=revisions&amp;rev=1328637053"/>
        <published>2012-02-07T09:50:53-07:00</published>
        <updated>2012-02-07T09:50:53-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/history?do=revisions&amp;rev=1328637053</id>
        <summary>MQTT was created by Andy Stanford-Clark of IBM, and Arlen Nipper (then of Arcom Systems, later CTO of Eurotech).

FIXME more detail required :-)



Episode #9 of the IBM Connectivity and Integration Podcasts has some interesting background and history of MQTT.</summary>
    </entry>
    <entry>
        <title>ia92</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/ia92?do=revisions&amp;rev=1273785648"/>
        <published>2010-05-13T14:20:48-07:00</published>
        <updated>2010-05-13T14:20:48-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/ia92?do=revisions&amp;rev=1273785648</id>
        <summary>Introduction

WMQTT IA92 Java utility is part of a collection of Java implementations of MQTT client APIs provided by IBM. It provides a simple GUI allowing users to test publication and subscription with their broker.

Installation

Before installation of the utility a Java runtime environment is required possible options include:</summary>
    </entry>
    <entry>
        <title>java_mqtt_client</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/java_mqtt_client?do=revisions&amp;rev=1274026827"/>
        <published>2010-05-16T09:20:27-07:00</published>
        <updated>2010-05-16T09:20:27-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/java_mqtt_client?do=revisions&amp;rev=1274026827</id>
        <summary>IBM provide a Java API for building MQTT v3 clients in the IA92 package. Download links can be found in the software section.

Installation

Usage

Examples

An example of using the IA92 API is included in the package, including WMQTT - a client with basic GUI for testing most MQTT functions.</summary>
    </entry>
    <entry>
        <title>keepalive_for_the_client</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/keepalive_for_the_client?do=revisions&amp;rev=1334323293"/>
        <published>2012-04-13T06:21:33-07:00</published>
        <updated>2012-04-13T06:21:33-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/keepalive_for_the_client?do=revisions&amp;rev=1334323293</id>
        <summary>The keepAlive timer section of the spec (&lt;http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#keep-alive-timer&gt;) does not properly identify the important of the keepalive for the client knowing that the server is still alive.

In the case of QoS0 messages, the client could be happily sending them well within the KA interval and never know the server was hung. As it is currently worded in the spec, that would be acceptable.</summary>
    </entry>
    <entry>
        <title>libmosquitto-python</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/libmosquitto-python?do=revisions&amp;rev=1327752816"/>
        <published>2012-01-28T04:13:36-07:00</published>
        <updated>2012-01-28T04:13:36-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/libmosquitto-python?do=revisions&amp;rev=1327752816</id>
        <summary>See &lt;http://mosquitto.org/documentation/python&gt; for the API documentation.

There are a few examples on this wiki.</summary>
    </entry>
    <entry>
        <title>mosquitto_message_broker</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mosquitto_message_broker?do=revisions&amp;rev=1336216824"/>
        <published>2012-05-05T04:20:24-07:00</published>
        <updated>2012-05-05T04:20:24-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mosquitto_message_broker?do=revisions&amp;rev=1336216824</id>
        <summary>Introduction

Mosquitto is an Open Source MQTT v3.1 message broker written by Roger Light. It aims to provide the same features (and more) as IBM's Really Small Message Broker but as fully Open Source software.

quick link -&gt; to a blog post on getting started with Mosquitto on Ubuntu</summary>
    </entry>
    <entry>
        <title>mqtt_and_current_cost</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_and_current_cost?do=revisions&amp;rev=1273787710"/>
        <published>2010-05-13T14:55:10-07:00</published>
        <updated>2010-05-13T14:55:10-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_and_current_cost?do=revisions&amp;rev=1273787710</id>
        <summary>Current Cost meters publish XML data every 6 seconds. How is that information parsed, stored, re-read, re-published?

Probably the best way to do this is to not try to do too many things in one go. Think in terms of clients that publish, clients that subscribe and clients that process and re-publish.</summary>
    </entry>
    <entry>
        <title>mqtt_and_pachube</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_and_pachube?do=revisions&amp;rev=1328603161"/>
        <published>2012-02-07T00:26:01-07:00</published>
        <updated>2012-02-07T00:26:01-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_and_pachube?do=revisions&amp;rev=1328603161</id>
        <summary>Introduction

Pachube (pronounced “patch-bay”) is a cloud service for connecting devices in the Internet of Things - allowing sophisticated graphing and analysis of historical environmental information. 
More on the Wikipedia Pachube page.

Articles and examples

	*  Using MQTT with Pachube
	*  Using WebSphere MQ Telemetry and Pachube to connect to remote sensors and devices on IBM developerWorks
	*  Quick Perl script to post updates to Pachube pachube_update.pl
	*  Experimental MQTT to Pachube …</summary>
    </entry>
    <entry>
        <title>mqtt_at_eclipse</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_at_eclipse?do=revisions&amp;rev=1333048210"/>
        <published>2012-03-29T12:10:10-07:00</published>
        <updated>2012-03-29T12:10:10-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_at_eclipse?do=revisions&amp;rev=1333048210</id>
        <summary>Eclipse Paho

Paho is an Open Source machine-to-machine (M2M) messaging project. The project was proposed on November 3 2011 and it is currently in incubator status. Initial contributions were the Java and C clients for MQTT, donated by IBM.

	*  Paho project page
	*  Paho project wiki
	*  project proposal</summary>
    </entry>
    <entry>
        <title>mqtt_on_ios</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_on_ios?do=revisions&amp;rev=1327772140"/>
        <published>2012-01-28T09:35:40-07:00</published>
        <updated>2012-01-28T09:35:40-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_on_ios?do=revisions&amp;rev=1327772140</id>
        <summary>It is possible to use libmosquitto on iOS.

	*  Example iOS app to control a Nanode on Github
	*</summary>
    </entry>
    <entry>
        <title>mqtt_on_the_android_platform</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_on_the_android_platform?do=revisions&amp;rev=1327778558"/>
        <published>2012-01-28T11:22:38-07:00</published>
        <updated>2012-01-28T11:22:38-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_on_the_android_platform?do=revisions&amp;rev=1327778558</id>
        <summary>There are a range of great articles and samples showing how MQTT can be used on the Android platform.

	*  MQTT and Android comprehensive example discussing various issues by Dale Lane
	*  Complete example project based on the work by Dale, from the mosquitto team.
	*  First Android Service from Ben Hardill
	*  Push Notifications for Android using MQTT
	*  HelloMQTT a simple example
	*  ListMQTT follow-on demonstrating listing by topic
	*  Using MQTT with Android on IBM developerWorks (in Chines…</summary>
    </entry>
    <entry>
        <title>mqtt_protocol</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/mqtt_protocol?do=revisions&amp;rev=1335735435"/>
        <published>2012-04-29T14:37:15-07:00</published>
        <updated>2012-04-29T14:37:15-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/mqtt_protocol?do=revisions&amp;rev=1335735435</id>
        <summary>Specification

The current formal protocol specification can be found at:

	*  MQTT v3.1 specification

Clarifications

As questions arise around particular aspects of the specification, we are collecting clarifications:

	*  Topic format
	*  Security considerations
	*  Are topics dynamic?
	*  Overlapping topics
	*  KeepAlive for the client</summary>
    </entry>
    <entry>
        <title>overlapping_topics</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/overlapping_topics?do=revisions&amp;rev=1328542983"/>
        <published>2012-02-06T07:43:03-07:00</published>
        <updated>2012-02-06T07:43:03-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/overlapping_topics?do=revisions&amp;rev=1328542983</id>
        <summary>(all commands are sent by the same client):

	*  Subscribe to A/#
	*  Subscribe to A/B
	*  Publish message M to topic A/B

The client will receive the message once.

(all commands are sent by the same client):

	*  Publish message M1 to topic A/B with retain
	*  Publish message M2 to topic A/C with retain
	*  Publish message M3 to topic A/D with retain
	*  Subscribe to A/#</summary>
    </entry>
    <entry>
        <title>php_sam</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/php_sam?do=revisions&amp;rev=1278869813"/>
        <published>2010-07-11T10:36:53-07:00</published>
        <updated>2010-07-11T10:36:53-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/php_sam?do=revisions&amp;rev=1278869813</id>
        <summary>PHP_SAM is a PHP library which allows the usage of a number of different simple asynchronous messaging systems simply from PHP, one of which is MQTT.

This library is not only useful for building web applications, but can be a nice alternative to the Perl API for writing local shell scripts for those who like to write code that other people can understand.</summary>
    </entry>
    <entry>
        <title>protect_broker</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/protect_broker?do=revisions&amp;rev=1329548478"/>
        <published>2012-02-17T23:01:18-07:00</published>
        <updated>2012-02-17T23:01:18-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/protect_broker?do=revisions&amp;rev=1329548478</id>
        <summary>There are a number of ways to add security to an MQTT environment to meet various security challenges.  Different implementations may offer different sets of security features.

The following table describes some of these challenges and associated controls:</summary>
    </entry>
    <entry>
        <title>python_examples</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/python_examples?do=revisions&amp;rev=1327751779"/>
        <published>2012-01-28T03:56:19-07:00</published>
        <updated>2012-01-28T03:56:19-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/python_examples?do=revisions&amp;rev=1327751779</id>
        <summary>Python

Require the mosquitto Python API

Repeatedly publish (useful for testing)


Scrape serial port data, publish on topic</summary>
    </entry>
    <entry>
        <title>questions</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/questions?do=revisions&amp;rev=1332963371"/>
        <published>2012-03-28T12:36:11-07:00</published>
        <updated>2012-03-28T12:36:11-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/questions?do=revisions&amp;rev=1332963371</id>
        <summary>An assortment of questions (and answers) - most of which probably should be moved somewhere more useful and in context, over time.

Q: What is a &quot;bridge&quot;?

The Really Small Message Broker documentation refers to the concept of a “bridge” (not covered in the MQTT specification directly).</summary>
    </entry>
    <entry>
        <title>really_small_message_broker</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/really_small_message_broker?do=revisions&amp;rev=1327777509"/>
        <published>2012-01-28T11:05:09-07:00</published>
        <updated>2012-01-28T11:05:09-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/really_small_message_broker?do=revisions&amp;rev=1327777509</id>
        <summary>Introduction

Really Small Message Broker (RSMB) is an MQTT message broker produced freely (but not open source) by IBM and made available for personal use/evaluation. 

It is provided as a precompiled binary for a number of platforms including:

	*  Ubuntu Linux 7.10 (Gutsy), 8.04 (Hardy) and above
	*  Red Hat Enterprise Linux 4
	*  Windows XP
	*  Unslung (Linksys NSLU2)
	*  Arcom Embedded Linux (Arcom Viper)
	*  Linux on IBM System z
	*  Apple Mac OS X Leopard
	*  Crossbow Stargate</summary>
    </entry>
    <entry>
        <title>rpminstalls</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/rpminstalls?do=revisions&amp;rev=1321538341"/>
        <published>2011-11-17T05:59:01-07:00</published>
        <updated>2011-11-17T05:59:01-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/rpminstalls?do=revisions&amp;rev=1321538341</id>
        <summary>While mosquitto has been officially added to the Debian and Ubuntu repositories, for other Linux distributions you will need to do some more work. 

General outline

You should setup the new repo by adding the .repo file to your system.

Centos

Centos 5 and 6 are very similar.</summary>
    </entry>
    <entry>
        <title>security_considerations</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/security_considerations?do=revisions&amp;rev=1327688836"/>
        <published>2012-01-27T10:27:16-07:00</published>
        <updated>2012-01-27T10:27:16-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/security_considerations?do=revisions&amp;rev=1327688836</id>
        <summary>In a discussion about how to protect an MQTT broker, Dan Anderson suggested:

	&quot; It's common to have a “Security Considerations” section in protocol standards that describes areas of concern related to security. i.e. the IETF templates.
 In the next version, could something like this be added?
 I'd like to see a “security consideration” added that suggests to broker implementers that passwords should not be stored on the brokers in clear text.&quot;</summary>
    </entry>
    <entry>
        <title>server_security_considerations</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/server_security_considerations?do=revisions&amp;rev=1329550110"/>
        <published>2012-02-17T23:28:30-07:00</published>
        <updated>2012-02-17T23:28:30-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/server_security_considerations?do=revisions&amp;rev=1329550110</id>
        <summary>File Permissions

Attention should be paid to the permissions of the various configuration and data files for the broker.  

Permissions should be restrictive enough to prevent unauthorized users from viewing or modifying these files.

This is especially true for broker implementations that store the passwords in clear text files.</summary>
    </entry>
    <entry>
        <title>server_support</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/server_support?do=revisions&amp;rev=1333037760"/>
        <published>2012-03-29T09:16:00-07:00</published>
        <updated>2012-03-29T09:16:00-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/server_support?do=revisions&amp;rev=1333037760</id>
        <summary>This page documents the features that the various MQTT servers support.
 Server  QoS 0  QoS 1  QoS 2  v3.1 auth  bridge  $SYS/  Mosquitto  ✔  ✔  ✔  ✔  ✔  ✔  RSMB  ✔  ✔  ✔  ✔  ✔  ✔  WebSphere MQ  ✔  ✔  ✔  ✔  ✔  ✔ 
	*  list here any known additional limitations of individual implementations</summary>
    </entry>
    <entry>
        <title>setup_and_testing</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/setup_and_testing?do=revisions&amp;rev=1327773291"/>
        <published>2012-01-28T09:54:51-07:00</published>
        <updated>2012-01-28T09:54:51-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/setup_and_testing?do=revisions&amp;rev=1327773291</id>
        <summary>Brokers

	*  Really Small Message Broker
	*  Mosquitto Message Broker

Clients

	*  WMQTT IA92 Java utility</summary>
    </entry>
    <entry>
        <title>ssh_tunnels</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/ssh_tunnels?do=revisions&amp;rev=1329550993"/>
        <published>2012-02-17T23:43:13-07:00</published>
        <updated>2012-02-17T23:43:13-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/ssh_tunnels?do=revisions&amp;rev=1329550993</id>
        <summary>One approach that can be used to secure protocols that do not have native encryption is to tunnel them over a known secure protocol.

This can be a VPN protocol like IPSec or it can be a secure general purpose protocol like HTTPS/TLS or SSH.

In this post, we will discuss tunneling MQTT over SSH in a simple and a more advanced configuration.</summary>
    </entry>
    <entry>
        <title>start</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/start?do=revisions&amp;rev=1332706876"/>
        <published>2012-03-25T13:21:16-07:00</published>
        <updated>2012-03-25T13:21:16-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/start?do=revisions&amp;rev=1332706876</id>
        <summary>This is a community resource, intended to bring together documentation, code snippets, and links to good sources of information about:

	*  the MQTT protocol and useful topologies
	*  implementations and programming models
	*  use cases and examples</summary>
    </entry>
    <entry>
        <title>status_field_for_acks</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/status_field_for_acks?do=revisions&amp;rev=1329375614"/>
        <published>2012-02-15T23:00:14-07:00</published>
        <updated>2012-02-15T23:00:14-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/status_field_for_acks?do=revisions&amp;rev=1329375614</id>
        <summary>It's been talked about before - but we should consider adding a status field (byte?) to acknowledgement messages.  

The reason we would want this is that the current version silently ignores errors (don't have permission to publish/subscribe, etc.)  Silent failures cannot be logged, reported or reacted to.</summary>
    </entry>
    <entry>
        <title>technical_articles</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/technical_articles?do=revisions&amp;rev=1327779471"/>
        <published>2012-01-28T11:37:51-07:00</published>
        <updated>2012-01-28T11:37:51-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/technical_articles?do=revisions&amp;rev=1327779471</id>
        <summary>*  Using the IBM Lotus Expeditor micro broker MQTT client to publish messages on IBM developerWorks
	*  Using MQ Telemetry Transport with WebSphere Business Integration Message Broker on IBM developerWorks</summary>
    </entry>
    <entry>
        <title>techniques</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/techniques?do=revisions&amp;rev=1329545801"/>
        <published>2012-02-17T22:16:41-07:00</published>
        <updated>2012-02-17T22:16:41-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/techniques?do=revisions&amp;rev=1329545801</id>
        <summary>MQTT is a deliberately simple protocol. 

This enables it to be extremely efficient both on the wire, and in memory. It also makes it quick and easy to get started and to learn. 

You can think of the philosophy as being similar to a UNIX utility - it does one thing and does it well, and can be combined with other tools very easily</summary>
    </entry>
    <entry>
        <title>topic_format</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/topic_format?do=revisions&amp;rev=1325344638"/>
        <published>2011-12-31T07:17:18-07:00</published>
        <updated>2011-12-31T07:17:18-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/topic_format?do=revisions&amp;rev=1325344638</id>
        <summary>Roger Light noticed that the specification was not totally clear on the format of topic strings/hierarchies and what the behaviour should be with a trailing slash character.

Nick O'Leary clarified via the mqtt Google Group.

	*  a topic ending in a slash is considered equivalent to the same topic without the slash, which enables the wildcards to behave like this:
		*  a subscription to A/# is a subscription to the topic A and all topics beneath A
		*  a subscription to A/+ is a subscription to …</summary>
    </entry>
    <entry>
        <title>topic_string_enhancement</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/topic_string_enhancement?do=revisions&amp;rev=1325344918"/>
        <published>2011-12-31T07:21:58-07:00</published>
        <updated>2011-12-31T07:21:58-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/topic_string_enhancement?do=revisions&amp;rev=1325344918</id>
        <summary>Following a discussion to clarify the v3.1 topic format, Simon Platten asked:

	&quot; Could we expand the handling of topics to include regular expressions?
 Or '?' to allow omission of single characters?&quot;</summary>
    </entry>
    <entry>
        <title>twitter</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/twitter?do=revisions&amp;rev=1327773652"/>
        <published>2012-01-28T10:00:52-07:00</published>
        <updated>2012-01-28T10:00:52-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/twitter?do=revisions&amp;rev=1327773652</id>
        <summary>There is a large community of people involved with MQTT on Twitter. If you wish to identify yourself here, please do so.

People

	*  andypiper - Andy Piper
	*  andysc - Andy Stanford-Clark
	*  ralight - Roger Light (mosquitto)

Projects and sites

	*  #mqtt - the common hashtag
	*  mqttorg - the community Twitter ID</summary>
    </entry>
    <entry>
        <title>useful_presentations</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/useful_presentations?do=revisions&amp;rev=1327773750"/>
        <published>2012-01-28T10:02:30-07:00</published>
        <updated>2012-01-28T10:02:30-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/useful_presentations?do=revisions&amp;rev=1327773750</id>
        <summary>Slides / charts

	*  The House that Twitters Andy Stanford-Clark at OggCamp 2009 (includes audio)
	*  Lightweight Messaging Andy Piper at LinuxConf AU 2011 - video
	*  Introducing MQTT Andy Piper at PubSubHuddle 2011 - with a video here
	*  Lightweight Messaging Andy Piper at OggCamp 2011 (with audio) - another video
	*  Lightweight Messaging Andy Piper at Apache Retreat 2010</summary>
    </entry>
    <entry>
        <title>will_message_utf8_support</title>
        <link rel="alternate" type="text/html" href="http://www.mqtt.org/wiki/doku.php/will_message_utf8_support?do=revisions&amp;rev=1329376580"/>
        <published>2012-02-15T23:16:20-07:00</published>
        <updated>2012-02-15T23:16:20-07:00</updated>
        <id>http://www.mqtt.org/wiki/doku.php/will_message_utf8_support?do=revisions&amp;rev=1329376580</id>
        <summary>We should consider adding UTF8 support to the Will message.  Since other fields are using UTF8 it is plausible that UTF8 would be required in a Will message.  

For example, the clientID is UTF8, and a common will message might be, “_clientID_ has been disconnected”.  With a UTF8 client ID - this message would not be possible.</summary>
    </entry>
</feed>

