eHouse4Java Open Source Software for eHouse Home Automation

eHouse Home Automation eHouse4Java – java (Open source) programvare inneholder følgende moduler ( . java – kildekoden , . klasse – Den resulterende klasse):

  • Ehouse4java . java – Kjernen i programmet og det viktigste grensesnittet
  • ehousecommunication . java – kommunikasjon funksjoner og konfigurasjon
  • EhouseTCP . java – kommunikasjon og konfigurasjon av kontrollerne
  • EventsToSend . java – sekundær hendelse håndtering
  • EventToSend . java – definisjonen av en enkelt hendelse
  • GraphicObject . java – grafiske objekt definisjoner
  • ISYS . java – inkluderer dedikerte funksjoner for leverandører
  • RunEvent . java – Sende hendelser fra tekstform
  • StatusEhouse . java – klassen inneholder ett tilfelle for hver eHouse1 kontrolleren
  • StatusEthernet . java – klassen inneholder ett tilfelle for hver Ethernet eHouse kontrolleren
  • StatusServer . java – Auxiliary TCP / IP Server , sende alle kontrollerne status via TCP / IP til klienten paneler (ekstern via LAN , WAN , Intranett , Internett)
  • visualisering . java – Visualisering / grafisk kontroll klasse i samsvar med eHouse visualisering og grafisk kontroll standard

Funksjonene og globale variabler er beskrevet i programvaren kildekoden eHouse4Java .
Programvaren inneholder uavhengige tråder , f.eks . Kommunikasjon , som utføres i bakgrunnen i forhold til hoved-programmet .
Dette stopper ikke eller forsinke programmet som prosesser tar for lang tid , som resulterte i et betydelig tregere anvendelsesområde og muligheten for suspensjon påvente kommunikasjon (døde låser) .
De viktigste trådene er:

  • TCP klient (for å motta status av kontrolleren , TCP / IP på LAN , WAN , Internett , Intranett)
  • UDP Listener (for å lytte til kringkaste status i forbindelsesløs UDP) – bare innenfor LAN , Intranett
  • Talesyntese å spille noen akustiske tekstmeldinger
  • Multithreaded TCP / IP Server – å rute fått status til de tilkoblede klient paneler av enhver type (via LAN , WIFI , Internett , Intranett , WAN)

Navn på kommunikasjonsmedier med kontrollerne er inkludert med innstillingene på skjemaet velge hvilken type tilkobling (LAN TCP , LAN UDP , Internett , Av) .
Andre tråder er aktivert ved hjelp av globale variabler er i klasser ” EhouseTCP ” eller ” ehousecommunication ” .

Programmet bruker en visualisering i henhold til eHouse standard , generert fra CorelDraw applikasjoner ved hjelp av skript som gjør:

  • import eHouse system konfigurasjon
  • etablering av grafiske objekter manuelt eller med et skript
  • eksportere data for alle visualisering metoder for alle paneler , nettlesere , pc , tabletter , smarttelefoner og andre systemer

Dette er nærmere omtalt i artikkelen:
” skape grafisk visualisering og kontroll eHouse smarthus ” .
visualisering programvare er basert på en skalerbar vektorgrafikk (SVG) .
Denne metoden gjør at du ” lossless ” av kvalitet tegning kurver , tekst , enkle geometriske figurer , uavhengig av størrelsen av utvidelsen , Screen skift , etc .
Det ville ikke ha vært mulig ved hjelp av bakgrunnen grafiske bilder som jpg , punktgrafikk , etc . .
Software visualisering er optimalisert for å redusere bruken av CPU og grafikk behandlingstid når arbeider tilkoblet , grunn av den store mengden av data å behandle . Grafikkbilder bufres og inndelt i hensiktsmessige styresignaler og behandlet ved mottak statusen kontrolleren , og vises på skjermen mye raskere fra visualisering buffer for hver kontroller .

Dette tillater:

  • betydelig reduksjon i de bearbeidede data for visualisering med bildet endres
  • redusere flimring når du endrer projiserte bildene
  • betydelig reduksjon i belastningen av CPU og datavisualisering
  • bruk av mye ” svakere ” , mindre effektiv og mindre kostbar maskinvare , fotobaner , tabletter , kontrollpanelet , etc . , samtidig opprettholde en komfortabel
  • reduksjon i strømforbruket som er spesielt viktig i batteri og mobilt utstyr og lengde av arbeid på batterier

Dette er diskutert med skjermbilder i artikkelen:
” Grafisk visualisering og intelligente hjem kontroll i Java ”

EHouse4Java kommunikasjon med kontroller hjemme automasjon

eHouse1 Under oppsyn av PC

I denne versjonen av programmet eHouse . exe fungerer som en mottaker status på RS – 485 (med converter RS – 485/RS – 232) og overfører status uten noen endringer på de to metodene ikke kolliderer med hverandre:

  • eHouse . exe fungerer som en TCP / IP server svarer på spørsmål om statuspanelet , henvise ytterligere koble panelene og opprettholde dem inntil frakoblet eller annen grunn . Denne metoden er spesielt verdifull med forsøk på å etablere kommunikasjon med utsiden TCP / IP panelet via nettverk , eksempel Internett der det ikke er mulig å motta UDP status .
  • eHouse . exe sender sendingen forbindelsesløs UDP protokollen for en rekke klienter på LAN , Intranett . Dette betyr at , at panelet ikke kobler til serveren , men lytter broadcast-meldinger fra ” eHouse . exe ” programmer . På denne måten uansett hvor mange mottakere paneler status ikke endrer nettverksbelastningen , eller på datamaskinen som ” eHouse . exe ” programmet kjører . Dessverre er det ikke mulig eller er meget vanskelig å overføre UDP kringkastes via Internett så i dette tilfellet den første metoden bør brukes .

eHouse1 under oppsyn av CommManager

I denne versjonen , CommManager mottar innkommende statuser via RS – 485 (fra eHouse1 kontrollere) og overfører status uten noen endringer på de to metodene ikke kolliderer med hverandre:

  • CommManager fungerer som en TCP / IP server svarer på spørsmål om statuspanelet , henvise ytterligere koble panelene og opprettholde dem inntil frakoblet eller annen grunn . Denne metoden er spesielt verdifull forsøk på å etablere kommunikasjon med panelet utenfor LAN , eksempel Internett der det ikke er mulig å motta UDP status .
  • CommManager sender sendinger (forbindelsesløs) UDP protokollen er for en rekke klienter på LAN , Intranett .
    Dette betyr at , at panelet ikke kobler til serveren TCP CommManager , men lytte til meldingene kringkastes fra CM . På denne måten, uansett hvor mange mottakere paneler av status , det endrer ikke nettverket belastning eller CommManager CPU . Kringkasting UDP broadcast er ikke mulig , eller er tungt hemmes gjennom internett så i dette tilfellet den første metoden bør brukes .

Ethernet eHouse (eHouse4Ethernet)

I denne versjonen av Ethernet-kontrollere: CommManager , EthernetRoomManager , etc . , uavhengig sende sin status på to måter , ikke kolliderer med hverandre:

  • Hver kontrolleren fungerer som en TCP / IP server svarer på spørsmål om statuspanelet , henvise ytterligere koble panelene og opprettholde dem inntil frakoblet eller annen grunn . Denne metoden er spesielt verdifull forsøk på å etablere kommunikasjon med paneler utenfor LAN , eksempel Internett , hvor det ikke er mulig å motta UDP status .
    Men , i tilfelle av flere Ethernet kontrollerne er nødvendig for å opprettholde en forbindelse til et TCP / IP hver kontroller , å plukke opp et komplett system status direkte fra kontrollerne . Dette kan resultere i en større belastning på prosessoren kontrollpanelet , alvorlighetsgraden av problemene knyttet til kommunikasjon . I dette tilfellet , det er best å plassere på LAN side søknaden , som mottar lokale UDP status , og videresender over TCP / IP via Internett . Dette er realisert og diskutert i søknaden eHouse4Java , som gjør denne løsningen . Ulempen er behovet for å vedlikeholde ekstra maskinvare som utfører disse funksjonene .
  • Hver kontroller sender en sending (forbindelsesløs) UDP protokollen er for en rekke klienter på LAN , Intranett . Dette betyr at , at panelet ikke kobler til TCP server kontrolleren , men lytte til meldingene kringkastes fra alle kontrollerne . På denne måten uansett hvor mange mottakere paneler status ikke endrer nettverket belastning eller controller cpu utnyttelse . Kringkasting UDP-pakker ikke er mulig eller er tungt hindres gjennom internett , så i dette tilfellet den første metoden bør brukes . Muligheten for overføring av UDP er noen ganger mulig avhengig av link , Ytelse . Noen ganger er det mulig å få en broadcast UDP gjennom VPN riktig konfigurert kobling , Men , selv i denne situasjonen , pakker kan gå tapt , på grunn av mangel av sikkerhetsmekanismer for UDP . Uriktige opplysninger automatisk kansellert av programvaren eHouse paneler for ikke kontrollsum (sjekk sum)