mqtt added

This commit is contained in:
Wolfgang Hottgenroth 2017-04-28 22:04:27 +02:00
parent d1bb5d07e8
commit b6e34999b1
2 changed files with 27 additions and 4 deletions

View File

@ -12,6 +12,7 @@
"license": "ISC",
"devDependencies": {
"@types/commander": "^2.9.0",
"@types/mqtt": "0.0.34",
"@types/node": "^7.0.14",
"typescript": "^2.3.1"
},

View File

@ -1,18 +1,40 @@
import * as Mqtt from 'mqtt'
class MqttMongo {
private mqttClient : Mqtt.Client
constructor() {
}
exec(): void {
console.log("Hello, %s", program['name'])
this.mqttClient = Mqtt.connect(options['broker'])
this.mqttClient.on('connect', () => {
console.log("connected to broker")
this.mqttClient.subscribe('MqttMongo/Command')
this.mqttClient.publish('MqttMongo/Status', 'hello, started up')
})
this.mqttClient.on('message', (topic : string, message : string) => {
console.log("message received")
console.log("topic %s", topic)
console.log("message %s", message)
if (topic == "MqttMongo/Command" && message == "shutdown") {
this.mqttClient.end()
}
})
this.mqttClient.on('close', () => {
console.log("bye bye")
})
console.log("Hello world")
}
}
import program = require('commander')
program
import options = require('commander')
options
.version('0.0.1')
.option('-n, --name [name]', 'Name to greet', 'Wolfgang')
.option('-b, --broker [broker url]', 'Broker URL', 'mqtt://mqttbroker')
.parse(process.argv)
const mqttMongo = new MqttMongo()