Maison individuelle de visualisation et contrôle graphique de System Automation ehouse – Java

Visualisation graphique des Home Automation ehouse étend l'environnement de développement pour le système et crée la possibilité d'un développement indépendant de logiciels pour la fin ofeHouse utilisateurs du système , entreprises associées et des entreprises qui souhaitent contribuer individuellement programmation en JSE (Java) environnement . ehouse pour Java (eHouse4Java) est compatible avec l'Android et Windows bibliothèques mobiles , vous permettant de créer votre propre logiciel pour panneaux de commande et les tablettes .
La bibliothèque est le modèle d'application et permet de:

  • charger la configuration , les noms des contrôleurs , Sorties , Entrées , capteurs , etc .
  • Système de communication assurant contrôleur
  • recevoir et décoder l'état du contrôleur de données
  • envoyer des commandes de contrôle graphiquement (avec la visualisation d'objets) ou sous forme de texte (avec sélection par l'utilisateur)
  • commander le système via le WiFi , Internet , SMS , eMail
  • Visualisation graphique et le contrôle – charger le fichier texte des objets graphiques associés à des événements à exécuter (du système ehouse) et des états d'équipements
  • Visualisation automatique pour le dispositif de commande (chambre)

La visualisation est créé en utilisant java bibliothèque ” balancer ” avec des éléments d'un ” JPanel ” , ” JButton ” etc .
Ces objets sont automatiquement ” doubler – tamponné ” , de sorte que l'effet de scintillement est éliminée , ce qui est très gênant pour l'utilisateur .
L'utilisateur peut également contrôler l'image:

  • zoom avant et arrière
  • déplacer vers le haut , vers le bas et de gauche à droite
  • changer la vue actuelle en sélectionnant le ” Options de ”
  • revenir à la visualisation graphique du système en sélectionnant la ” Voir ”

Exemple de système ehouse visualisation:
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
Zoom avant et arrière a été réalisé avec l'utilisation de graphiques vectoriels adaptables (SVG) , de sorte que l'image ne perd pas sa qualité après le changement d'échelle:
 Annuler les modifications

Nouveau! ;
statut des contrôleurs sont automatiquement affichées:
Il est mis à jour par l'intermédiaire d'un réseau informatique ou d'Internet (TCP ou UDP) – en ligne (en temps réel)
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
En sélectionnant l' ” Options de ” et la salle peut être vu contrôleurs États et sélectionner les programmes .
Modification de l'état de l'UDP entrant sera automatiquement rewizualizacjÄ ™:  Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
 Intelligent ehouse maison de contrôle et de visualisation graphique en ligne - java open source
En plus de la visualisation de design individuel basé sur la conception architecturale et l'installation de la maison intelligente est automatiquement créé la visualisation de façon indépendante pour chaque contrôleur du système (en particulier pour RoomManagers et EthernetRoomManager – pour les chambres individuelles) .
Cela permet de panneaux de contrôle indépendants et de visualisation pour chaque pièce individuellement , sans fastidieux de créer un projet – système de visualisation basée sur .
Pour CommManager (états de capteurs d'alarme , Ouputs)
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
Pour RoomManager et EthernetRoomManager:
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
Le régulateur de la chaudière , récupération de CO (HeatManagera)
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
 Intelligent Home Control ehouse graphiques et de visualisation automatique en ligne - java open source
Plus d'informations peuvent être trouvées dans les articles consacrés à la programmation des bibliothèques eHouse4Android (ehouse pour Android – Android Java) , qui ont été traduits en Java SE pour assurer la compatibilité et la facilité de développement de logiciels sur différents systèmes d'exploitation .
LE CODE SOURCE
/ *
Applications pour le système Template * visualisation graphique , ehouse maison intelligente
* Uniquement pour les utilisateurs enregistrés du système ehouse , Les sociétés ayant coopéré Tous droits réservés
*
* Nécessite Classes:
* Ehousecommunication . classe – envoyer des événements au système
* EhouseTCP . classe – Initialisation et la maintenance des communications sur TCP / IP du contrôleur , Données mises à jour à partir des entrées et des sorties du système
* StatusEhouse . classe – les paramètres de stockage de données et de commande , mis à jour sur une base continue sur TCP / IP des contrôleurs ehouse1 (485)
* StatusCommManager . classe – stocker les données et les réglages actuels des contrôleurs , mis à jour sur une base continue sur TCP / IP des contrôleurs ehouse2 (Ethernet)
* GraphicObject . classe – stockage des objets graphiques
* Visualisation . classe – dessiner des objets graphiques (lignes , ellipses , rectangles) et des événements de services connexes
*
Modèle d'application * conçu une visualisation graphique du système ehouse
* UNIQUEMENT POUR LES UTILISATEURS ENREGISTRES , Les vendeurs , ISYS COOPÉRATIVES droit d'auteur . Fr Tous droits réservés
*
* Cours obligatoires:
* Ehousecommunication . classe – l'envoi d'événements au système
* EhouseTCP . classe – l'initialisation et la maintenance TCP / IP de communication avec les contrôleurs , mise à jour de l'état actuel des contrôleurs
* StatusEhouse . classe – paramètres des contrôleurs et stockage des données , l'actualisation des données (TCP / IP) pour ehouse1 contrôleurs (485)
* StatusCommManager . classe – paramètres des contrôleurs et stockage des données , la mise à jour des données (TCP / IP) pour ehouse2 contrôleurs (Ethernet)
* GraphicObject . classe – graphiques des objets de stockage de données
* Visualisation . classe – dessin des objets graphiques (lignes , Ellipses , rectangles) et des événements de manipulation qui leur sont liées
* /
paquet ehouse4java ;
import java . awt . * ;
import java . awt . événement . * ;
import javax . balancer . * ;
import javax . balancer . événement . Changeevent ;
import javax . balancer . événement . ChangeListener ;
Ehouse4java public class extends JFrame implements ActionListener , ChangeListener {
/ **
* Classe responsable de l'initialisation de l'état du système , et créer
* La fenêtre de l'application principale . Implémente des interfaces qui prennent en charge l'événement
* Associé à boutons .
*
Classe * Responsable de l'initialisation de l'état des classes et la création
* La fenêtre de l'application principale . Qui implémente les interfaces des événements de soutien
* Liés aux boutons .
* /
/ **
* Visualisation objet contenant vue actuellement affichée
* /
Visualisation Visualisation publique ;
/ / Options de visualisation publics ;
/ / TextEvents visualisation publics ;
/ **
* Palette de boutons de zoom de soutien , déplacer et changer
* S'affiche vue
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Options de JButton ;
Voir JButton ;
Retour JButton ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel avec tous les boutons
* /
ZoomPanel JPanel ;
/ **
* Panel affiché actuellement contenant visualisation
* /
ViewPanel JPanel ;
/ **
* Le panneau contenant un groupe de boutons utilisés pour accéder aux états contrôleurs ,
* Système horaires etc . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane JSP2 ;
publique buttonscounter static int ;
public int centerX ;
publique CenterY int ;
public int prevCenterX ;
publique prevCenterY int ;
publique Ycompensation int ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
deux prevScaleX ;
deux prevScaleY ;
publique ZoomFactor double final = 0 . 3 ;
public static cordes previousoptionsview = ” ” ;
/ **
* Crée Ehouse4java nouvelle forme . Lance l'état des classes et des graphiques
* Composants présentant fenêtre principale .
* /
Ehouse4java publique () {
super ( ” Ehouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Lance tous les composants graphiques
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nouvelle dimension (200 , 200)) ;
setVisible (true) ;
prevCenterX = (int) Visualisation . getBounds () . getCenterX () ;
prevCenterY = (int) Visualisation . getBounds () . getCenterY () ;
}
/ **
* Lance tous les composants secs comme les panneaux graphiques , boutons , barres de défilement , etc . .
*
* @ Param volet
* /
addComponentToPane public void (volet Conteneurs) {

optionfirsttime = true ;

ExitB = new JButton ( ” Sortie ” ) ;
ExitB . setActionCommand ( ” Sortie ” ) ;
ExitB . addActionListener (ce) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (new FlowLayout ()) ;
ViewPanel . ajouter (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (ce) ;
ZoomPanel . ajouter (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (ce) ;
ZoomPanel . ajouter (ZoomMinusButton) ;
. . .
}
/ **
* Initiés et les classes StatusEhouse StatusCommManager par les contrôleurs de charge
* Statut
* /
OnCreate public void () { . . . }
/ **
* @ Param args les arguments de ligne de commande
* /
public static void main (String args []) {
/ *
* Créer et afficher le formulaire
* /
Java . awt . EventQueue . invokeLater (nouveau Runnable () {
public void run () {
Ehouse4java new () . setVisible (true) ;
}
}) ;
}
/ **
* Prend en charge les événements invoquées en cliquant sur le bouton
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
Commutateur (e . getActionCommand ()) {
cas ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Décalages ;
ehousecommunication . ScaleX * = (1 + ZoomFactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + ZoomFactor) ; / / * 100/zoomleve ;
/ / Le centrage de la vue après rescalling
ehousecommunication . OffsetX + = (int) ((visualisation . getBounds () . getCenterX () + prevOffsetX) * ZoomFactor) ;
ehousecommunication . Décalages + = (int) ((visualisation . getBounds () . getCenterY () + prevOffsetY) * ZoomFactor) + Ycompensation / (1 / (2 * ZoomFactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . CurrentView) ; / / Calcul de zoom
Visualisation . repaint () ;
retour ;
. . .
}
}
}