# Desktop MQTT Client for Adafruit.io

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/026/965/medium800/adafruit_io_mqttfx.gif?1448011866)

Even though&nbsp;[adafruit.io](adafruit.io) is designed to be used with portable and wireless devices, it can also be used with desktop software! This makes it easy to control remote devices and debug your setup.

This tutorial will document how we installed some desktop software and used it to interact with our dashboard & feeds.

# Desktop MQTT Client for Adafruit.io

## Installing Software

We tried out and really like MQTT.fx which is Open source under the Apache 2.0 license and has packages available for Windows, Mac and Linux (64bit deb)

Start by visiting [http://mqttfx.org/](http://mqttfx.org/)

![](https://cdn-learn.adafruit.com/assets/assets/000/026/940/medium800/adafruit_io_mqttfx.gif?1448012016)

and download the latest version, as of this writing, 0.0.16 is the latest

![](https://cdn-learn.adafruit.com/assets/assets/000/026/941/medium800/adafruit_io_download.gif?1448012008)

You might have to mouseover to see the links, we grabbed the .exe file for windows. The .dpkg file is for Macs, the .deb file is for Debian Linux.

![](https://cdn-learn.adafruit.com/assets/assets/000/026/942/medium800/adafruit_io_links.gif?1448012001)

Go thru the installation process

![](https://cdn-learn.adafruit.com/assets/assets/000/026/943/medium800/adafruit_io_installing.gif?1448011993)

![](https://cdn-learn.adafruit.com/assets/assets/000/026/945/medium800/adafruit_io_installing2.gif?1448011985)

OK now run it and go to the next step!

# Desktop MQTT Client for Adafruit.io

## Configuring

Once the software is installed, you'll need to configure it for adafruit.io

Start it up, this is the main window:

![](https://cdn-learn.adafruit.com/assets/assets/000/026/946/medium800/adafruit_io_mainwin.gif?1448011977)

Click on the gear logo in the top middle area. It will take you to the config page.

1. The **Profile Name** is just the name we'll call this connection set by. I used adafruit.io but use whatever you like
2. The **Broker Address** must be io.adafruit.com - we don't recommend using an IP addres in case the server moves
3. For the **Broker Port** use 1883 if you are not using SSL. For SSL connections, go with 8883 instead!
4. **Client ID** needs to be a unique value - you can use your AIO key or go to [http://www.danstools.com/md5-hash-generator/](http://www.danstools.com/md5-hash-generator/) and type in a bunch of text to generate a unique MD5 hash

Then there's a set of sub-tabs. For the General Tab. You can set whatever timeout/keep alive you want. We recommend keeping Clean Session and Default MQTT version selected.

![](https://cdn-learn.adafruit.com/assets/assets/000/026/967/medium800/adafruit_io_connection.gif?1448011848)

In the next tab you actually put in your credentials. Use your adafruit.com account user name for **User Name** and then your Password is the long alphanumeric key in your AIO settings

![](https://cdn-learn.adafruit.com/assets/assets/000/026/949/medium800/adafruit_io_iokey.png?1438620851)

![](https://cdn-learn.adafruit.com/assets/assets/000/026/968/medium800/adafruit_io_creds.png?1438633912)

# SSL Connections

If you want to use SSL (and you should!) the next tab will let you set that up.

![](https://cdn-learn.adafruit.com/assets/assets/000/026/969/medium800/adafruit_io_ssl.png?1438633934)

Select **CA signed server certificate** and for Protocol, try **TLSv1.2**

You'll also need to make sure the **Broker Port** above is **8883**!

# Desktop MQTT Client for Adafruit.io

## Connecting & Use

# Connecting

Once done with the profile, click **OK** or **Apply** and **Cancel** to get back to the main screen.

Select the new profile by name and click **Connect**

![](https://cdn-learn.adafruit.com/assets/assets/000/026/955/medium800/adafruit_io_connect.gif?1448011944)

The **Connect** button will gray out and the **Disconnect** button will be clickable. On the very right hand side you'll see a green dot to tell you the connection is OK

![](https://cdn-learn.adafruit.com/assets/assets/000/026/956/medium800/adafruit_io_greendot.gif?1448011937)

If you are using SSL, you'll see a closed-lock as well

![](https://cdn-learn.adafruit.com/assets/assets/000/026/957/medium800/adafruit_io_lockgreen.gif?1448011929)

# Publishing

You can publish to a feed by clicking on the **Publish** button in the 'tab menu'

Next to the **\>\>** there's a text field. Enter your feed name there, it will be in the format `username/feeds/feedname` where _username_ is your adafruit account name, and _feedname_ is the actual feed name you have in your feedlist

Type some text or data or numbers or whatever into the big box below and then click the **Publish** button to the right of the feed name entry box

![](https://cdn-learn.adafruit.com/assets/assets/000/026/958/medium800/adafruit_io_textmessage1.gif?1448011922)

![](https://cdn-learn.adafruit.com/assets/assets/000/026/961/medium800/adafruit_io_textreceived.gif?1448011898)

# Subscribing

Subscribing to data feeds is pretty much the same, in the **Subscribe** tab, enter in the feed name in the `username/feeds/feedname` format and click **Subscribe** to the right of the feed entry box

![](https://cdn-learn.adafruit.com/assets/assets/000/026/959/medium800/adafruit_io_subscrubed.gif?1448011914)

![](https://cdn-learn.adafruit.com/assets/assets/000/026/964/medium800/adafruit_io_subscrubed.gif?1448011873)

Then on your dashboard you can make a change

![](https://cdn-learn.adafruit.com/assets/assets/000/026/962/medium800/adafruit_io_pickcolor.gif?1448011890)

And it will be received in the desktop

![](https://cdn-learn.adafruit.com/assets/assets/000/026/963/medium800/adafruit_io_colorreceived.gif?1448011882)


## Related Guides

- [Adafruit IO Basics: ESP8266 + Arduino](https://learn.adafruit.com/adafruit-io-basics-esp8266-arduino.md)
- [ePaper Camera](https://learn.adafruit.com/epaper-camera.md)
- [Smart Toilet Light](https://learn.adafruit.com/smart-toilet-light.md)
- [IoT Battery Monitor](https://learn.adafruit.com/iot-battery-monitor.md)
- [PyPortal US Election Calendar](https://learn.adafruit.com/pyportal-electioncal-us.md)
- [Fog Machine with Motion Sensor and Adafruit IO](https://learn.adafruit.com/fog-machine-remote-trigger.md)
- [Adafruit IO](https://learn.adafruit.com/adafruit-io.md)
- [PyPortal Email Display with Zapier and Adafruit IO](https://learn.adafruit.com/pyportal-email-display.md)
- [No-Code IKEA Vindriktning Air Quality Sensor Hack with Adafruit IO](https://learn.adafruit.com/no-code-ikea-vindriktning-hack-with-qt-py-esp32-s3-and-adafruit-io.md)
- [Adafruit IO IOT Hub with the Adafruit FunHouse](https://learn.adafruit.com/adafruit-io-hub-with-the-adafruit-funhouse.md)
- [Adafruit IO Basics: Color](https://learn.adafruit.com/adafruit-io-basics-color.md)
- [Adafruit IO Basics: Analog Output](https://learn.adafruit.com/adafruit-io-basics-analog-output.md)
- [Desktop MQTT Client for Adafruit.io](https://learn.adafruit.com/desktop-mqtt-client-for-adafruit-io.md)
- [Qualia S3 iOS Photo Display with itsaSNAP](https://learn.adafruit.com/qualia-s3-ios-photo-display-with-itsasnap.md)
- [Canary Nightlight ](https://learn.adafruit.com/canary-nightlight.md)
