eHouse4Java Open Source Software für eHouse Home Automation

eHouse Home Automation eHouse4Java – java (Open Source) Software umfasst die folgenden Module ( . Java – Quellcode , . Klasse – Die resultierende Klasse):

  • Ehouse4java . Java – Der Kern der Anwendung und die wichtigste Schnittstelle
  • ehousecommunication . Java – Kommunikationsfunktionen und Konfiguration
  • EhouseTCP . Java – Kommunikation und Konfiguration von Reglern
  • EventsToSend . Java – sekundären Ereignisbehandlung
  • EventToSend . Java – die Definition eines einzelnen Ereignisses
  • GraphicObject . Java – grafische Objekt-Definitionen
  • ISYS . Java – beinhaltet spezielle Funktionen für Anbieter
  • RunEvent . Java – Senden von Ereignissen Textform
  • StatusEhouse . Java – Klasse enthält eine Instanz für jeden eHouse1 Steuerung
  • StatusEthernet . Java – Klasse enthält eine Instanz für jeden Ethernet eHouse Controller
  • StatusServer . Java – Auxiliary TCP / IP Server , Senden alle Controller-Status über TCP / IP auf Client-Platten (extern über LAN , WAN , Intranet , Internet)
  • Visualisierung . Java – Visualisierung / grafische Steuerung Klasse in Übereinstimmung mit eHouse Visualisierung und grafische Steuerung standard

Die Funktionen und globale Variablen werden in der Software-Quellcode eHouse4Java beschrieben .
Die Software beinhaltet unabhängige Threads , zB . Kommunikation , welche im Hintergrund in Bezug auf die Hauptanwendung durchgeführt .
Dies nicht stoppen oder verzögern die Anwendung, die Prozesse zu lange dauern , das führte zu einer deutlichen Verlangsamung der Anwendung und der Möglichkeit der Aussetzung während der Wartezeit für Kommunikation (Riegelschlösser) .
Die wichtigsten Themen sind:

  • TCP-Client (um den Status des Controllers zu empfangen , die TCP / IP auf dem LAN , WAN , Internet , Intranet)
  • UDP Listener (zum Hören Status in dem verbindungslosen UDP Broadcast) – nur innerhalb des LAN , Intranet
  • Speech Synthesizer keine akustische Textnachrichten spielen
  • Multithreaded TCP / IP Server – um die empfangenen Status der angeschlossenen Client-Panels jeder Art (über LANs , WIFI , Internet , Intranet , WAN)

Namen von Kommunikationsmedien mit Steuerungen sind mit den Einstellungen auf dem Formular wählen Sie die Art der Verbindung (LAN TCP enthalten , LAN UDP , Internet , Aus) .
Andere Themen sind aktiviert die Verwendung von globalen Variablen sind in den Klassen ” EhouseTCP ” oder ” ehousecommunication ” .

Die Anwendung verwendet ein Visualisierung nach eHouse Standard , generiert aus CorelDraw Anwendungen mit Skripten, die zu aktivieren:

  • Import eHouse System-Konfiguration
  • Erstellung grafischer Objekte manuell oder mit einem Skript
  • Export von Daten für alle Visualisierungs-Methoden für alle Panels , Web-Browsern , pc , Tabletten , Smartphones und andere Systeme

Dies wird in dem Artikel beschrieben:
” Erstellen von grafischen Visualisierung und Steuerung eHouse smart home ” .
Visualisierungs-Software basiert auf einer skalierbaren Vektorgrafiken (SVG) basiert .
Diese Methode ermöglicht es Ihnen ” verlustfrei ” Qualität Kurven zeichnen , Text , einfache geometrische Figuren , unabhängig von der Größe der Erweiterung , Screen-Verschiebung , etc .
Es wäre nicht möglich gewesen über die Hintergrundgrafik Bilder wie jpg , Bitmaps , etc . .
Software-Visualisierung wurde optimiert, um die Auslastung der CPU und Grafik Bearbeitungszeit zu reduzieren, wenn Sie online arbeiten , Aufgrund der großen Menge an Daten zu verarbeiten . Grafikbilder werden zwischengespeichert und eingeteilt in entsprechende Steuersignale verarbeitet und beim Empfang des Status des Controllers , und auf dem Bildschirm viel schneller von der Visualisierung Cache jedes Controller angezeigt .

Dies ermöglicht:

  • signifikante Verringerung der verarbeiteten Daten zur Visualisierung mit den Bild ändert
  • deutlich reduzieren Flackern beim Wechsel projizierten Bilder
  • signifikante Verringerung der Belastung von CPU und Datenvisualisierung
  • die Verwendung von viel ” schwächer ” , weniger effizient und weniger teure Hardware , Grafik-Panels , Tabletten , das Bedienfeld , etc . , unter Beibehaltung einer komfortables Arbeiten
  • Verringerung des Stromverbrauchs was besonders wichtig ist im Batteriebetrieb und mobilen Geräten und Länge der Arbeit über Batterien

Dies wird mit Screenshots im Artikel beschrieben:
” Grafische Visualisierung und intelligente Home Control in Java ”

EHouse4Java Kommunikation mit Steuerungen Home Automation

eHouse1 Unter der Aufsicht des PC

In dieser Version der Anwendung eHouse . exe funktioniert als Empfänger Status der RS – 485 (mit Konverter RS – 485/RS – 232) und sendet den Status ohne Änderungen an den beiden Verfahren nicht miteinander kollidieren:

  • eHouse . exe arbeitet als TCP / IP-Server antwortet auf Anfragen über den Status Panel , Unter weiterer verbinden die Platten und pflegen sie, bis aus irgendeinem Grund unterbrochen . Dieses Verfahren ist besonders wertvoll bei Versuchen, eine Kommunikation mit der Außenseite TCP / IP über das Netzwerk zu etablieren Panel , wie beispielsweise dem Internet, wo es nicht möglich, UDP-Status zu empfangen .
  • eHouse . EXE sendet die Rundfunk verbindungslose Protokoll UDP für eine beliebige Anzahl von Clients auf dem LAN , Intranet . Dies bedeutet, dass , dass die Platte nicht der Verbindung zum Server , sondern hört Broadcast-Nachrichten aus ” eHouse . exe ” Anwendungen . Auf diese Weise, egal wie viele Empfänger Panels ändert sich nicht die Netzlast , oder der Computer, auf dem die ” eHouse . exe ” Anwendung läuft . Leider ist es nicht möglich oder sehr schwierig zu UDP Broadcast über das Internet zu übertragen, so in diesem Fall die erste Verfahren verwendet werden soll .

eHouse1 Unter der Aufsicht von CommManager

In dieser Version , CommManager empfängt eingehende Zustände über RS – 485 (von eHouse1 Regler) und sendet den Status ohne Änderungen an den beiden Verfahren nicht miteinander kollidieren:

  • CommManager arbeitet als TCP / IP-Server antwortet auf Anfragen über den Status Panel , Unter weiterer verbinden die Platten und pflegen sie, bis aus irgendeinem Grund unterbrochen . Dieses Verfahren ist besonders wertvoll Versuche, die Kommunikation mit der Platte außerhalb des LAN einzurichten , wie beispielsweise dem Internet, wo es nicht möglich, UDP-Status zu empfangen .
  • CommManager sendet Broadcasts (verbindungslos) UDP-Protokoll für eine beliebige Anzahl von Clients im LAN , Intranet .
    Dies bedeutet, dass , dass die Platte eine Verbindung mit dem Server-TCP CommManager , aber hören die Nachrichten von CM ausgestrahlt . Auf diese Weise, egal wie viele Empfänger Platten von Status , es ändert nichts an der Netzlast oder CommManager CPU-Auslastung . Broadcasting UDP Broadcast ist nicht möglich , oder ist stark durch das Internet so in diesem Fall behindert die erste Methode verwendet werden sollte .

Ethernet eHouse (eHouse4Ethernet)

In dieser Version von Ethernet-Controller: CommManager , EthernetRoomManager , etc . , unabhängig senden ihren Status auf zwei Arten , nicht miteinander kollidieren:

  • Jeder Controller arbeitet als TCP / IP-Server antwortet auf Anfragen über den Status Panel , Unter weiterer verbinden die Platten und pflegen sie, bis aus irgendeinem Grund unterbrochen . Dieses Verfahren ist besonders wertvoll Versuche, die Kommunikation mit den Platten außerhalb der LAN einzurichten , wie beispielsweise dem Internet , in denen es nicht möglich, UDP-Status zu empfangen .
    Jedoch , im Falle von mehreren Ethernet-Controller ist notwendig, um eine Verbindung zu einem TCP / IP jeder Controller aufrechtzuerhalten , abholen eine komplette System-Status direkt vom Controller . Dies kann zu einer größeren Belastung des Prozessors Bedienfeld führen , Schwere der Probleme auf Kommunikation . In diesem Fall , es ist bevorzugt, auf der LAN-Seite Anwendung platziert , das bekommt lokalen UDP-Status , und leitet die über TCP / IP über das Internet . Dies wird realisiert und in Anwendung eHouse4Java diskutiert , das ermöglicht diese Lösung . Der Nachteil ist die Notwendigkeit, zusätzliche Hardware, die diese Funktionen durchführt aufrechtzuerhalten .
  • Jeder Controller sendet ein Broadcast (verbindungsloses) UDP-Protokoll sind für eine beliebige Anzahl von Clients auf dem LAN , Intranet . Dies bedeutet, dass , dass die Platte keine Verbindung zu dem TCP Server-Controller , aber hören die Nachrichten gesendet von allen Controllern . Auf diese Weise, egal wie viele Empfänger Panels ändert sich nicht die Netzlast oder Controller CPU-Auslastung . Broadcasting UDP-Pakete nicht möglich oder ist stark durch das Internet behindert , so dass in diesem Fall das erste Verfahren verwendet werden soll . Die Möglichkeit der Übermittlung des UDP ist manchmal möglich, je nach Art der Verbindung , Performance . Manchmal ist es möglich, ein Broadcast UDP über VPN richtig konfiguriert Link abrufen , Jedoch , auch in dieser Situation , Pakete können verloren gehen , wegen des Mangels an Sicherheitsmechanismen für UDP . Falsche Daten werden automatisch durch die Software eHouse Platten für nicht Prüfsumme abgesagt (Prüfsumme)