lunedì 23 dicembre 2013

Domotica in mezzora: dimmerare un led dall'ipad via wifi (NetIO app) - parte 2

L'app NetIO su iPad non necessita praticamente di alcuna configurazione. 
E' necessario esclusivamente utilizzare lo stesso account usato sul sito http://netio.davideickhoff.de/editor per poter caricare l'interfaccia disegnata con il designer UI.
Appena lanciata l'applicazione è sufficiente "scrollare" l'iPad per aprire il menu di gestione. In alternativa è possibile fare uno swipe a 2 dita dal basso verso l'alto, tecnica sconsigliata perchè è davvero facile che l'iPad interpreti il comando mostrando il menu rapido di iPad introdotto con iOS7.



dopo aver inserito le credenziali, appariranno i layout salvati online.
Il file di configurazione in formato json può essere salvato dal web tramite il pulsante Download.
Questo il mio layout mostrato nel post precedente:

{
 "name": "test1",
 "connections": [
  {
   "host": "192.168.5.50",
   "port": 2560,
   "name": "board",
   "initialsend": "Local"
  }
 ],
 "version": 1.3,
 "device": "iPad",
 "type": "NetIOConfiguration",
 "pages": [
  {
   "sound": "active",
   "name": "Arduino",
   "items": [
    {
     "comment": "Fire light ON button",
     "sends": [
      "LED9 on"
     ],
     "top": 20,
     "height": 80,
     "width": 160,
     "shape": "rounded",
     "left": 20,
     "type": "button",
     "icon": "lamp_on",
     "interval": 2000
    },
    {
     "comment": "Fire light OFF button",
     "sends": [
      "LED9 off"
     ],
     "top": 110,
     "height": 80,
     "width": 160,
     "shape": "rounded",
     "left": 20,
     "label": "",
     "type": "button",
     "icon": "lamp_off"
    },
    {
     "comment": "Fire lights slider",
     "minValue": 0,
     "textcolor": "0,0,0",
     "sends": "set brightness {value}",
     "parseResponse": "\\d+",
     "top": 300,
     "maxValue": 255,
     "height": 450,
     "width": 30,
     "reads": "get brightness",
     "showValue": true,
     "type": "slider",
     "left": 20
    },
    {
     "offSend": "LED9 off",
     "parseResponse": "\\d+",
     "top": 200,
     "offText": "Off",
     "height": 50,
     "width": 100,
     "reads": "LED9 status",
     "onValue": "1",
     "onText": "On",
     "onSend": "LED9 on",
     "type": "switch",
     "formatResponse": "{0}",
     "left": 20
    }
   ],
   "label": "Home",
   "width": 1024,
   "connection": "board",
   "background": "NetIOTest iPadbackground.png",
   "sounds": "keyboardsetting",
   "height": 768
  }
 ],
 "orientation": "landscape",
 "navigation": "fix",
 "pagebuttonwidth": "static"
}


Dopo il caricamento i comandi saranno subito operativi, a patto che il vostro server arduino risponda correttamente via rete. In caso di comunicazione non possibile, tutti i controlli della vostra interfaccia rimarranno inesorabilmente in stato disabilitato e quindi di colore grigio.


Purtroppo non ho trovato il modo per gestire dinamicamente l'indirizzo direttamente dall'iPad, per modificare l'indirizzo del server è necessario modificare l'oggetto Connection da Designer UI e poi ricaricare il layout sull'iPad. Un'altra cosa su cui stare attenti è che non è sufficiente uscire e rientrare in NetIO per veder caricata la nuova versione dell'interfaccia, ma è necessario aprire il menu, aggiornare (tasto con le frecce) e ricliccare sull'interfaccia da caricare.

Test del sistema

Per effettuare il test del sistema agite sui bottoni:
i due pulsanti in alto permetteranno di accendere e spegnere il led. L'interruttore farà esattamente la stessa cosa. Lo slider rappresenta la funzione più interessante perchè ci permetterà di dimmerare, ovvero accendere parzialmente il led, modificandone la luminosità proporzionalmente alla posizione dello slider. Se torniamo al codice del post precedente, si può notare come semplicemente il valore dello slider viene letto come valore nel range 0-255, che viene poi inviato alla porta 9 come valore analogico, e quindi come segnale pwm.



Nessun commento:

Posta un commento