eHouse4Java Open Source Software til eHouse Home Automation

eHouse Home Automation eHouse4Java – java (Open source) software omfatter følgende moduler ( . java – kildekode , . klasse – Den resulterende class):

  • Ehouse4java . java – Kernen af ​​ansøgningen og den primære grænseflade
  • ehousecommunication . java – kommunikationsfunktioner og konfiguration
  • EhouseTCP . java – kommunikation og konfiguration af regulatorer
  • EventsToSend . java – sekundær begivenhed håndtering
  • EventToSend . java – definitionen af ​​en enkelt begivenhed
  • GraphicObject . java – grafiske objektdefinitioner
  • ISYS . java – omfatter dedikerede funktioner til leverandører
  • RunEvent . java – Sende begivenheder fra tekst formular
  • StatusEhouse . java – klasse indeholder en instans for hver eHouse1 controller
  • StatusEthernet . java – klasse indeholder en instans for hvert Ethernet eHouse controller
  • StatusServer . java – Auxiliary TCP / IP Server , sende alle controllere status via TCP / IP til klient-paneler (eksternt via LAN , WAN , Intranet , Internet)
  • visualisering . java – Visualisering / grafisk kontrol klasse i overensstemmelse med eHouse visualisering og grafisk kontrol standard

De funktioner og globale variabler er beskrevet i software kildekode eHouse4Java .
Softwaren indeholder uafhængige tråde , fx . Kommunikation , som udføres i baggrunden i forhold til stævningen i hovedsagen .
Dette er ikke standse eller forsinke det program, processer tager for lang tid , hvilket medførte en betydelig opbremsning af ansøgning og muligheden for suspension mens man venter på kommunikation (døde låse) .
De vigtigste gevind er:

  • TCP Client (for at modtage status af styreenheden , TCP / IP på LAN , WAN , Internet , Intranet)
  • UDP Listener (for at sende en status i forbindelsesløse UDP) – kun inden for LAN , Intranet
  • Talesyntese at spille nogen akustiske tekstbeskeder
  • Multitrådet TCP / IP Server – at dirigere den modtagne status til de tilsluttede klient paneler af enhver art (via LAN , WIFI , Internet , Intranet , WAN)

Navne på kommunikationsmedier med controllere er inkluderet med indstillingerne i formularen vælge den type forbindelse (LAN TCP , LAN UDP , Internet , Off) .
Andre tråde aktiveres ved hjælp af globale variabler i klasser ” EhouseTCP ” eller ” ehousecommunication ” .

Programmet bruger en visualisering i henhold til eHouse standard , genereret fra CorelDraw applikationer ved hjælp af scripts, der gør det muligt:

  • import eHouse system konfiguration
  • skabelse af grafiske objekter manuelt eller med et script
  • eksportere data for alle visualisering metoder for alle paneler , webbrowsere , pc , tabletter , smartphones og andre systemer

Dette behandles yderligere i artiklen:
” skabe grafisk visualisering og kontrol eHouse smart home ” .
visualisering software er baseret på en Scalable Vector Graphics (SVG) .
Denne metode giver dig ” tabsfri ” af kvalitet tegning kurver , tekst , simple geometriske figurer , uanset størrelsen af ​​udvidelsen , Screen skift , etc .
Det ville ikke have været muligt ved hjælp af baggrunden grafiske billeder såsom jpg , bitmaps , etc . .
Software visualisering er blevet optimeret for at reducere anvendelsen af ​​CPU'en og grafik behandlingstiden, når der arbejdes online , på grund af den store mængde af data til at behandle . Grafiske billeder cachelagres og opdeles i passende styresignaler og behandles ved modtagelsen status kontrolleren , og vises på skærmen meget hurtigere fra visualisering cache for hver controller .

Dette giver mulighed for:

  • væsentlig reduktion i de bearbejdede data for visualisering med billedet ændres
  • reducere flimmer, når der skiftes projicerede billeder
  • signifikant reduktion i belastningen af ​​CPU og datavisualisering
  • anvendelsen af ​​meget ” svagere ” , mindre effektiv og mindre kostbar hardware , grafiske paneler , tabletter , kontrolpanelet , etc . , og samtidig opretholde en behagelig arbejdshøjde
  • reduktion i strømforbruget, som er særligt vigtigt i batteri og mobilt udstyr og længden af ​​arbejde på batterier

Dette diskuteres med screenshots i artiklen:
” Grafisk visualisering og intelligent styring af hjemmet i Java ”

EHouse4Java kommunikation med regulatorer home automation

eHouse1 under tilsyn af PC

I denne version af programmet eHouse . exe fungerer som en modtager status RS – 485 (med converter RS – 485/RS – 232) og sender status uden ændringer på de to metoder ikke kolliderer med hinanden:

  • eHouse . exe fungerer som en TCP / IP server besvarer forespørgsler om status panel , henviser endvidere forbinde panelerne og opretholde dem, indtil afbrudt eller anden grund . Denne fremgangsmåde er særlig værdifuldt i forsøg på at etablere forbindelse med omgivelserne TCP / IP panel via netværket , såsom internettet, hvor det ikke er muligt at modtage UDP-status .
  • eHouse . exe sender udsendelsen forbindelsesløse UDP-protokollen for ethvert antal klienter på LAN , Intranet . Dette betyder, at , at panelet ikke er forbindelse til serveren , men lytter udsender meddelelser fra ” eHouse . exe ” ansøgninger . På denne måde, uanset hvor mange modtagere paneler status ændrer ikke belastningen af ​​nettet , eller den computer, hvor den ” eHouse . exe ” applikation kører . Desværre er det ikke muligt eller er meget vanskeligt at sende UDP-broadcast via internettet så i dette tilfælde den første metode bør anvendes .

eHouse1 under tilsyn af CommManager

I denne version , CommManager modtager indgående statusser via RS – 485 (fra eHouse1 controllere) og sender status uden ændringer på de to metoder ikke kolliderer med hinanden:

  • CommManager arbejder som TCP / IP server besvarer forespørgsler om status panel , henviser endvidere forbinde panelerne og opretholde dem, indtil afbrudt eller anden grund . Denne fremgangsmåde er særlig værdifulde forsøg på at etablere kommunikation med panelet uden for LAN , såsom internettet, hvor det ikke er muligt at modtage UDP-status .
  • CommManager sender udsendelser (forbindelsesløse) UDP-protokollen er for et vilkårligt antal klienter på LAN , Intranet .
    Dette betyder, at , at panelet ikke er forbundet til serveren, TCP CommManager , men lytte til de budskaber udsendt fra CM . På denne måde, uanset hvor mange modtagere paneler af status , det ændrer ikke belastningen af ​​nettet eller CommManager CPU-udnyttelse . Broadcasting UDP broadcast er ikke mulig , eller er stærkt hæmmet via internettet, så i dette tilfælde den første metode bør anvendes .

Ethernet eHouse (eHouse4Ethernet)

I denne version af Ethernet-controllere: CommManager , EthernetRoomManager , etc . , uafhængigt sende deres status på to måder , ikke kolliderer med hinanden:

  • Hver controller fungerer som en TCP / IP server besvarer forespørgsler om status panel , henviser endvidere forbinde panelerne og opretholde dem, indtil afbrudt eller anden grund . Denne fremgangsmåde er særlig værdifulde forsøg på at etablere kommunikation med panelerne uden for LAN , såsom Internettet , hvor det ikke er muligt at modtage UDP-status .
    Dog , i tilfælde af flere Ethernet-controllere er nødvendig for at opretholde en forbindelse til et TCP / IP hver regulator , at afhente et komplet system status direkte fra regulatorer . Dette kan resultere i en større belastning af processoren kontrolpanelet , omfanget af problemer relateret til kommunikation . I dette tilfælde , foretrækkes det at placere på LAN-siden ansøgning , som modtager lokal UDP status , og sender den via TCP / IP via internettet . Dette er realiseret og diskuteres i anvendelse eHouse4Java , som tillader denne løsning . Ulempen er behovet for at opretholde ekstra hardware, der udfører disse funktioner .
  • Hver controller sender en udsendelse (forbindelsesløs) UDP-protokollen er for et vilkårligt antal klienter på LAN , Intranet . Dette betyder, at , at panelet ikke er tilslutning til TCP serveren controller , men lytte til de budskaber udsendes fra alle regulatorer . På denne måde, uanset hvor mange modtagere paneler status ændrer ikke belastningen af ​​nettet eller controller cpu udnyttelse . Transmission UDP-pakker ikke er mulig eller er stærkt hæmmet via internettet , så i dette tilfælde den første metode bør anvendes . Muligheden for fremsendelse af UDP er nogle gange muligt afhængigt af link , Ydelse . Nogle gange er det muligt at opnå en broadcast UDP gennem VPN korrekt konfigureret link , Dog , selv i denne situation, , pakker kan gå tabt , på grund af manglende sikkerhedsmekanismer for UDP . Forkerte data automatisk annulleret af software eHouse panelerne for ikke checksum (tjek sum)