eHouse4Java Open Source Software voor eHouse Home Automation

eHouse Home Automation eHouse4Java – java (Open source) software bestaat uit de volgende modules ( . Java – broncode , . klasse – De resulterende klasse):

  • Ehouse4java . Java – De kern van de applicatie en de belangrijkste interface
  • ehousecommunication . Java – communicatiefuncties en configuratie
  • EhouseTCP . Java – communicatie en configuratie van controllers
  • EventsToSend . Java – secundaire event handling
  • EventToSend . Java – de definitie van een enkele gebeurtenis
  • GraphicObject . Java – grafisch object definities
  • ISYS . Java – bevat speciale functies voor verkopers
  • RunEvent . Java – Het verzenden van gebeurtenissen uit de vorm van tekst
  • StatusEhouse . Java – klasse bevat een voorbeeld voor elke eHouse1 controller
  • StatusEthernet . Java – klasse bevat een voorbeeld voor elke Ethernet eHouse controller
  • StatusServer . Java – Extra TCP / IP-server , verzenden van alle controllers status via TCP / IP naar klant panelen (extern via LAN , WAN , Intranet , Internet)
  • visualisatie . Java – Visualisatie / grafische controle klasse in overeenstemming met eHouse visualisatie en grafische controle standaard

De functies en globale variabelen worden beschreven in de broncode eHouse4Java .
De software bevat onafhankelijke discussies , bv . Verbinding , die worden uitgevoerd in de achtergrond ten opzichte van de hoofdzaak .
Dit niet stoppen of vertragen de toepassing die processen te lang duren , waardoor een aanzienlijke vertraging van de toepassing en de mogelijkheid suspensie afwachting van communicatie (dead sloten) .
De belangrijkste onderwerpen die zijn:

  • TCP Client (om de status van de controller te ontvangen , de TCP / IP op het LAN , WAN , Internet , Intranet)
  • UDP Listener (voor het luisteren naar de status van uitzending in het verbindingsloze UDP) – alleen binnen het LAN , Intranet
  • Spraaksynthesizer om een ​​akoestische SMS-berichten af ​​te spelen
  • Multithreaded TCP / IP-server – aan de route van de ontvangen status van de aangesloten klantenpanels van elk type (via LAN's , WIFI , Internet , Intranet , WAN)

Namen van communicatiemiddelen met controllers zijn opgenomen met de instellingen op het formulier kiest u het type verbinding (LAN TCP , LAN UDP , Internet , Off) .
Andere onderwerpen die worden geactiveerd met behulp van globale variabelen behoren tot de klassen ” EhouseTCP ” of ” ehousecommunication ” .

De applicatie maakt gebruik van een visualisatie volgens eHouse standaard , gegenereerd vanuit CorelDraw toepassingen met behulp van scripts die het mogelijk maken:

  • import eHouse systeemconfiguratie
  • creëren van grafische objecten handmatig of met een script
  • gegevens exporteren voor alle visualisatie methoden voor alle panelen , webbrowsers , pc , tabletten , smartphones en andere systemen

Dit wordt verder besproken in het artikel:
” het maken van grafische visualisatie en controle eHouse slimme woning ” .
visualisatie software is gebaseerd op een Scalable Vector Graphics (SVG) .
Met deze methode kunt u ” lossless ” kwaliteit tekening curves , tekst , eenvoudige geometrische figuren , ongeacht de grootte van de uitbreiding , Scherm verschuiving , enz. .
Het zou niet mogelijk zijn geweest met de achtergrond van grafische beelden, zoals jpg , bitmaps , enz. . .
Software visualisatie is geoptimaliseerd om het gebruik van de CPU en grafische verwerking te verminderen bij het werken online , vanwege de grote hoeveelheid data te verwerken . Grafische beelden zijn opgeslagen en verdeeld in geschikte stuursignalen en verwerkt na ontvangst van de status van de controller , en weergegeven op het scherm veel sneller van visualisatie cache van elke controller .

Dit maakt:

  • aanzienlijke vermindering van de verwerkte data voor visualisatie met het beeld verandert
  • een aanzienlijke vermindering van flikkering bij het wisselen van geprojecteerde beelden
  • aanzienlijke vermindering van de belasting van CPU en gegevensvisualisatie
  • het gebruik van veel ” zwakkere ” , minder efficiënt en minder dure hardware , grafische panelen , tabletten , het bedieningspaneel , enz. . , met behoud van een comfortabele werkhouding
  • vermindering van het energieverbruik wat vooral belangrijk is in de batterij en mobiele apparatuur en de lengte van het werk op batterijen

Dit wordt besproken met screenshots in het artikel:
” Grafische visualisatie en intelligente home control in Java ”

EHouse4Java communicatie met controllers domotica

eHouse1 Onder leiding van PC

In deze versie van de toepassing eHouse . exe werkt als een ontvanger status van de RS – 485 (met converter RS – 485/RS – 232) en zendt de status zonder veranderingen op de twee methoden niet botsen met elkaar:

  • eHouse . exe werkt als een TCP / IP-server reageert op vragen over de status paneel , verwijst verder sluit de panelen en deze handhaven totdat losgekoppeld, om welke reden . Deze methode is bijzonder waardevol bij pogingen om de communicatie met de buitenwereld TCP / IP-netwerk via panel , zoals internet wanneer het niet mogelijk om de status UDP .
  • eHouse . exe stuurt de uitzending verbindingsloze UDP-protocol voor een onbeperkt aantal clients in het LAN , Intranet . Dit betekent dat , dat het paneel niet verbinden met de server , maar luistert broadcast-berichten van ” eHouse . exe ” toepassingen . Op deze manier maakt niet uit hoeveel ontvangers panelen de status verandert niets aan de belasting van het netwerk , of de computer waarop de ” eHouse . exe ” applicatie draait . Helaas is het niet mogelijk of zeer moeilijk UDP broadcast zodat zenden via het internet in dit geval de eerste methode worden gebruikt .

eHouse1 Onder leiding van CommManager

In deze versie , CommManager ontvangt inkomende statussen via RS – 485 (van eHouse1 controllers) en zendt de status zonder veranderingen op de twee methoden niet botsen met elkaar:

  • CommManager werkt als een TCP / IP-server reageert op vragen over de status paneel , verwijst verder sluit de panelen en deze handhaven totdat losgekoppeld, om welke reden . Deze methode is bijzonder waardevol pogingen om de communicatie met het paneel buiten de LAN , zoals internet wanneer het niet mogelijk om de status UDP .
  • CommManager stuurt uitzendingen (verbindingsloos) UDP-protocol zijn voor een onbeperkt aantal clients in het LAN , Intranet .
    Dit betekent dat , dat het paneel niet verbinden met de server TCP CommManager , maar luisteren naar de boodschappen uitzenden van CM . Op deze manier maakt niet uit hoeveel ontvangers panelen van de status , Het verandert niets aan de belasting van het netwerk of CommManager CPU-gebruik . Broadcasting UDP broadcast is niet mogelijk , of sterk belemmerd door het internet dus in dit geval de eerste methode worden gebruikt .

Ethernet eHouse (eHouse4Ethernet)

In deze versie van Ethernet-controllers: CommManager , EthernetRoomManager , enz. . , onafhankelijk van elkaar sturen hun status op twee manieren , niet met elkaar in botsing:

  • Elke controller werkt als een TCP / IP-server reageert op vragen over de status paneel , verwijst verder sluit de panelen en deze handhaven totdat losgekoppeld, om welke reden . Deze methode is bijzonder waardevol pogingen om de communicatie met de panelen buiten de LAN , zoals internet , wanneer het niet mogelijk om de status UDP .
    Echter , in het geval van meerdere Ethernet controllers is het aanhouden van een verbinding met een TCP / IP iedere controller , op te halen een compleet systeem status direct van controllers . Dit kan resulteren in een grotere belasting op de processor bedieningspaneel , ernst van de problemen in verband met de communicatie . In dit geval , het de voorkeur om op de LAN zijtoepassing , dat krijgt de lokale UDP-status , en stuurt de via TCP / IP via Internet . Dit wordt gerealiseerd en besproken in toepassing eHouse4Java , waardoor deze oplossing . Het nadeel is de noodzaak om extra hardware die deze functies uitvoert handhaven .
  • Elke controller verzendt een broadcast (verbindingsloze) UDP-protocol voor een onbeperkt aantal clients zijn op het LAN , Intranet . Dit betekent dat , dat het paneel niet verbinden met de TCP-server controller , maar luisteren naar de boodschappen uit te zenden van alle controllers . Op deze manier maakt niet uit hoeveel ontvangers panelen de status verandert niets aan de belasting van het netwerk of controller CPU-gebruik . Broadcasting UDP-pakketten niet mogelijk is of is sterk belemmerd door het internet , dus in dit geval de eerste methode worden gebruikt . De mogelijkheid van indiening van de UDP soms mogelijk afhankelijk van het type koppeling , Prestatie . Soms is het mogelijk een broadcast UDP krijgen via VPN verbinding geconfigureerd , Echter , ook in deze situatie , pakketten verloren , wegens gebrek aan veiligheidsvoorzieningen voor UDP . Onjuiste gegevens worden automatisch geannuleerd door de software eHouse panelen voor niet checksum (check sum)