La mia lampadina twitta

“Tutto ciò che è alimentato elettricamente è anche connesso a internet.”

(Tom Igoe)

La lampada del mio comodino twitta automaticamente i suoi cambiamenti di stato, grazie a

  • Arduino 2009
  • Ethernet Shield
  • Sensore luce

Bisognarà che le crei un account dedicato su twitter. Se sei interessato al codice, è qui sotto.

Essendo una prova, tengo aperta la porta seriale per controllare dalla consolle quel che succede, ma in produzione i vari Serial.print vengono tolti.

Se trovi errori o difetti e vuoi segnalarmeli, te ne sarò grato.

/* 
Twitter Light Client 0.2  
created on jan 28 2012
modified on jan 30 2012
by Gaspar Torriero
with many thanks to the Arduino community
at http://arduino.cc/en/Tutorial/HomePage
*/

#include <SPI.h>
#include <Ethernet.h>
#include <Twitter.h>

boolean oldStatus = 0;
boolean newStatus = 0;
int tPin = 0; // Temperature sensor pin
int lPin = 5; // Light sensor pin
float temp = 0.0; // Temperature in C°
int luce = 0; // light in Lux
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 
  192, 168, XXX, XXX }; // IP address of your Arduino
byte gateway[] = { 
  192, 168, XXX, XXX }; // IP address of your router
byte subnet[] = { 
  255, 255, 255, 0 };
Twitter twitter("XXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); // Your Twitter API code
String stringOne="La luce sul comodino è stata spenta";
String stringTwo="La luce sul comodino è stata accesa";
char msg[140];

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  // Serial.begin(9600);
    luce = (analogRead(lPin) * 10000.0) / 1024.0; //Conversione voltaggio sensore in Lux
  if(luce < 201) {
    oldStatus=0;
    }
  else if(luce > 200) {
    oldStatus=1;
  }
}
void loop() {
  delay(50000);
  Serial.print(oldStatus);
  Serial.print(newStatus);
  Serial.println();
  Serial.println(luce);
  temp = ( 5.0 * analogRead(tPin) * 100.0) / 1024.0; // Conversione voltaggio sensore in temperatura
  luce = (analogRead(lPin) * 10000.0) / 1024.0; //Conversione voltaggio sensore in Lux
  if(luce < 201) {
    newStatus=0;
    stringOne.toCharArray(msg, 140);
  }
  else if(luce > 200) {
    newStatus=1;
    stringTwo.toCharArray(msg, 140);
  }
  if(newStatus != oldStatus) {
      Serial.println("connecting ...");
      if (twitter.post(msg)) {
        int status = twitter.wait(&Serial);
        if (status == 200) {
          Serial.println("OK.");
        } 
        else {
          Serial.print("failed : code ");
          Serial.println(status);
        }
      } 
      else {
        Serial.println("connection failed.");
      }
    delay(10000);
    oldStatus = newStatus;
    Serial.print(oldStatus);
    Serial.print(newStatus);
    Serial.println();
    Serial.println(luce);
  }
 }

Quattro Euro al pezzo

A seguito della storia di Giovanni Tizian, giornalista precario minacciato dalla malavita organizzata, c’è una conversazione molto interessante su twitter attorno all’hashtag #quattroeuroalpezzo che vale la pena di seguire, altrimenti non si capisce come funziona veramente l’informazione in Italia.

Tra le tantissime informazioni, una comoda tabella riassuntiva su quanto e come i giornali italiani retribuiscono il giornalista freelance. Il termine di pagamento più frequente è “quando vogliono“.

E prendono i contributi statali.

ComoBlog, il Ritorno

Dillo in giro ma senza farti accorgere: mercoledì 15 febbraio ore 20:00 al birrificio di Como torna il ComoBlog.

Per maggiori informazioni scrivi a Elena (photo@elenatrombetta.it) e dille che ti mando io.

Arduino: baby you can light my fire

Il mio Arduino è raggiungibile via web e adesso ti permette di accendere o spegnere la luce del mio comodino. Al pomeriggio batte il sole e quindi potresti non accorgerti della differenza.

Il codice  funziona ma non ancora bene, sospetto qualche problema di logica: se accedo dal PC accende e subito spegne; se accedo da telefono ci vogliono due clic per spegnere. Cosa sarà?

Dopo il salto, metto il codice che terrò aggiornato all’ultima versione. Se sei capace e hai qualche suggerimento da darmi, te ne sarò immensamente grato.

Leggi tutto “Arduino: baby you can light my fire”