Hola a todos, en esta emocionante entrada vamos a ver lo fácil que es enviar datos al servidor MQTT de IoTeat.com con el objetivo de cambiar el estado de nuestros sensores, el ejemplo lo vamos a realizar con NodeJS pero con la misma estructura se hace en otros lenguajes como Java, etc, debido a lo estándar que es. Sin más preámbulos pongámonos manos a la obra.
Para comunicarnos con el servidor y enviar datos debemos tener claros algunos datos de identificación del cliente y el sensor, podemos ver estos al editar un sensor
Listar Sensores -> Editar Sensor -> Finalizar Edición, en nuestra primera entrada esplicamos como hacer esto, http://ioteat.blogspot.com.co/2017/11/ioteatcom-plataforma-para-iot-internet.html
Listar Sensores -> Editar Sensor -> Finalizar Edición, en nuestra primera entrada esplicamos como hacer esto, http://ioteat.blogspot.com.co/2017/11/ioteatcom-plataforma-para-iot-internet.html
Los datos que se necesitan son:
- ID_CLIENTE -> Id único de un cliente en IoTeat.com
- CLAVE_CLIENTE -> Clave hash del cliente
- ID_SENSOR -> Identificador único de un sensor asociado a un cliente
- CLAVE_SENSOR -> Clave del sensor que nos permite poder controlarlo
- Instalar la libreria MQTT >> npm install -g mqtt
- Crear nuestro archivo cliente.js con el siguiente código.
// Inicio cliente MQTT - NodeJS - IoTeat.com
var mqtt = require('mqtt');
var id_cliente = '7dd5c95b429d949003dba03182aa941b14073ce493f59b272f3c0195c2c65b34';
var clave_cliente = '8ad7c80a1810e5f17e6120fc3f92a77e1686ce1ffde6b3dc229851b3ffa7d81c';
var id_sensor = '0a8f0ab7654e31458896e036efa55303879c065ae5a682bc332f7ab1ebd6a75f';
var clave_sensor = '30ca9a23b98fa9de';
var valor_envio = '78';
var options = {
username: id_cliente,
password: clave_cliente
}
var client = mqtt.connect('mqtt://34.237.69.103:1883', options);
client.subscribe(id_cliente );
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString())
// client.end()
});
client.on('connect', function () {
console.log("se conecto");
});
var dataEnvio = {
value: valor_envio,
clave: clave_sensor
}
console.log(JSON.stringify(dataEnvio));
var dataEnvioString = JSON.stringify(dataEnvio);
client.publish(id_sensor, dataEnvioString);
Comentarios
Publicar un comentario