emqttd是采用Erlang语言开发,全面支持MQTT V3.1.1协议,支持集群和大规模链接的开源MQTT消息服务器。git
emqttd致力于发布一个基于Erlang/OTP语言平台,企业级稳定可靠,彻底开源免费,可集群支持大规模物联网(IoT/M2M)、移动互联网链接的MQTT消息服务器。github
Erlang MQTT是在2012年一个客户项目结束后,把简单的MQTT协议服务器部分开源在GitHub。项目在没任何推广状况下得到了100+ Stars,从2014年开始做为正式开源项目来专职维护,欢迎你们试用和参与开发。ubuntu
emqttd可跨平台运行在Linux、FreeBSD、Windows与 Mac OS X。
http://emqtt.io/downloads页面下载程序安装包。服务器
解压tgz格式程序包,到安装目录启动。例如:架构
shtar xvf emqttd-ubuntu64-0.8.1-alpha-20150525.tgz && cd emqttd # 控制台模式启动,用于调试。控制台能够打印全部收发的MQTT报文 ./bin/emqttd console # 守护进程模式启动,默认占用1883端口用于MQTT链接,8083端口用于HTTP接口 ./bin/emqttd start # 查看运行状态 ./bin/emqttd_ctl status # 中止 ./bin/emqttd stop
下载源码编译:curl
git clone https://github.com/emqtt/emqttd.git cd emqttd && make && make dist
emqttd支持经过HTTP接口从应用程序向MQTT客户端发布消息。测试
例子:url
curl -v --basic -u user:passwd -d "qos=1&retain=0&topic=/a/b/c&message=hello" -k http://localhost:8083/mqtt/publish
URL:spa
HTTP POST http://host:8083/mqtt/publish插件
参数: