hybridgroup/cylon-api-mqtt

View on GitHub
examples/analog_read/subscribe-to-robot.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';

var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://test.mosquitto.org');

client.on('message', function(topic, payload) {
  // MQTT only receives and sends message payload as
  // string or buffer, so we need to parse the JSON string
  // send by Cylon, this way we can access it as a regular
  // JS object.
  var data, sender;

  if (!!payload && (payload.length > 0)) {
    data = JSON.parse(payload);
    sender = data.sender;
  }

  if (sender !== 'self') {
    console.log('Topic name ==>', topic);
    console.log('Payload ==>', data);
  }
});

// get 'analogRead' events for 'sensor' device of robot 'cybot'
client.subscribe('/api/robots/cybot/devices/sensor/events/analogRead');