Logiciel Open Source pour eHouse4Java Home Automation ehouse

ehouse Domotique eHouse4Java – java (open source) logiciel comprend les modules suivants ( . Java – code source , . classe – La classe résultante):

  • Ehouse4java . Java – Le noyau de l'application et de l'interface principale
  • ehousecommunication . Java – des fonctions de communication et de configuration
  • EhouseTCP . Java – communication et la configuration de contrôleurs
  • EventsToSend . Java – la gestion des événements secondaires
  • EventToSend . Java – la définition d'un événement unique
  • GraphicObject . Java – définitions d'objets graphiques
  • ISYS . Java – comprend des fonctions dédiées pour les vendeurs
  • RunEvent . Java – Envoi d'événements de la forme du texte
  • StatusEhouse . Java – classe contient une instance pour chaque contrôleur eHouse1
  • StatusEthernet . Java – classe contient une instance pour chaque contrôleur Ethernet ehouse
  • StatusServer . Java – Auxiliaire serveur TCP / IP , l'envoi statut des contrôleurs via le protocole TCP / IP pour panneaux clients (externe via LAN , WAN , Intranet , Internet)
  • visualisation . Java – Visualisation / classe de contrôle graphique en conformité avec la visualisation ehouse norme de contrôle et graphique

Les fonctions et variables globales sont décrites dans le code source du logiciel eHouse4Java .
Le logiciel inclut des threads indépendants , par exemple, . Communication , qui sont réalisées dans le fond par rapport à l'application principale .
Ce ne sont pas arrêter ou retarder l'application des processus trop long , ce qui a entraîné une baisse significative lente de la demande et la possibilité d'une suspension en attendant la communication (verrous morts) .
Les fils principaux sont les suivants:

  • TCP Client (pour recevoir le statut de la commande , le tcp / ip sur le réseau local , WAN , Internet , Intranet)
  • Écoute UDP (pour écouter de la diffuser l'état de la connexion UDP) – seulement dans le LAN , Intranet
  • Synthétiseur vocal pour lire des messages texte acoustiques
  • Multithread TCP / IP du serveur – pour acheminer l'état reçu les panneaux clients connectés de n'importe quel type (par l'intermédiaire de réseaux locaux , WIFI , Internet , Intranet , WAN)

Noms des moyens de communication avec les contrôleurs sont inclus avec les paramètres sur le formulaire de choisir le type de connexion (LAN TCP , LAN UDP , Internet , Off) .
D'autres threads sont activés en utilisant les variables globales sont en cours ” EhouseTCP ” ou ” ehousecommunication ” .

L'application utilise une visualisation en fonction de ehouse norme , généré à partir d'applications CorelDraw l'aide de scripts qui permettent:

  • la configuration du système ehouse importation
  • création d'objets graphiques manuellement ou avec un script
  • exporter des données pour toutes les méthodes de visualisation pour tous les panneaux , navigateurs Web , ordinateur personnel , comprimés , smartphones et d'autres systèmes

Cette question est examinée plus loin dans l'article:
” la création d'une visualisation graphique et le contrôle ehouse maison intelligente ” .
logiciel de visualisation est basée sur un Scalable Vector Graphics (SVG) .
Cette méthode vous permet ” sans perte ” des courbes de dessin de qualité , texte , des figures géométriques simples , quelle que soit la taille de l'élargissement , Changement d'écran , etc .
Il n'aurait pas été possible en utilisant les images de fond graphiques tels que jpg , bitmaps , etc . .
Logiciel de visualisation a été optimisé afin de réduire l'utilisation de la CPU et le temps de traitement graphique lorsque vous travaillez en ligne , en raison de la grande quantité de données à traiter . Les images graphiques sont mises en cache, et divisé en signaux de commande appropriés et traité lors de la réception de l'état de l'automate , et affichée sur l'écran beaucoup plus rapidement de la mémoire cache de visualisation de chaque contrôleur .

Cela permet:

  • réduction significative des données traitées pour la visualisation de l'image change
  • considérablement réduire le scintillement des images projetées lors de la modification
  • réduction significative de la charge de la CPU et de visualisation de données
  • l'utilisation d'une grande partie ” plus faible ” , matériel moins performant et moins coûteux , panneaux graphiques , comprimés , le panneau de contrôle , etc . , tout en maintenant un environnement de travail confortable
  • réduction de la consommation d'énergie qui est particulièrement important dans les équipements mobiles et de la batterie et la durée du travail sur les batteries

Ceci est discuté avec les captures d'écran dans l'article:
” Visualisation graphique et le contrôle domotique en Java ”

EHouse4Java communication avec les contrôleurs domotique

eHouse1 Sous la supervision du PC

Dans cette version de l'application de ehouse . exe fonctionne comme un état du récepteur de la RS – 485 (avec convertisseur RS – 485/RS – 232) et transmet l'état sans aucune modification sur les deux méthodes ne sont pas en collision les uns avec les autres:

  • ehouse . exe fonctionne comme un serveur TCP / IP répond à des questions sur le panneau d'état , Se référant en outre relier les panneaux et les maintenir jusqu'à déconnecté pour une raison quelconque, . Cette méthode est particulièrement utile avec les tentatives d'établir la communication avec le panneau extérieur TCP / IP via le réseau , tels que l'Internet, où il n'est pas possible d'obtenir le statut UDP .
  • ehouse . exe envoie le protocole UDP diffusion connexion pour n'importe quel nombre de clients sur le réseau local , Intranet . Cela signifie que , que le panneau n'est pas connecté au serveur , mais l'écoute des messages diffusés ” ehouse . exe ” applications . De cette façon, peu importe combien de bénéficiaires de panneaux statut ne change pas la charge du réseau , ou l'ordinateur sur lequel l' ” ehouse . exe ” application s'exécute . Malheureusement, il n'est pas possible ou est très difficile de transmettre diffusion UDP via l'Internet dans ce cas la première méthode devrait être utilisée .

eHouse1 Sous la supervision du CommManager

Dans cette version , CommManager reçoit états entrants via RS – 485 (à partir de eHouse1 contrôleurs) et transmet l'état sans aucune modification sur les deux méthodes ne sont pas en collision les uns avec les autres:

  • CommManager fonctionne comme un serveur TCP / IP répond à des questions sur le panneau d'état , Se référant en outre relier les panneaux et les maintenir jusqu'à déconnecté pour une raison quelconque, . Cette méthode est particulièrement précieux tentatives pour établir une communication avec le panneau extérieur du LAN , tels que l'Internet, où il n'est pas possible d'obtenir le statut UDP .
  • CommManager envoie émissions (connexion) le protocole UDP sont pour un certain nombre de clients sur le réseau local , Intranet .
    Cela signifie que , que le panneau ne se connecte pas au serveur TCP CommManager , mais en écoutant les messages diffusés à partir CM . De cette façon, peu importe combien de bénéficiaires de panneaux de statut , il ne modifie pas la charge du réseau ou l'utilisation du processeur CommManager . Radio-diffusion UDP n'est pas possible , ou est fortement entravé par l'Internet dans ce cas la première méthode devrait être utilisée .

Ethernet ehouse (eHouse4Ethernet)

Dans cette version de contrôleurs Ethernet: CommManager , EthernetRoomManager , etc . , envoyer indépendamment de leur statut de deux façons , n'entrent pas en collision les uns avec les autres:

  • Chaque régulateur fonctionne comme un serveur TCP / IP répond à des questions sur le panneau d'état , Se référant en outre relier les panneaux et les maintenir jusqu'à déconnecté pour une raison quelconque, . Cette méthode est particulièrement précieux tentatives pour établir une communication avec les panneaux externes au LAN , tel que l'Internet , où il n'est pas possible d'obtenir le statut de UDP .
    Cependant , dans le cas de plusieurs contrôleurs Ethernet est nécessaire pour maintenir une connexion à un réseau TCP / IP de chaque contrôleur , pour ramasser un état complet du système directement à partir de contrôleurs . Il peut en résulter une plus grande charge sur le panneau de commande du processeur , la gravité des problèmes liés à la communication . Dans ce cas, , il est préférable de placer sur l'application côté LAN , qui reçoit le statut UDP local , et transmet le sur TCP / IP via Internet . Ceci est réalisé et discuté en application eHouse4Java , ce qui permet cette solution . L'inconvénient est la nécessité de maintenir du matériel supplémentaire qui exécute ces fonctions .
  • Chaque contrôleur envoie un broadcast (sans connexion) le protocole UDP sont pour un certain nombre de clients sur le réseau local , Intranet . Cela signifie que , que le panneau ne se connecte pas au contrôleur serveur TCP , mais en écoutant les messages diffusés par tous les contrôleurs . De cette façon, peu importe combien de bénéficiaires de panneaux statut ne change pas la charge du réseau ou de l'utilisation du processeur du contrôleur . Radiodiffusion paquets UDP n'est pas possible ou est fortement entravé par l'Internet , dans ce cas la première méthode devrait être utilisée . La possibilité de transmission de l'UDP est parfois possible selon le type de lien , Performance . Parfois, il est possible d'obtenir une diffusion UDP via un lien VPN configuré correctement , Cependant , même dans cette situation , paquets peuvent être perdus , en raison de l'absence de mécanismes de sécurité pour le protocole UDP . Des données incorrectes sont automatiquement annulées par les panneaux ehouse logiciels pour contrôle non (somme de contrôle)