viziot-mqtt-client-nodejs

1.0.7 • Public • Published

viziot-mqtt-client-nodejs

drawing

MQTT клиент node.js для сайта VizIoT.com позволяет отправлять данный с устройств на сервер VizIoT.com и получать новые значения параметров для управления устройством.

Установка

$ npm install viziot-mqtt-client-nodejs --save

Пример использования

Пример подключается к брокеру и позволяет:

  • отправлять раз в минуту время, случайное число (от 1 до 100), и признак отправки данных.
  • управлять отправкой данных через сайт VizIoT.com.

Для отправки данных на устройство пользователь должен укажет в настройках устройства что тип параметра "sendTestData" = "Вкл / Выкл 0-1". После этого на сайте у устройства появится переключатель, который при включении или выключении отправляет на устройство 0 или 1.

'use strict';
//#ключ и пароль устройства
let keyDevice = '________________';
let passDevice = '____________________';
 
let sendTestData = 1;
let idIntervalSend = 0;
let intervalTime = 60000;
 
let viziotMQTT = require('viziot-mqtt-client-nodejs');
let viziotMQTTClient = new viziotMQTT(keyDevice, passDevice);
 
viziotMQTTClient.connect(function (isConnect) {
  if(isConnect){
    clearInterval(idIntervalSend);
    idIntervalSend = setInterval(function () {
      sendDataToServer();
    }, intervalTime);
    viziotMQTTClient.startListenCommands(function (parameter, value) {
      if(parameter == "sendTestData"){
        sendTestData = value;
      }
    });
  }
});
 
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
 
function sendDataToServer() {
  if(sendTestData){
    let packet = {
      'date': parseInt(new Date().getTime()/1000),
      'testData': getRandomInt(1, 100),
      'sendTestData': sendTestData
    };
    viziotMQTTClient.sendDataToVizIoT(packet, function (err) {
      if (err) {
        console.log("Error sendDataToVizIoT", err);
      }
    });
  }
}

Описание класса

Конструктор let viziotMQTTClient = new viziotMQTT(keyDevice, passDevice [, mqttHost])

  • keyDevice: ключ устройства с сайта VizIoT.com
  • passDevice: пароль устройства с сайта VizIoT.com
  • mqttHost: не обязательный параметр. По умолчанию "mqtt://viziot.com:48651"

Подключение к серверу viziotMQTTClient.connect([callback])

  • callback: не обязательный параметр. Если указать, то будет вызван, когда MQTT клиент подключится к серверу.

Отправка данных на сервер viziotMQTTClient.sendDataToVizIoT(data [, callback])

  • data: данные для отправки на сервер можно передавать строку в формате JSON или объект (ассоциативный массив).
  • callback: не обязательный параметр. Принимает два параметра:
    • err: если есть ошибка, то будет указано ее текстовое описание, в противном случае undefined.
    • isSend: при удачной отправки true при ошибке fasle.

Обработчик получаемых команд viziotMQTTClient.startListenCommands(callback)

  • callback: если на устройство поступила команда, то вызывается функция callback с двумя параметрами:
    • parameter - ключ команды или параметра
    • value - значение 0 или 1

Package Sidebar

Install

npm i viziot-mqtt-client-nodejs

Homepage

VizIoT.com

Weekly Downloads

1

Version

1.0.7

License

MIT

Unpacked Size

74.8 kB

Total Files

5

Last publish

Collaborators

  • viziot