Combo con Twitter / Pachube / LSL

Aperto da Absynth, Agosto 26, 2010, 10:00:48 AM

Discussione precedente - Discussione successiva

Absynth




Far comunicare Twitter con LSL tramite Pachube (sola andata)

Negli esempi precedenti l'invio dati e la ricezione a/da pachube avviene solo una volta, allo state entry. E' possibile inserire la funzione di invio/ricezione in un timer, per inviare dati variabili nel tempo, o ricavare dati a intervalli costanti.

Se si usa questo metodo, è possibile inviare i dati a Pachube tramite twitter, e il prossimo tick del timer, lo script iw si leggerà quel feed e nel caso aggiornerà i dati.

La procedura per associare Twitter a Pachube l'ho tradotta dal sito quindi a meno che non abbia commesso un errore grossolano, dovrebbe funzionare

Non ho collegato twitter al mio cellulare. Se fosse possibile inviare messaggi diretti anche dal cell, sarebbe possibile passare dati a un oggetto IW con un SMS.
Altrimenti con uno smartphone non ci sono problemi ad usare direttamente twitter e accendere o spegnere le luci di casa IW con un tweet.

Absynth




Far comunicare LSL con Pachube (Ricavare dati da un feed pachube da LSL)

Ora proviamo a ricavare dati dal feed precedente: (solo il codice essenziale, sappiamo già che ha 3 dati, dovranno essere trattati come numeri e quindi lo predispongo già a ricavare 3 dati da convertire in integer)

string numero_feed = "1234"; // numero del feed in ci si vuole scrivere
string api_key = "xxxxxxx"; // API KEY dell'account pachube
string server = "http://www.pachube.com/api/";
string tipo = ".csv"; // la stringa da leggere è di tipo csv
key req_id_get;

default{
     state_entry(){
          // composizione URL finale
          string url = server + numero_feed + tipo + "?key=" + api_key;
          // l'url verrà mandato in questa forma
          // http://www.pachube.com/api/1234.csv?key=NOSTRA_API

          // richiesta al feed pachube dei dati in formato csv
          req_id_get = llHTTPRequest(url, [], "");
     }

     http_response(key request_id, integer status, list metadata, string csv){
          if(request_id == req_id_get){
               list dati = llParseString2List(csv, [","], []);
               integer dato1 = llList2Integer(dati, 0);
               integer dato2 = llList2Integer(dati, 1);
               integer dato3 = llList2Integer(dati, 2);
               // abbiamo parsato la stringa csv usando la virgola come separatore
               // e poi estratto i 3 valori in essa contenuti. Ora abbiamo
               // i 3 dati da elaborare in LSL
          }
     }
}


Link di riferimento:
http://community.pachube.com/secondlife

Absynth



Far comunicare LSL con Pachube (Immettere dati su pachube da LSL)

Inviare dati a pachube da LSL è molto semplice: (solo il codice essenziale)

string numero_feed = "1234"; // numero del feed in ci si vuole scrivere
string valori_invio = "10,35,1116"; //inviamo 3 numeri, uno per ogni campo
string api_key = "xxxxxxx"; // API KEY dell'account pachube
string server = "http://www.pachube.com/api/";
string tipo = ".csv"; // inviamo una stringa dati di tipo csv
key req_id_put;

default{
     state_entry(){
          // composizione URL finale
          string url = server + numero_feed + tipo + "?key=" + api_key;
          // l'url verrà mandato in questa forma
          // http://www.pachube.com/api/1234.csv?key=NOSTRA_API

          // invio di "valori_invio" a "url" con metodo "put"
          req_id_put = llHTTPRequest(url, [ HTTP_METHOD, "PUT"], valori_invio);
     }
}


Link di riferimento:
http://community.pachube.com/secondlife

Absynth




Far comunicare Twitter con Pachube (sola andata)

* da twitter seguire (follow) l'utente @pachtweet o inviare il messaggio pubblico
follow pachtweet

* da twitter mandare un messaggio pubblico con scritto connect all'utente pachtweet
@pachtweet connect

* mandare un altro tweet inviando l'API KEY a pachtweet con un messaggio diretto (direct message o DM nell'interfaccia)
key (e di seguito la vostra API KEY)

Ora twitter è interfacciato con pachube, è possibile inviare (sempre con messaggi diretti NON pubblici) direttamente con un tweet i dati da aggiungere al feed pachube.

Ogni feed è una lista di valori, quindi se il nostro feed numero 1234 ha 3 valori (un numero decimale, un numero intero lungo, una parola) possiamo cambiarli inviando un tweet diretto a pachtweet in questa forma:

set [feed] [dati separati da virgola] ossia

set 1234 23.5,65990,test

Articolo originale qui:
http://apps.pachube.com/tweet.html

Absynth



Come usare Twitter insieme a Pachube per trasferire dati