Getting Started with MQTT
22 July 2012 — I wanted to play around with MQTT this evening so I put together a little tutorial on how to get started using Ubuntu and Mosquitto (http://mosquitto.org).
Enter the following into your terminal. Remember to replace
YOUR_UBUNTU_VERSION_HERE with the version of ubuntu you’re using, I was using
Maverick Meerkat at the time so I replaced it with just maverick. First add the
following two lines to
deb http://ppa.launchpad.net/mosquitto-dev/mosquitto-ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main deb-src http://ppa.launchpad.net/mosquitto-dev/mosquitto-ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
Then we need to verify the newly added packages (https://help.launchpad.net/Packaging/PPA/InstallingSoftware#On_older_.28pre_9.10.29_Ubuntu_systems):
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 262C4500
Lets update Aptitude so we have the latest packages to choose from:
$ sudo aptitude update
And now lets install the Mosquitto server and clients:
$ sudo aptitude install mosquitto $ sudo aptitude install mosquitto-clients
Subscribing to a Topic
$ mosquitto_sub -d -t hello/world
Mosquitto uses slashes as a way to organize topics. It also provides ways to subscribe to groups of topics if you dig around their documentation.
Publishing to a Topic
In another terminal window execute:
$ mosquitto_pub -d -t hello/world -m "Hello World"
You should see the text “Hello World” in the other window.
To get the full effect you can install Mosquitto on your Mac using Homebrew (https://github.com/mxcl/homebrew) and then connect to your Ubuntu machine…
$ mosquitto_sub -h YOUR_HOST_IP_ADDRESS -d -t hello/world
You should now see messages from your host sent to your local machine. You’ll probably need to open up port 1883 on your Ubuntu machine to make this actually work. I just used iptables to do so:
sudo iptables -A INPUT -p tcp -m tcp --dport 1883 -j ACCEPT