Home
Accesso / Registrazione
 di 

Come inviare messaggi a Twitter tramite Arduino

ArduinoTweetLib

Sono sempre più numerose le operazioni che possiamo far svolgere ad Arduino. Vediamo allora come fare per inviare messaggi su Twitter tramite Arduino in modo completamente automatico.

L'automazione è una gran bella cosa e poter eseguire in automatico, magari anche in nostra assenza, operazioni altrimenti monotone e tediose è un grosso vantaggio. Se poi possiamo realizzare il tutto a basso costo e divertendoci allora stiamo parlando di Arduino.

Ci servono:

- Arduino

- la libreria Twitter4J (necessaria per inviare in automatico messaggi su Twitter)

- ed un sensore per rilevare lo stato del fenomeno di nostro interesse, a voi la scelta. Di seguito usare un sensore magnetico, ma il tipo di sensore non cambia di molto la sostanza.

L'idea oggetto di questo articolo la di deve a pdxnat e tutti i dettagli sono disponibili al link indicato.

Ci proponiamo di realizzare un sistema per l'invio di messaggi su Twitter tramite Arduino in base ad input percepiti tramite sensore elettronico. Usiamo un sensore magnetico che funge sostanzialmente da interruttore che opportunamente posizionato su una porta consente di capire se la porta è aperta o chiusa. Si tratta ovviamente di un esempio di possibile applicazione, il vero obbiettivo non è far sapere al mondo quando la porta è aperta o chiusa ovviamente, bensì gestire il tutto tramite Arduino.

Lo schema a blocchi del sistema che vogliamo realizzare è mostrato nella figura sottostante.

Concept

Arduino accede alla rete tramite un computer anche se sarebbe stato possibile collegarsi direttamente a Twitter tramite Arduino usando la libreria Tweet Library Arduino (da cui è tratta l'immagine principale dell'articolo), ma è solo una variante sul tema.

L'idea di base è molto semplice. Colleghiamo il sensore ad un pin della scheda ed Arduino monitorerà lo stato di tale pin per capire in se la porta viene aperta o chiusa.

La parte principale del codice dovuta a pdxnat  è ripostata di seguito:

const int magReed_pin = 10; // pin number
int magReed_val = 0;
int currentDoorState = 1; // begin w/ circuit open
int previousDoorState = 1;

void setup(){

 Serial.begin(9600);
 pinMode(magReed_pin, INPUT);

}

void loop(){
 watchTheDoor();
}

void watchTheDoor(){

 magReed_val = digitalRead(magReed_pin);
 if (magReed_val == LOW){ // open
  currentDoorState = 1;
 }
 

 if (magReed_val == HIGH){ // closed
  currentDoorState = 2;
 }

compareStates(currentDoorState);

}

void compareStates(int i){

 if (previousDoorState != i){
  previousDoorState = i;
  Serial.write(i);
  delay(1000); //
 }

}

 

Anche i meno esperti di programmazione possono vedere come il codice necessario sia di facile comprensione.

Scaricare ed installare la libreria Twitter4J (come già detto prima, si potrebbe fare tutto direttamente con Arduino usando la libreria Tweet Library (da cui è tratta l'immagine principale dell'arti) ma servirebbe anche il modulo di Arduino per il collegamento alla rete, quindi supponiamo di usare il computer). Eseguendo il relativo programma il codice di per Arduino riportato sopra sarà modificato di modo da includere le dovute linbrerie.

A questo punto non resta che registrarsi su Twitter e registrare anche un account per l'applicazione che abbiamo creato.

Lo schema del circuito, molto semplice ed intuito è mostrato sotto.

Circuit Board

Sopra vediamo le due componenti del sensore magnetico tipicamente usate per monitorare l'apertura di una porta.

 

Soluzione molto interessante che si presta ad innumerevoli applicazioni. Per esempio una stazione metereologica su Twitter potrebbe essere fatta in questo modo, con le dovute modifiche al codice è l'aggiunta dei sensori necessari, ma questo è solo uno dei tanti esempi che potrebbero venire in mente.

Arduino è disponibile da Farnell

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di alexm90

interessante! si potrebbe

interessante! si potrebbe monitorare l' energia immessa in rete da un impianto fotovoltaico, e far apparire giornalmente i dati su twitter.. in questo modo si potrebbe realizzare un sistema amatoriale, ma funzionale, per tenere sotto controllo il proprio impianto quando si è lontani da casa.
l' implementazione non dovrebbe nemmeno essere difficile, in quanto arduino già è dotato di un ADC interno.. basterebbe aggiungere un trasformatore di corrente, e buttare giù qualche riga di codice per svolgere i vari conti.

ritratto di telegiangi61

Eartquake network monitor su twitter

Mi domando se puo' avere un impiego pratico e sufficentemente affidabile, implementare una rete geografica per la rilevazione di eventi sismici, integrando come sensore un accelerometro a 3 assi e magari qualche altro sensore ambientale (ad esempio sonoro e barometrico) cosi' da poter in qualche modo correlare tutte queste informazioni.

Quando tutti i sensori in una ben determinata zona segnalano una considerevole variazione, e tutta nello stesso verso, attivano un alert su twitter.

Tempo fa ho fatto qualche sperimentazione con un LIS302DL, in tecnologia MEMS, lo stesso sensore prodotto dalla STMicroelectronics e utilizzato sul primo modello di Iphone e sui telecomandi della WII.

Questo chip ha due scale, una a ±2g e l'altra ±8g. Impostando la scala meno sensibile probabilmente si potrebbe essere al riparo da falsi positivi

ritratto di divivoma

mmm..però dovremmo essere

mmm..però dovremmo essere sicuri al 100000 per cento che l'allarme generato sia davvero un vero sisma... come possiamo provarlo..?
non so quando dovrebbe essere meno sensibile la scala...è un idea interessante quanto azzardata..bisognerebbe fare dei test come dicevo.. magari in giappone.. o vicino la faglia di san andreas :)

ritratto di telegiangi61

La certezza

La certezza sui terremoti non ce la puo' dare nessuno, ma parlavo di questa ipotesi applicata ad Arduino (e perche' no anche su board Microchip con ethernet), non direi del tutto azzardata perche' gia' da alcuni anni esistono network mondiali di Eartquake detector basati sugli accelerometri a bordo dei notebook e macbook che di norma servono a proteggere le testine dei dischi in caso di caduta accidentale.

Se grossi enti o universita' come il San Diego Supercomputer Center hanno pensato di sfruttare anche questi dati, evidentemente ci sara' un fondamento tecnico scientifico.

E' chiaro che maggiore e' la probabilita' che il dato sia affidabile quante piu' unita' connesse rilevino in una zona concentrata e piu' o meno allo stesso istante, una forte variazione ed in una determinata direzione (per essere piu' precisi se ad esempio il terremoto fosse di tipo sussultorio le unita' dovrebbero registrare tutte la variazione dell'accelerazione lungo il medesimo asse Z ma con valori di accelerazione alternativamente di segno positivo e negativo.

Allego qualche link interessante:

http://www.livescience.com/8133-ordinary-laptops-act-earthquake-detectors.html

http://www.labspaces.net/view_news_comments.php?newsID=4308

La soluzione di Quake-catcher mi sembra piu' affidabile,
viene fornito un software scaricabile se si vuole collaborare, la rete prevede che venga collegato via USB anche un accelerometro ( kit fornito) e che venga fissato saldamente al terreno e correttamente orientato.
The Quake-Catcher software program:
http://qcn.stanford.edu

La mappa delle installazioni attuali e' piuttosto cospicua e l'ultimo terremoto in Virginia del 23 agosto e' stato rilevato anche con questo sistema.

http://qcn.stanford.edu/sensor/maptrig.php?cx=38&cy=-120&timeint=W

ritratto di divivoma

e dopo..?

sai com' è essendo napoletano mi sono immaginato cosa accadrebbe nella mia città se ..trovassero postato su face book una comunicazione tipo:

"....Rilevata possibile attività sismica nei pressi di Napoli...al xx% succederà qualcosa entro le ore hh:mm del gg/mm/aaaa "
Secondo me comincia il pandemonio.... scusami ma nn vedo come dare questa segnalazione senza creare un macello di pazzi..il che va sicuramente va oltre al fatto di darla...quello va sicuramente fatto..la mia preoccupazione è per..cosa succederà dopo?!?!

ritratto di telegiangi61

Comunicazione

Io mi stavo proccupando solo dell'aspetto tecnico scientifico della cosa, fattibilita' del sistema.

Concordo con te che non si puo' certo fare allarmismo gratuito, non solo per Napoli ma in tutta Italia.

Per come siamo abituati, anche con una previsione meteorologica sballata e pubblicata su twitter rischieremmo di creare caos nella popolazione e scatenare le ire di albergatori e operatori del turismo in genere...

Forse in paesi piu' maturi del nostro allarmi, o per meglio dire, segnalazioni di questo genere sarebbero presi in considerazione con maggiore razionalita' e sangue freddo.

ritratto di Fabrizio87

Il problema fondamentale di

Il problema fondamentale di questo sistema è quanta gente in realtà prenderà sul serio queste informazioni di un terremoto, visto che di solito leggo tutti giorni una quantità di bufale su twitter.
È di solito visto che abito in una zona sismica mi rendo conto subito di un terremoto,
In questi casi riflesso di accedere alla televisione per vedere se è grave la situazione.

ritratto di stefano88

Molto interessante come cosa,

Molto interessante come cosa, manca solo la parte del codice per inviare i dati a Twitter, perché quel sorgente che hai messo comunica solo con il Serial Monitor se la porta è chiusa o aperta ma non con Twitter.
Comunque si potrebbe fare un po’ di tutto con questo giocattolino, ad esempio io avevo scritto un sorgente che senza comprare una shield ethernet mi consentiva di mandare online i miei dati rilevati dai sensori attaccati ad Arduino.
Quello che avevo fatto io, era di caricare lo Standard Firmata all’interno di Arduino e infine avevo scritto un software in C in modo che comunicasse con Arduino tramite la porta COM e dopo il software si prendeva questi dati li analizzava e li inviava in rete dove volevo, questo è solo uno dei tanti sistemi che ti consentono di fare questo senza spendere tanti soldi per comprare una shield ethernet.
Se posso consigliare, per quanto riguarda lo schema elettrico esiste un bel programmino che si chiama Fritzing reperibile qui:
http://fritzing.org/
è gratuito e ti consente di disegnare in modo adeguato, ed è progettato per Arduino.

ritratto di Berni

fritzing

Interessante questo fritzing, grazie 

ritratto di Emanuele

Previsione terremoti con MEMS

Ecco l'anteprima di un articolo in pubblicazione per Venerdi prossimo

La previsione dei terremoti è un argomento particolarmente sentito negli ultimi anni, soprattutto dopo la catena di eventi sismici che hanno scosso diverse aree della Terra a partire dalla tragedia dell’Indonesia del 26 dicembre 2004. Prevenire i terremoti è possibile? La scienza ufficiale afferma categoricamente di no, mentre studi indipendenti (alcuni dei quali potenzialmente validi) sostengono il contrario. Una delle soluzioni all’orizzonte potrebbero essere i MEMS (Micro Electro Mechanical System), gli accelerometri elettromeccanici ad alte temperature.

Stay tuned :)

ritratto di telegiangi61

Ottimo!

L'argomento terremoti e la loro rilevazione mi ha sempre affascinato. Chissa' se si fara' cenno a soluzioni MEMS applicata ai sensori P-Wave (rilevano appunto l'onda di compressione primaria che si forma all'inizio di un terremoto e che ne precede di qualche minuto l'onda talvolta distruttiva S-Wave).

 

OOPS, non vorrei andare troppo oltre, come dici, saremo sintonizzati!

ritratto di Fabrizio87

Un bel progetto, ma un po'

Un bel progetto, ma un po' deluso dalla foto messa in anteprima pensavo che fosse completamente diverso e che finalmente era possibile attraverso una scheda di espansione di rete collegato a Arduino inviare messaggi su Twitteer, senza vera necessità di tenere un computer sempre acceso.

quest'articolo dai che interessante è già stato proposto nel passato
http://it.emcelettronica.com/twitter-toilet-la-vostra-toilet-su-twitter-con-arduino

Ma si sa con Arduino è sempre bello rileggere i progetti del passato o semplicemente piccole migliorie che rendono sempre interessante questo progetto

ritratto di Francesco12-92

Beh per un applicazione come

Beh per un applicazione come un astrazione meteorologica, si potrebbe adoperare benissimo, insomma si tratta di postare comunque dei messaggi sul famosissimo Social Network che tutti usano, ma non lo userei di certo per monitorare, lo stato dei sensori sparsi per casa, rischiando che qualcuno veda ciò che non voglio vedano, o magari criptarli in un modo particolare, per poi decriptarli con un software personalmente creato, ma credo che perderebbe di utilità.

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 35 utenti e 90 visitatori collegati.

Ultimi Commenti