IoT Resources Library

Including IoT development kits, implementation reference documents, and the newest advances of the internet of things. To help more developers do more flexible applications on their IoT projects.

How to Connect Gateway to MQTT-Apache-Apollo Server 

What’s MQTT? 

MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example, it has been used in sensors communicating to a broker via satellite link, over occasional dial-up connections with healthcare providers, and in a range of home automation and small device scenarios. It is also ideal for mobile applications because of its small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers.

Dusun gateway supports MQTT protocol to connect to cloud platform, Please refer to the frame below

Dusun gateway supports MQTT protocol to
How to set up MQTT apache-Apollo server?
1. Download and Install JDK  

Go to the JDK download page: index.html

You will find the following chart on the page.

Download and install JDK.png

 Download the X86 or X64 windows JDK file according to users’ windows version. Launch the file "jdk-82u211-*. exe" and perform a default install. Then you will see two folders in the /windows/program files/java folder, one is JDK, the other is JRE, as the figure below shows.

JDK files.png
2. Set JDK Environment Variables in Windows  

Open Advanced System Settings

JDK advanced System Setting-1.png
JDK advanced System Setting-2.png

In Windows 10 press Windows key + Pause Key, this will open the System Settings window. Go to Change settings and select the Advanced Tab. Alternatively: Open “Windows search” – you will find it next to the Windows logo. In the search field type in – advanced system settings, then click on the match on top of the list.

Set JAVA_HOME Environment variable

In “System Properties window” click “Environment Variables…”

Set JAVA_HOME Environment.png

Under “System variables” click the “New…” button and enter JAVA_HOME as “Variable name” and the path to your Java JDK directory under “Variable value”.

JDK system variables.png

  1. In “Environment Variables” window under “System variables” select Path

  2. Click on “Edit…”

  3. In “Edit environment variable” window click “New”

  4. Type in  %JAVA_HOME%\bin

Update System PATH

update system path.png

Test your configuration

Open a new command prompt and type in:

Command:  Java -version


This will print out the version of the java if the Path variable is set correctly 

Test your configuration.png
3. Download Apache-apollo and install​​

Use the links below to download the Apache-appollo software for windows:   

Uncompress the package to a local drive (e.g. E:)


Run cmd with administrator privilege and use cd command to locate the apache-apollo bin directory as the figure below shows:

run cmd.png

Type in command:”apollo create myapollo c:\apache-apollo\broker” to create the broker:

input command.png

The following directory appears in c:\ root directory.

root directory.png

Open a new command prompt and type in: “cd c:\apache-apollo\broker\bin\; apollo-broker run”, this will print out the following information: 


Open a web browser and type in, username: admin, password:password 

open appollo console.png

Then the MQTT server has been setup successfully, but right now, there are no devices connecting to this server:

4. Configure a Dusun Gateway to Connect to the Server   

Connect a Dusun gateway to a PC; open a web browser and type in -; then log in the gateway to do some configuration:

Authorization required.png

Username: root

Password: root

Configure MQTT in the configuration page:

MQTT server.png

Setting up the MQTT configuration as below: