[Emqttd] (EMQ) is an open source Mqtt messaging server that is developed in Erlang language, fully supports the MQTT V3.1.1 protocol, and supports clustering and large-scale connections. [EMQTTD] is committed to publishing a platform based on ERLANG/OTP language, enterprise-class stable and reliable, fully open source free, can be clustered to support large-scale IoT, mobile Internet connection Mqtt Messaging server.
# Full MQTT v3.1/v3.1.1 protocol support
* Full support for MQTT v3.1/v3.1.1 protocol specification
* QOS0/1/2 message Publishing and subscription support
* Session management and offline messaging support
* Last'll message support
* Retained message Support
* TCP/SSL Connection support
* MQTT over WebSocket connection support
* HTTP Publish Message Publishing interface
* ' $SYS/# ' System topic support
* Based on ClientID, IP address authentication support
* Based on user name, password authentication support
* ACL access control based on ClientID, user name, IP address
* Multi-server cluster (Cluster) support
* Multi-node bridging (bridge) support
* Single node 500,000 + Client connection support
* Plugin Extension Architecture support
* Server interoperability testing through the Eclipse PAHO project
# Full Open source, multi-node cluster support
* Open Source, MIT Open source software license Agreement
* Multi-server cluster, large-scale client connection support
* Easy to install, download and unzip to start the operation
* Plugin architecture, custom or extended server functions
# Quick Download Installation
EMQTTD can be run across platforms in Linux, FreeBSD, Windows and Mac OS x. The [http://emqtt.io/downloads] page downloads the program installation package.
Unzip the TGZ format package to boot to the installation directory. For example:
Tar xvf emqttd-ubuntu64-0.8.1-alpha-20150529.tgz && CD EMQTTD
Console mode startup, for debugging. The console can print all MQTT messages sent and received
./BIN/EMQTTD Console
Daemon mode starts with 1883 ports used for MQTT connections and 8083 ports for HTTP interfaces
./bin/emqttd Start
View Run status
./BIN/EMQTTD_CTL Status
Stop it
./BIN/EMQTTD Stop
Download source code compilation:
git clone https://github.com/emqtt/emqttd.git
CD EMQTTD && make && make dist
HTTP Message Publishing Interface test
EMQTTD supports publishing messages from an application to an MQTT client over an HTTP interface:
Curl-v--basic-u user:passwd-d "Qos=1&retain=0&topic=/a/b/c&message=hello"-K http://localhost:8083/ Mqtt/publish
Url:http POST Http://host:8083/mqtt/publish
Parameters:
* Qos:qos (0, 1, 2)
* Retain:retain (0, 1)
* Topic:topic
* Message:message
[Emqttd] (EMQ)