MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通信协议,有可能成为物联网的重要组成部分。该协议支持全部平台,几乎能够把全部联网物品和外部链接起来,被用来当作传感器和制动器(好比经过Twitter让房屋联网)的通讯协议。
javascript
MQTT协议是为大量计算能力有限,且工做在低带宽、不可靠的网络的远程传感器和控制设备通信而设计的协议,它具备如下主要的几项特性: 一、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合; 二、对负载内容屏蔽的消息传输; 三、使用 TCP/IP 提供网络链接; 四、有三种消息发布服务质量: “至多一次”,消息发布彻底依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于以下状况,环境传感器数据,丢失一次读记录无所谓,由于不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于以下状况,在计费系统中,消息重复或丢失会致使不正确的结果。 五、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以下降网络流量; 六、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;
java
EMQ 是百万级一站式物联网消息服务平台具体介绍能够到EMQTTD官网查看www.emqtt.com/node
开发版:npm
稳定版:ubuntu
根据操做系统选择对应版本的安装包,这里笔者的服务器是Ubuntu server 16.04 LTS 因此选择了 Ubuntu16.04-DEB(64-bit) www.emqtt.com/downloads/2…bash
1.下载安装包服务器
wget http://www.emqtt.com/downloads/2318/ubuntu16_04-deb复制代码
sudo dpkg -i 此处为你下载的安装包名称.deb复制代码
3.应用命令网络
service emqttd start
//service emqttd start|stop|restar复制代码
4.访问测试测试
访问 http://你主机的IP:18083/ 若是看到以下界面证实启动emqttd成功ui
1.安装mqtt支持库
npm install mqtt --save //nodejs mqtt支持库复制代码
2.demo
var client = connect('mqtt://94.191.78.55') client.on('connect',
function() {
client.subscribe('/server',
function(err) {
if (!err) {
client.publish('/server', 'Hello mqtt')
}
})
}) client.on('message',
function(topic, message) {
// message is Buffer
console.log(message.toString(), topic) client.close();
})
复制代码
3.终端能够看到输出
Hello mqtt /server
复制代码