Souliss, Domotica e IoT basata su Arduino ed Android

Nei giorni dal primo rilascio di Souliss ho avuto modo di rivedere il programma di sviluppo del progetto, ponendo maggiore attenzione all'interfaccia grafica ed alla documentazione.

La prima interfaccia grafica disponibile (di cui è disponibile un'immagine di seguito) è basata su AJAX/JSON, riprende parzialmente TinyWebServer con la particolarità di non utilizzare le schede Arduino come fonte della pagina web, ma dei soli contenuti.
Come illustrato qui, il browser (in questo caso Firefox o Chrome) è utilizzato come ambiente di esecuzione, la pagina web è caricata localmente sul PC o dispositivo mobile e periodicamente richiede dati al nodo Arduino, il quale risponde in JSON.
E' strutturata come un semplice menu a tendina, lo stato attivo (ricevuto via JSON) viene evidenziato con un colore del fondo blu.

Questa soluzione (diversa da quanto ipotizzato al primo rilascio) prevede un nodo collettore dei dati, il quale riporterà lo stato dei dispositivi controllati via JSON. Lo stesso nodo cura la gestione dei comandi dall'interfaccia grafica verso i dispositivi della rete. In pratica, la rete continua ad essere distribuita, ma l'interfaccia utente è basata su due entità (arduino+browser) e non su una.

La soluzione di portare il framework su diversi OS (tra i quali Android) rimane, ma è stata data maggiore priorità ad una soluzione web-based per ridurre i tempi necessari ad avere un'interfaccia utente.

Dunque, il nodo Arduino (necessariamente basato su Ethernet Shield o Arduino Ethernet) colletterà i dati via MaCaco e riporterà via HTTP all'interfaccia grafica.
Ovviamente possono essere raggiunti sia nodi basati su Ethernet, sia nodi basati su Chibiduino, la libreria vNet cura le operazioni di bridging e routing all'interno della rete di nodi in modo trasparente all'interfaccia.

Il rilascio è previsto per fine gennaio 2012, insieme ad un arrichimento delle logiche "tipiche" incluse in Souliss, nel frattempo chi volesse iniziare a sperimentare l'interfaccia come Alpha-tester è il benvenuto.

Sullo stesso principio possono essere sviluppate anche interfacce non web-based, una per iPhone è in lavorazione da parte di BoomTakZaag.

Le seguenti modifiche sono state apportate,

Souliss Rev A2:

  • Supporto in vNet della libreria Ethernet standard per garantire compatibilità con altre librerie,
  • Aggiunta di una libreria per il supporto HTTP

Saluti,
Dario.

Video

Nota: Basato su jQuery Tabbed Interface / Tabbed Structure Menu Tutorial