Къща Индивидуална визуализация и графично контрол от система за автоматизация EHouse – Ява

Графична визуализация на EHouse Home Automation разширява среда за развитие на системата и създава възможност за независима разработка на софтуер за система за крайни потребители ofeHouse , свързани фирми и предприятия, които желаят да допринесат индивидуално програмиране в JSE (Java) околната среда . EHouse за Java (eHouse4Java) е съвместима с Android и Windows Mobile библиотеки , което ви позволява да създадете свой собствен софтуер за контролни панели и таблети .
Библиотеката е прилагането шаблон и позволява:

  • зареди конфигурация , имената на администраторите , Изходи , Входове , сензори , и т.н. .
  • осигуряване на комуникационна система контролер
  • приемане и декодиране на състоянието на администратора на лични данни
  • изпраща команди за управление графично (с визуализация на обекти) или от формата на текст (с поле избираем)
  • система за контрол чрез WiFi , Интернет , SMS , електронна поща
  • Графична визуализация и контрол – зареди текстов файл на графични обекти, свързани със събитията, да бъде изпълнена (EHouse система) и оборудване статуси
  • Автоматично визуализация за контролера (стая)

Визуализацията е създаден с помощта на Java библиотека ” люлка ” с елементи на ” JPanel ” , ” JButton ” и т.н. .
Тези обекти са автоматично ” удвои – буфериран ” , , така че да се елиминира ефекта на трептене , , което е много досадно за потребителя .
Потребителят може да контролира картинката:

  • Увеличаване и
  • се движат нагоре , надолу и от страна на страна
  • промените текущия изглед, като изберете ” Опции ”
  • се върнете към графична визуализация на системата, като изберете ” Преглед ”

Пример за системата за визуализация EHouse:
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
Увеличаване и се извършва с използването на мащабируеми векторни графики (SVG) , , така че изображението не се губи качество след промяна на мащаба:
 Отмяна на редакциите

Ново! ;
контролери статус се показват автоматично:
Той се актуализира чрез компютърна мрежа или по Интернет (TCP или UDP) – онлайн (в реално време)
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
Чрез избирането на ” Опции ” и стаята може да се види държави контролери и изберете програми .
Промяна на статута на входящ UDP автоматично ще rewizualizacjÄ ™:  Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
 Интелигентен контрол на дома EHouse онлайн графика и визуализация - Java с отворен код
В допълнение към визуализация на индивидуално проектирани въз основа на архитектурното проектиране и монтаж на интелигентен дом се създава автоматично визуализация самостоятелно за всеки ръководител в системата (по-специално за RoomManagers и EthernetRoomManager – отделни стаи) .
Това дава възможност за независими контролни панели и визуализация за всяка стая поотделно , без досадно да се създаде проект – базирана система за визуализация .
За CommManager (състояния на датчици , Задава)
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
За RoomManager и EthernetRoomManager:
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
Контролера на котела , възстановяване на CO (HeatManagera)
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
 EHouse интелигентни графика за контрол на дома и визуализация автоматична онлайн - Java с отворен код
Повече информация можете да намерите в статиите, посветени на библиотеки за програмиране eHouse4Android (EHouse за Android – Android Java) , , които са преведени на Java SE за съвместимост и лекота на разработката на софтуер на различни операционни системи .
Изходния код
/ *
* Шаблон приложения за графична визуализация система , Smart Home EHouse
* Само за регистрирани потребители на системата EHouse , Съдействащите дружества, Всички права запазени
*
* Изисква класове:
* Ehousecommunication . клас – изпрати събития до системата
* EhouseTCP . клас – Инициализация и поддържане на комуникации през TCP / IP контролер , Актуализирани данни от системните входове и изходи
* StatusEhouse . клас – за съхранение на данни и контролер настройки , актуализира текущо през TCP / IP контролери ehouse1 (485)
* StatusCommManager . клас – съхранение на актуалните данни и настройки контролери , актуализира текущо през TCP / IP контролери ehouse2 (Ethernet)
* GraphicObject . клас – съхранение на графични обекти
* Визуализация . клас – изготвя графични обекти (линии , елипси , правоъгълници) и услуги, свързани събития
*
* Прилагане на шаблон проектирана графична визуализация на EHouse система
* Само за регистрирани потребители , Доставчиците , КООПЕРАЦИИ Copyright ISYS . En Всички права запазени
*
* Необходими класове:
* Ehousecommunication . клас – изпращане на събития към системата
* EhouseTCP . клас – инициализация и поддръжка TCP / IP комуникация с контролери , актуализиране на текущото състояние на ръководителите на
* StatusEhouse . клас – контролери настройки и съхранение на данни , актуализиране на данните (TCP / IP) за ehouse1 контролери (485)
* StatusCommManager . клас – контролери настройки и съхранение на данни , актуализиране на данните (TCP / IP) за ehouse2 контролери (Ethernet)
* GraphicObject . клас – графични обекти за съхранение на данни
* Визуализация . клас – рисуване графични обекти (линии , Пропуските , правоъгълници) и обработка на събития, свързани с тях
* /
ehouse4java пакет ;
внос Java . AWT . * ;
внос Java . AWT . събитие . * ;
внос javax . люлка . * ;
внос javax . люлка . събитие . Changeevent ;
внос javax . люлка . събитие . ChangeListener ;
Ehouse4java обществени клас разширява JFrame инвентар ActionListener , ChangeListener {
/ **
* Клас отговорен за инициализиране на състоянието на системата , и да се създаде
* Основният прозорец за кандидатстване . Реализира интерфейси, които подкрепят проявата
Асоциира се с бутони .
*
* Клас Отговаря за инициализиране на състоянието на класове и създаване
* Основният прозорец за кандидатстване . Който въвежда интерфейси подкрепа събития
* Във връзка с бутоните .
* /
/ **
* Визуализация обект, съдържащ момента Показан изглед
* /
публична визуализация Визуализация ;
/ / Обществени възможности за визуализация ;
/ / Обществени TextEvents визуализация ;
/ **
* Палитра на бутоните в подкрепа на мащабиране , преместване и промяна
* Показан оглед
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = NULL ;
JButton Опции ;
JButton View ;
JButton Обратно ;
JButton [] = нови JButton ViewsB MAX_VIEWS_COUNT] ;
/ **
* Панел с всички бутони
* /
JPanel ZoomPanel ;
/ **
* Панел показва в момента, съдържащи визуализация
* /
JPanel viewpanel ;
/ **
* Панел, съдържащ група бутони, използвани за достъп до контролери държави ,
* Система графици и др. . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
публично статично buttonscounter Int ;
общественото INT centerX ;
публична INT CenterY ;
общественото INT prevCenterX ;
публична INT prevCenterY ;
публична INT Ycompensation ;
prevOffsetX Int = 0 , prevOffsetY = 0 ;
двойно prevScaleX ;
двойно prevScaleY ;
публичния окончателно двойно zoomfactor = 0 . 3 ;
публично статично String previousoptionsview = ” ” ;
/ **
* Създава нова форма Ehouse4java . Стартира статут на класове и графични
* Съставки с главния прозорец .
* /
обществен Ehouse4java () {
Super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Инициира всички графични елементи
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , Четиристотин милиона) ;
setLocation (200 , 0) ;
setMinimumSize (ново измерение (200 , Двеста милиона)) ;
setVisible (вярно) ;
prevCenterX = (INT) визуализация . getBounds () . getCenterX () ;
prevCenterY = (INT) визуализация . getBounds () . getCenterY () ;
}
/ **
* Инициира всички компоненти сухи графични панели , бутони , плъзгачите , и т.н. . .
*
* @ Парам прозореца
* /
обществени невалидни addComponentToPane (Container панел) {

optionfirsttime = вярно ;

ExitB = нови JButton ( ” Изход ” ) ;
ExitB . setActionCommand ( ” Изход ” ) ;
ExitB . addActionListener (тази) ;
. . .
indexView Int = 0 ;
ZoomPanel = нови JPanel (нова FlowLayout ()) ;
viewpanel . добавете (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = нови JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (тази) ;
ZoomPanel . добави (ZoomPlusButton) ;
ZoomMinusButton = нови JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (тази) ;
ZoomPanel . добави (ZoomMinusButton) ;
. . .
}
/ **
* Посветените и StatusEhouse StatusCommManager класове от товарни контролери
* Статус
* /
обществени невалидни OnCreate () { . . . }
/ **
* @ Парам ARGS аргументите на командния ред
* /
публично статично невалидни основни (String опцията []) {
/ *
* Създаване и показване на формата
* /
Ява . AWT . EventQueue . invokeLater (нова изпълнима () {
обществени нищожен план () {
Ehouse4java нов () . setVisible (вярно) ;
}
}) ;
}
/ **
* Поддържа събития Сложен, като щракнете върху бутона
*
* @ Парам д
* /
@ Override
обществени невалидни actionPerformed (ActionEvent д) {
превключвател (д . getActionCommand ()) {
случай ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Компенсациите ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Центриране на оглед след rescalling
ehousecommunication . OffsetX + = (INT) ((визуализация . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Компенсациите + = (INT) ((визуализация . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Изчислява увеличение
Визуализация . пребоядисвам () ;
връщане ;
. . .
}
}
}