前言:JavaScript在MQTT架构中常用的架构
这里我们只实现了broker和client之间的关系
下载nodejs
下载地址:http://nodejs.cn/download/
这里我下载的是windows的64位msi,下载好直接安装就行了,直接下一步直到完成。
安装mqtt.js模块
这一步非常简单,在你心仪的那个文件夹下打开cmd窗口然后输入npm install mqtt --save命令即可。
安装好会出现如下图红圈内的文件夹及文件
创建一个客户端进行测试
在刚刚安装mqtt.js文件夹下创建一个mqtt-test.js文件,然后键入以下代码
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://test.mosquitto.org')
client.on('connect', function () {
client.subscribe('presence')
client.publish('presence', 'Hello mqtt')
})
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString())
client.end()
})
然后在此文件夹下打开cmd输入node mqtt-test.js就会出现如下图所示结果
这样就说明你的mqtt模块就建立好了,但这仅限于客户端的使用为了使我们更方便的使用我们将在本地搭建一个服务器
下面来说说如何建立服务端
安装mosca(和上面安装mqtt.js一样)
打开cmd然后输入npm install mosca --save
创建mqtt-server.js文件
代码如下
var mosca = require('mosca');
var ascoltatore = {
//using ascoltatore
//type: 'mongo',
//url: 'mongodb://localhost:27017/mqtt',
//pubsubCollection: 'ascoltatori',
//mongo: {}
};
var settings = {
port: 1883,
backend: ascoltatore
};
var server = new mosca.Server(settings);
server.on('clientConnected', function(client) {
console.log('client connected', client.id);
});
// fired when a message is received
server.on('published', function(packet, client) {
console.log('Published', packet.payload);
});
server.on('ready', setup);
// fired when the mqtt server is ready
function setup() {
console.log('Mosca server is up and running');
}
然后在此文件夹下打开cmd 输入node mqtt-server.js
若显示下图所示,则说明本地mqtt服务端搭建完成
链接自己的mqtt服务端
将mqtt-test.js中的mqtt://test.mosquitto.org改为mqtt://127.0.0.1即可
然后打开两个终端
一个是运行服务端的
另一个运行客户端
首先运行服务端,然后在运行客户端,若出现下图所示