eHouse Home Automation eHouse4Java – java (open source), software include i seguenti moduli ( . Giava – codice sorgente , . classe – La classe risultante):
- Ehouse4java . Giava – Il nucleo dell'applicazione e l'interfaccia principale
- ehousecommunication . Giava – funzioni di comunicazione e la configurazione
- EhouseTCP . Giava – comunicazione e la configurazione dei controllori
- EventsToSend . Giava – gestione degli eventi secondari
- EventToSend . Giava – la definizione di un singolo evento
- GraphicObject . Giava – definizioni degli oggetti grafici
- ISYS . Giava – include funzioni dedicate per i fornitori
- RunEvent . Giava – L'invio di eventi da forma di testo
- StatusEhouse . Giava – classe contiene una istanza per ogni controller eHouse1
- StatusEthernet . Giava – classe contiene una istanza per ogni controller Ethernet eHouse
- StatusServer . Giava – Ausiliaria TCP / IP del server , l'invio di tutti gli stati di controllo via TCP / IP ai pannelli del cliente (esterno tramite LAN , WAN , Intranet , Internet)
- visualizzazione . Giava – Visualizzazione / classe di controllo grafico in conformità con visualizzazione eHouse e standard di controllo grafico
Le funzioni e variabili globali sono descritti nel codice sorgente software eHouse4Java .
Il software include thread indipendenti , ad esempio, . Comunicazione , che vengono eseguite in background in relazione all'applicazione principale .
Questo non si fermano o ritardare l'applicazione che i processi troppo lungo , che ha portato ad una significativa discesa lenta di applicazione e la possibilità di sospensione in attesa di comunicazione (serrature morti) .
I fili principali sono:
- TCP client (per ricevere lo stato del controllore , il tcp / ip sulla LAN , WAN , Internet , Intranet)
- UDP Listener (per l'ascolto di trasmettere lo stato in UDP senza connessione) – solo all'interno della LAN , Intranet
- Discorso sintetizzatore per riprodurre tutti i messaggi di testo acustici
- Multithreading TCP / IP del server – per instradare stato ricevuto ai pannelli client connessi di qualsiasi tipo (via LAN , WIFI , Internet , Intranet , WAN)
I nomi dei mezzi di comunicazione con i controller sono inclusi con le impostazioni del modulo di scegliere il tipo di connessione (LAN TCP , LAN UDP , Internet , Off) .
Altri thread viene attivato utilizzando le variabili globali sono in classi ” EhouseTCP ” o ” ehousecommunication ” .
L'applicazione utilizza una visualizzazione secondo eHouse norma , generato dalle applicazioni CorelDraw utilizzando script che consentono:
- importazione eHouse configurazione del sistema
- creazione di oggetti grafici manualmente o con uno script
- esportare i dati per tutti i metodi di visualizzazione per tutti i pannelli , browser web , pc , compresse , smartphone e altri sistemi
Questo è discusso ulteriormente in questo articolo:
” la creazione di visualizzazione grafica e di controllo eHouse casa intelligente ” .
software di visualizzazione si basa su un Scalable Vector Graphics (SVG) .
Questo metodo consente di ” lossless ” qualità del disegno di curve , testo , semplici figure geometriche , indipendentemente dalla dimensione dell'allargamento , Schermata di spostamento , ecc .
Non sarebbe stato possibile con le immagini di sfondo grafici, quali JPG , bitmap , ecc . .
Software di visualizzazione è stata ottimizzata al fine di ridurre l'utilizzo della CPU e tempo di elaborazione grafica quando si lavora on-line , a causa della grande quantità di dati da elaborare . Immagini grafiche vengono memorizzate nella cache e diviso in opportuni segnali di controllo ed elaborati quando riceve lo stato del controllore , e visualizzati sullo schermo molto più velocemente dalla cache visualizzazione di ciascun controllore .
Questo permette:
- riduzione significativa dei dati elaborati per la visualizzazione con l'immagine cambia
- significativamente ridurre il tremolio quando cambiare le immagini proiettate
- riduzione significativa del carico di CPU e visualizzazione dati
- l'impiego di molto ” più debole ” , hardware meno efficiente e meno costoso , pannelli grafici , compresse , il pannello di controllo , ecc . , mantenendo un lavoro confortevole
- riduzione del consumo di energia che è particolarmente importante in attrezzature batteria e mobili e lunghezza di lavoro su batterie
Questo è discusso con gli screenshots in questo articolo:
” Visualizzazione grafica e controllo casa intelligente in Java ”
EHouse4Java comunicazione con i controllori domotico
eHouse1 Sotto la supervisione del PC
In questa versione del eHouse applicazione . exe funziona come uno stato del ricevitore RS – 485 (con convertitore RS – 485/RS – 232) e trasmette lo stato senza alcuna modifica sui due metodi non si scontrano tra di loro:
- eHouse . exe funziona come un server TCP / IP risponde alle domande circa il pannello di stato , riferendosi ulteriormente collegare i pannelli e mantenerli fino scollegato per qualsiasi motivo . Questo metodo è particolarmente utile con i tentativi di stabilire la comunicazione con il pannello esterno TCP / IP via rete , come Internet dove non è stato possibile ricevere UDP .
- eHouse . exe invia la connessione protocollo di trasmissione UDP per qualsiasi numero di client della LAN , Intranet . Ciò significa che , che il pannello non si connette al server , ma ascolta i messaggi trasmessi da ” eHouse . exe ” applicazioni . In questo modo, indipendentemente dal numero di destinatari pannelli di stato non cambia il carico di rete , o il computer su cui ” eHouse . exe ” applicazione viene eseguita . Purtroppo non è possibile o è estremamente difficile trasmettere broadcast UDP via Internet, in questo caso il primo metodo dovrebbe essere usato .
eHouse1 Sotto la supervisione del CommManager
In questa versione , CommManager riceve stati in entrata tramite RS – 485 (da eHouse1 controller) e trasmette lo stato senza alcuna modifica sui due metodi non si scontrano tra di loro:
- CommManager funziona come un server TCP / IP risponde alle domande circa il pannello di stato , riferendosi ulteriormente collegare i pannelli e mantenerli fino scollegato per qualsiasi motivo . Questo metodo è particolarmente preziosi tentativi per stabilire la comunicazione con il pannello esterno della LAN , come Internet dove non è stato possibile ricevere UDP .
- CommManager invia trasmissioni (senza connessione), il protocollo UDP che, per qualsiasi numero di client della LAN , Intranet .
Ciò significa che , che il pannello non si connette al server TCP CommManager , ma l'ascolto dei messaggi trasmessi da CM . In questo modo, non importa quanti destinatari pannelli di stato , non cambia il carico della rete o l'utilizzo della CPU CommManager . Broadcasting trasmissione UDP non è possibile , o è fortemente ostacolata attraverso internet così in questo caso il primo metodo dovrebbe essere usato .
Ethernet eHouse (eHouse4Ethernet)
In questa versione di controller Ethernet: CommManager , EthernetRoomManager , ecc . , inviare autonomamente il suo stato in due modi , non si scontrano tra di loro:
- Ogni controller funziona come un server TCP / IP risponde alle domande circa il pannello di stato , riferendosi ulteriormente collegare i pannelli e mantenerli fino scollegato per qualsiasi motivo . Questo metodo è particolarmente preziosi tentativi per stabilire la comunicazione con i pannelli esterni alla LAN , come Internet , dove non è stato possibile ricevere UDP .
Tuttavia , nel caso di più controller Ethernet è necessario mantenere una connessione a una rete TCP / IP ogni controllore , a prendere uno stato completo del sistema direttamente dal controller . Ciò può comportare un carico maggiore sul pannello di controllo del processore , gravità dei problemi legati alla comunicazione . In questo caso , è preferibile posizionare sull'applicazione lato LAN , che riceve lo stato locale UDP , e inoltra il tramite TCP / IP via Internet . Questo viene realizzato e discusso in applicazione eHouse4Java , questa soluzione che consente . Lo svantaggio è la necessità di mantenere hardware aggiuntivo che esegue queste funzioni . - Ogni controller invia un broadcast (senza connessione) il protocollo UDP che, per qualsiasi numero di client della LAN , Intranet . Ciò significa che , che il pannello non si connette al controller server TCP , ma l'ascolto dei messaggi trasmessi da tutti i controllori . In questo modo, non importa quanti destinatari stato di pannelli non modifica il carico di rete o l'utilizzo della CPU del controller . Broadcasting pacchetti UDP non è possibile o è fortemente ostacolata attraverso internet , quindi in questo caso il primo metodo dovrebbe essere usato . La possibilità di trasmissione del UDP è talvolta possibile a seconda del tipo di collegamento , Performance . A volte è possibile ottenere una trasmissione UDP tramite collegamento VPN configurato , Tuttavia , anche in questa situazione , pacchetti possono essere persi , a causa della mancanza di meccanismi di sicurezza per UDP . Dati non corretti viene annullata automaticamente da pannelli eHouse i software per checksum non (checksum)