ecco questo a grandi linee
#############################################
AS = Arduino Station (raggruppa più sensori/attuatori) è composto da arduino 2009/Mega + ethernet shield(collegata a router wifi)/wifi shield + RF TX
ASRF = Arduino Station (raggruppa più sensori/attuatori) è composto da arduino 2009/Mega + RF RX (va piazzato dove non arriva il cavo di rete e limita i costi)
M = Master (applicativo su piattaforma android)
Precondizioni: tutti i dispositivi (AS, M) sono sulla stessa subnet e comunicano tra di loro attraverso TCP/IP.
Ogni AS è programmata in modo da comunicare ad M i vari sensori ed attuatori (terminazioni) che sono stati collegati ad esso ed anche le terminazioni collegati ai vari ARSF (questo va inserito programmato all'interno di AS).
Comunicazione Sync
-------------------
AS esegue un ipscan sulla subnet specificata quando trova un ip attivo invia la chiamata http:
http://ipttivo/?m=hello
M risponde indicando le sue terminazioni seguendo questo schema JSON:
{"ip" : "192.168.10.15", "devices" : [" +
"{ "type" : "gate", "name" : "cancellino ingresso", "out" : "5"}, " +
"{"type" : "door", "name" : "porta ingresso", "out" : "4"}, " +
"{"type" : "light", "name" : "luce soggiorno", "out" : "6"}, " +
"{"type" : "light", "name" : "luce cucina", "out" : "7"}," +
"{"type" : "temperature", "name" : "camera da letto", "out" : "0"}," +
"{"type" : "temperature", "name" : "camera bimbi", "out" : "9"}," +
"{"type" : "wattmeter", "name" : "consumo energetico casa", "out" : "10"}]}
dove:
- ip indica l'ip del master
- out è il pin al quale è collegato l'attuatore
- name nome dell'oggetto (presa cucina)
- type tipo dell'oggetto
Tipi disponibili
- plug (prese)
- light (luci)
- door (porte)
- gate (cancelli)
- temperature (sensore temperatura)
- humidity (sensore umidità)
- wattmeter (sensore corrente o tensione)
Quando M avrà rilevato tutte le terminazioni collegate a ciascun AS verrà mostrata l'interfaccia di figura.
Attivazione/Disattivazione terminazione
------------------------------------------
AS invierà la chiamata http
http://M/?out=1&status=1
- M indica l'ip del master recuperato in precedenza
- status può essere 1/0
- out indica la terminazione
AS risponderà con l'esito dell'operazione con una stringa JSON del tipo
{"out": "4", "status" , "1"}
#############################################
se avete domande sono qui!