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.
0 Commenti