PubNub

Databoom offre la possibilità di collegare un proprio dispositivo al canale PubNub dedicato. Per poter trasmettere i dati è necessaria la creazione di un client che invii i parametri nel formato richiesto. Di seguito la procedura in Node.js.

Modulo pubnub

Per la creazione di un client si utilizza il modulo pubnub

npm install pubnub

All’interno del proprio script è necessario il riferimento:

var pubnub = require('pubnub');

Inizializzazione PubNub in Node.js

Per poter comunicare con il canale dedicato è necessario inizializzare pubnub come segue:

pubnub = pubnub.init({
 publish_key : <PUBLISH KEY>,
 subscribe_key : <SUBSCRIBE KEY>,
 auth_key : <AUTH KEY>,
 uuid: <TOKEN DEVICE>
});

Le chiavi da inserire per il canale databoom su PubNub sono:

publish_key: 'pub-c-5e3c4a17-db74-4265-b1c9-861b15f29aca'
subscribe_key: 'sub-c-ce6cb094-2311-11e5-a6f9-0619f8945a4f'
auth_key: 'device'

uuid è il token del proprio dispositivo. La auth_key autorizza la connessione al canale.

Struttura parametri da inoltrare

I parametri da inviare devono essere in formato JSON, in particolare si segue la struttura:

var post_data = {
 device: <TOKEN DEVICE>,
 date: new Date().toISOString(),
 apikey: <API KEY>,
 signals: []
};

device è il token del proprio dispositivo, mentre date è la data della rilevazione (nell’esempio viene inserita la data al momento della creazione di post_data). <API KEY> è la chiave personale, ed è visualizzabile nel profilo dell'utente. signals è il vettore che conterrà i parametri del device. Per l’inserimento dei parametri si procede:

var signal_info = {
 name: <NOME PARAMETRO>,
 value: <VALORE PARAMETRO>
};
post_data.signals.push(signal_info);

Se si vuole aggiornare un segnale già presente nel proprio dispositivo su Databoom, name dovrà corrispondere al token. Se il segnale non è presente in Databoom, verrà inserito utilizzando name come token. Il valore dovrà pertanto essere univoco all'interno del dispositivo.

Pubblicazione dati sul canale

Terminata la creazione dei parametri, è possibile procedere con la pubblicazione sul canale di Databoom.

pubnub.publish({
 channel : 'databoom',
 message : post_data,
 callback : function(e) { console.log( "SUCCESS!", e ); },
 error : function(e) { console.log( "FAILED! RETRY PUBLISH!", e ); }
});

Il canale dove verranno pubblicati i parametri va impostato a databoom altrimenti i dati inoltrati non verranno considerati. Come message vengono passati i post_data. E’ possibile inoltre specificare delle operazioni nella callback ed in caso di errore.

Configurazione completata!

Una volta completata la procedura, Databoom inizierà a registrare i dati inviati da PubNub. Per poter consultare i dati e avere una rappresentazione corretta, seguire le indicazioni in Modifica/validazione di un segnale.

Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.