Pages: [1] 2 3   Go Down
Author Topic: DomoticHome [Arduino - Android - WebApp]  (Read 5285 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 149
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao ragazzi,
riprendo qui il seguente thread riguardante l'applicazione per Android per pilotare Arduino
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1281726774
abbiamo appena appena messo online questo portale
http://www.domotichome.net
dove è possibile generare automaticamente il codice per arduino ed ho incluso anche l'invio dei dati recuperati dai sensori al server in modo da stilare grafici etc...poi se vedrà che ne esce.
Per ora ho integrato solo un sensore di temperatura e il CT sensor (ho usato il codice dei ragazzi di openenergymonitor).
Ho creato un form per segnalare quali sensori integrare, altrimenti per mail o via forum mi perdo smiley
http://www.domotichome.net/device_requests/new
Il dominio mi è stato offerto da unbit.it

Se qualcuno vuole fare qualche test è il benvenuto. Spero che il tutto sia gradito!
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao e Complimenti per il tuo progetto .. fa invidia  smiley-mr-green

ma perche' hai optato per Android e non per un server PHP o simile ?
primo .. se non hai il tuo cell. con qualsiasi portatile wireless ti puoi collegare.
Secondo .. penso che come sicurezza offra maggiori garanzie un server PHP.

Cmq. complimenti ancora, ottimo lavoro.
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 149
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, ti garantisco che controllare twitter e poter accendere una luce o aprire il cancello intanto che sei in bagno non ha prezzo smiley idem per quando torni a casa, premi un pulsante e ti si aprono le porte.

Stò lavorando anche ad un app web based.
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 8
Posts: 2246
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

...
primo .. se non hai il tuo cell. con qualsiasi portatile wireless ti puoi collegare.
Secondo .. penso che come sicurezza offra maggiori garanzie un server PHP.
...

non sono d'accordo:
sulla prima hai ragione ma sulla seconda per niente.
PHP comunica tramite HTTP e quindi diventa una risorsa disponibile:
il PHP serve per fare siti web in parole povere, applicazioni che comunicano con il server e fin qui ti do ragione, ma mentre in una piattaforma software dedicata tu puoi anche creare un tuo socket e magari passare password che rimarranno cifrate in un server PHP si fanno richieste in HTTP, fin troppo poco sicure per un sistema che ti potrebbe far entrare in casa altrui senza troppi problemi e rubargli qualsiasi cosa abbia. in poche parole un server PHP a mio parere è troppo poco sicuro, mentre con un'applet appositamente scritta puoi fare chiamate su porte non convenzionali (e quindi filtrarle dal router) e passare parametri in una comunicazione che decidi tu.
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, ti garantisco che controllare twitter e poter accendere una luce o aprire il cancello intanto che sei in bagno non ha prezzo smiley idem per quando torni a casa, premi un pulsante e ti si aprono le porte.
Stò lavorando anche ad un app web based.
Infatti .. come applicativo e' interessante ..
mi capita spesso di dover saltare il cancello perche' il telcomando e' rimasto sull'altra macchina  smiley-cry
oppure chiudi .. esci con la macchina .. chiudi il cancello .. attacchi l'allarne e poi ti accorgi che la luce e' rimasta accesa  smiley-cry

Ma con un Server Web arduino come lo colleghi ?
con la seriale
o sempre con il cavo di rete ? ma si puo' collegare anche in wireless arduino ?
tipo che le chiavette USB ?
e in questo caso come mandi di comandi ? e leggi i risultati ?

Grazie.
Ciao.
 
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 149
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'idea che mi frulla per la testa ora è quella di poter impartire comandi ad arduino dal portale domotichome.net.
Mi loggo -> metto HIGH un out di arduino -> ogni X sec arduino interroga domotichome.net e chiede se ci sono dei comandi per lui -> se si li esegue

L'unico problema è la latenza, un comando gestito in questo modo impiegherà almeno 3/4 sec prima di essere eseguito.
Dal device android la latenza è pari a 0 circa.
Farsi un webserver in casa in php o come vuoi, comporta che un pc sempre acceso il chè non mi piace molto, è dispendioso, ma è sicuramente una strada che tanti hanno adottato.

L'intenzio è quella di fare girare tutto via http, senza seriali o bus vari.
Logged

Milano
Offline Offline
Sr. Member
****
Karma: 1
Posts: 401
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Personalmente nel mio progetto per forza di cose sto integrando sia server LAMP (LinuxApacheMysqlPhp) che Android, ritengo che tutte e due le tecnologie siano ottime, testate e inevitabili al giorno d'oggi.

Teniamo presente che è molto più difficile che un malintenzionato che si introduca nella mia rete da un paese sperduto dell'est (gli attacchi sui server li rilevo sempre da la  smiley-twist )  sia anche interessato a fare indagini su IP, Provider, blabla trovare effettivamente dove abito poi farsi il viaggione fino a casa mia e poi derubarmi "senza che io nel frattempo mi sia accorto che qualcuno ha avuto accesso non autorizzato al mio sistema"!

Ma trovo molto piu semplice e sbrigativo "rubare un cellulare, smanettare nelle app e trovare la nostra bella applicazione di controllo totale della casa" e quindi, dato che sono un ladro che faccio?... bella rigaz... stasera ci facciamo la villa di quello del telefonino!

E non è detto che il telefonino sottratto sia proprio il nostro...  magari quello dei nostri genitori, ormai anziani che sono convinti di ritrovarlo in due o tre giorni di ricerche in casa, nel frattempo uno ha tutto il tempo necessario per organizzare il colpaccio... è allettante sapere che ci sono allarmi e dove trovarli... ce lo dice il menu... Perimetro, cancello frontale,cancello secondario, cantina, box auto, porta di ingresso, finestre blablabla...

Ok nel dubbio possiamo mettere mano all'impianto e ai codici in modo da disabilitare temporeneamente i controlli dai terminali Android...ma se noi siamo in vacanza? chi ci mette mano?
(qui torna utile un accesso remoto via web)

Questo solo per dire che entrambe le tecnologie sono valide e si può trovare, con i dovuti accorgimenti, il modo migliore per impiegarle.

Quindi per attivare il cancello di casa col cell... "facciamo in modo che debba essere inserita una password" (ok ci smeniamo in temini di rapidità di accesso ma almeno siamo un po + sicuri)

Magari non mettiamo una password all'index dell'applicazione se proprio ci pesano quei due secondi di interazione e lasciamo liberi il menu Luci, scenari e altre cose che non compromettano la sicurezza

E' già una cosa da fantascienza poter fare queste cose... perdere il tempo di inserire un codice mi sembra il minore dei mali.

P.S.
Teniamo presente che queste cose non le facciamo solo per un monolocale o un piccolo appartamento, un negozio o magazzino, quanto più è grande la proprietà da coprire, più dettagliati saranno anche i menu e le indicazioni di quali e dove siano i sistemi di allarme... mettete queste benedette password  smiley-wink


@ bl4d3
Complimenti per il progetto, continuate cosi!
« Last Edit: January 31, 2011, 04:09:33 pm by KrashNet » Logged

.

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'idea che mi frulla per la testa ora è quella di poter impartire comandi ad arduino dal portale domotichome.net.
Non e' che mi convinca molto questa cosa ... ma forse sbaglio.
Diversamente fosse qualche automazione tipo processo produttivo.
Poterla controllare dall'altra parte del mondo non e' male.

Farsi un webserver in casa in php o come vuoi, comporta che un pc sempre acceso il chè non mi piace molto, è dispendioso, ma è sicuramente una strada che tanti hanno adottato.
L'intenzio è quella di fare girare tutto via http, senza seriali o bus vari.

Io al contrario .. preferisco il pc acceso che il cel con applicativo .
Anche perche' ormail il 90% delle persone tengono il pc acceso 24h su 24h
il 20 % perde un cell al giorno
il 30 % distrugge un cel al mese
(dati inventati smiley )

Il mio dubbio nasce proprio dal sistema di comunicazione di Arduino.
Una cosa e' un locale in costruzione , ma su una casa gia' fatta e dove non e' possibile far passare cavi di rete come la gestisci ?
e' impensabile che 1 Arduino possa controllare interamente la casa e pertanto ci vorranno piu' arduino .
Come dialogano tra loro .. la cosa ideale sarebbe in wireless Wpa ma e' possibile ?
in seriale si possono intercettare e si perderebbe la sicurezza.

Ciao.
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 258
Posts: 21494
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se si vuole mirare a un consumo ridotto si puó usare un PC industriale con un consumo di qualche watt e non un PC normale o un notebook.
Ciao Uwe
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma tu l'hai collegato direttamente al router ,
ma come gestisci i comandi ?
come fai a far le richieste ?
ma hai anche le risposte da arduino ?
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 149
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

copio un pezzo del post precendete:
################################################## ###
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"}

################################################## ###
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

AS = Arduino Station (raggruppa più sensori/attuatori) è composto da arduino 2009/Mega + ethernet shield

Sono un po' duro di comprendonia  smiley-cry
Questo e' il principale ..
collegato arduino al router con il :
http://www.robot-italy.com/product_info.php?cPath=1_119_154&products_id=932
e qui e' chiaro.

(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)

Questo non e' chiaro .. che hai utilizzato per connetterti in Wifi ?

M = Master (applicativo su piattaforma android)
Precondizioni: tutti i dispositivi (AS, M) sono sulla stessa subnet e comunicano tra di loro attraverso TCP/IP.

qui devo provare a vedere come funziona .
io ho un IPAQ .. con cosa potrei farlo ?

AS esegue un ipscan sulla subnet specificata quando trova un ip attivo invia la chiamata http:
http://ipttivo/?m=hello

Conosco poco e con solo la teoria non riesco a capire bene
Mi interessa il fatto di attaccare il cancello al router , cosi lo apro anche senza telecomando con HP Ipaq.


Logged

Milano
Offline Offline
Sr. Member
****
Karma: 1
Posts: 401
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se si vuole mirare a un consumo ridotto si puó usare un PC industriale con un consumo di qualche watt e non un PC normale o un notebook.
Ciao Uwe

Io sto usando questi due Eee PC

ASUS EeeBox PC B202 consuma circa 40w a pieno regime
http://www.asus.it/product.aspx?P_ID=QUObl5lSRQQ3lSqJ

ACER Revo consuma circa 65w a pieno regime
http://www.acer.it/ac/it/IT/content/series/aspirerevo
(scalda un po più dell'Asus ma la ventola all'interno fa il suo lavoro)

Entrambi dotati di prese monitor, ethernet, mouse, tastiera, parecchie USB e Wi-Fi

li uso come serverini per compiti diversi, si può benissimo installare un server LAMP o addirittura Proxmox e smplificarci la vita. (consiglio l'Asus con installazione Proxmox)

Oppure se non si hanno grandi esigenze si può optare per un famigerato NSLU2 (il lumacone)
che se non sbaglio consuma tra i 10w e i 15w ma è un po un casino da impostare, cioè bisogna studiarsi qualche tutorial (ovviamente non ha le prestazioni e le dotazioni dei precedenti ne tantomeno prese hardware a parte 2 sole USB e presa ethernet) ma una volta settato e collegato al router è un bel giocattolino.
« Last Edit: February 01, 2011, 07:27:32 am by KrashNet » Logged

.

0
Offline Offline
Full Member
***
Karma: 0
Posts: 173
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se si vuole mirare a un consumo ridotto si puó usare un PC industriale con un consumo di qualche watt e non un PC normale o un notebook.
Ciao Uwe

Da quello che ho capito se si collega Arduino al Router il Pc non serve , ma fa da arduino direttamente come server.
Puo' gestire la connessione e sicuramente si potra inserire dei comandi di password e dei semplici Daley per bloccare gli sconosciuti.
Come contro bisogna utilizzare un programma per l'invio dei comandi .
(non conosco nessun programma che gira sotto WinMobile)
Ulteriore problema e' come comunicare con i vari Arduni Wireless.
Che scheda si Usaaa???


Io sto usando questi due Eee PC

Io uso solo Asus P900 .. piccolo MA FANTASTICO .. poi con Linux la Lamp  gira benissimo
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 149
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

aggiungo questo
http://www.koala.it/it/nanopc.htm
6W di consumo
Logged

Pages: [1] 2 3   Go Up
Jump to: