domenica 26 gennaio 2014

Interfacciare Arduino alle Philips Hue - parte 2 - il progetto

Prosegue la mia sperimentazione con le Philips Hue. L'idea di base era quella di rimpiazzare una lampada rotta in ufficio dotata di sensore di movimento (pir) e di luce, in grado di autonomamente determinare la presenza di una persona e di accendere le lampade fluorescenti dimmerandone la luminosità in funzione della reale illuminazione naturale della stanza.
Per replicare il funzionamento ho pensato di interfacciare le Phlips Hue con una scheda Arduino Ethernet, un sensore di presenza di tipo infrarosso (pir) e un sensore di luce.
Questa volta ho fatto la spesa su Exp-Tech che ha prezzi in linea con il resto del mercato, ma con un assortimento e disponibilità decisamente sopra la media.

  
Per una contenuta spesa di 71 euro ho portato a casa anche una Skeleton Box, ovvero un piccolo case trasparente in metallo e plexyglass tutto montabile senza viti, con dei semplici rivetti in plastica a pressione.
Il primo prototipo lo potete vedere in questa foto:


Come ben visibile, i due sensori li ho volutamente lasciati appesi all'esterno con del filo di ferro, in modo da poterne facilmente variare l'orientamento.
In particolare il sensore PIR è quello più delicato, in quanto pur avendo una copertura su quasi 180°, di fatto ha una copertura "a macchia di leopardo", per cui è bene avere ampia libertà di posizionamento per evitare poi malfunzionamenti una volta posizionato in modo definitivo il case.

domenica 12 gennaio 2014

Interfacciare Arduino alle Philips Hue - parte 1 - le REST API

Sono arrivate in ufficio questa settimana le Philips Hue, per la precisione lo started kit acquistabile sull'Apple Store

Non sono delle comuni lampade a led, bensì della lampade dotate di trasmettitore a standard ZigBee a sua volta interfacciato con un accessorio denominato Bridge, che ha il compito di dialogare con tutte le lampade "a tiro di fucile" e mettere a disposizione il controllo delle stesse su rete Ethernet.
Per gli utenti meno smaliziati è disponibile una app gratuita chiamata appunto Philips Hue, che permette di pilotare le lampade singolarmente o a gruppi (fino a un massimo di 50 lampade), scegliendo la colorazione in base a una qualsiasi foto caricabile nell'app e trascinando le icone rappresentanti le lampade sul punto desiderato all'interno dell'immagine o foto. Il risultato, immediato, è il cambio di colorazione della lampada con l'esatta tonalità scelta.
Questo il video ufficiale di Philips:

lunedì 6 gennaio 2014

Rilevatore presenze - parte 4 - il codice (client)

Nel precedente post ho mostrato le porzioni principali del codice su Arduino.
Per effettuare la chiamata al server, viene invocata una chiamata HTTP in modalità GET, ovvero passando i parametri direttamente in query string.

E' previsto un unico tipo di chiamata, usato indifferentemente sia per l'entrata che per l'uscita.
Si noti che non è il client arduino a decidere se si tratta di una timbratura di entrata o di uscita, bensì il server secondo delle logiche applicative ben precise, dovute alla sequenza di chiamate.

La sintassi della chiamata è la seguente:

http://SERVER/presenze.aspx?code=CODICERFID&dataora=DATAORA

dove SERVER è ovviamente l'ip del vostro web server, presenze.aspx il nome della pagina aspx invocata, CODICERFID il codice della tag rfid rilevata e DATAORA la data/ora in formato yyyymmddhhMMss letta dalla rtc shield montata su Arduino.

La risposta del server è una stringa in questo formato
  • XyyyymmddhhMMss 
dove:
  • X: vale E per entrata, U per uscita
  • yyyymmddhhMMss :data/ora del server

Il valore X serve per determinare il messaggio da mostrare all'utente quale conferma della timbratura.