PiAlive/dist/main.js
Wolfgang Hottgenroth 1205e92469 last changes
2018-05-16 10:52:01 +02:00

40 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const log = require("./log");
const config = require("./config");
const gpio = require("onoff");
const Mqtt = require("mqtt");
const LED1 = new gpio.Gpio(16, 'out');
const LED2 = new gpio.Gpio(26, 'out');
log.info("PiAlive starting");
LED1.writeSync(0);
LED2.writeSync(0);
let heartbeatTimer = setInterval(() => {
LED1.writeSync(1);
setTimeout(() => {
LED1.writeSync(0);
}, 100);
}, config.dict.heartbeatInterval);
let mqttClient = Mqtt.connect(config.dict.brokerUrl);
mqttClient.on('offline', () => { log.warn("MQTT client is offline"); });
mqttClient.on('reconnect', () => { log.warn("MQTT client is reconnecting"); });
mqttClient.on('close', () => { log.warn("MQTT connection closed"); });
mqttClient.on('connect', () => {
log.info("MQTT broker connected");
mqttClient.subscribe(config.dict.topic);
log.info(`Subscribed to ${config.dict.topic}`);
});
let msgCnt = 0;
mqttClient.on('message', (topic, messageBuf) => {
msgCnt++;
if (config.dict.verbose) {
let message = messageBuf.toString('UTF-8');
log.info(`Message received ${msgCnt}, topic ${topic}, payload ${message}`);
}
LED2.writeSync(1);
setTimeout(() => {
LED2.writeSync(0);
}, 100);
});
log.info("PiAlive running");
//# sourceMappingURL=main.js.map