Дом индивидуальной визуализации и графического управления с 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) , так что изображение не теряет своего качества после изменения масштаба:
 Отменить изменения

New! ;
Контроллеры статус автоматически отображаются:
Он обновляется через компьютерную сеть или через Интернет (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 на совместимость и простоту разработки программного обеспечения на различных операционных системах .
SOURCE CODE
/ *
* Шаблон для графических приложений системы визуализации , умный дом EHouse
* Только для зарегистрированных пользователей системы EHouse , Сотрудничество компаний Все права защищены
*
* Требуется классы:
* Ehousecommunication . класс – Написать событий в системе
* EhouseTCP . класс – Инициализация и поддержание связи по протоколу TCP / IP контроллера , Обновленные данные из системы входы и выходы
* StatusEhouse . класс – хранение данных и настроек контроллера , обновляться на постоянной основе в течение TCP / IP контроллеров ehouse1 (485)
* StatusCommManager . класс – сохранить текущие данные и настройки контроллеров , обновляться на постоянной основе в течение TCP / IP контроллеров ehouse2 (Ethernet)
* GraphicObject . класс – хранения графических объектов
* Визуализация . класс – рисовать графические объекты (линии , эллипсов , прямоугольники) и служба событий, связанных с
*
* Применение шаблонов предназначены графической визуализации EHouse системы
* ТОЛЬКО ДЛЯ ЗАРЕГИСТРИРОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ , Производители , Copyright КООПЕРАТИВОВ ISYS . En All Rights Reserved
*
* Обязательные классы:
* 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 визуализации ;
/ **
* Pallete кнопок поддержкой масштабирования , смещения и изменения
* Отображается вид
* /
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 ;
общественности статической строки previousoptionsview = ” ” ;
/ **
* Создает новую форму Ehouse4java . Посвященные статус классы и графические
* Компоненты с главного окна .
* /
общественных Ehouse4java () {
супер ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Инициирует все графические компоненты
* /
addComponentToPane (getContentPane ()) ;

SetSize (400 , 400) ;
SetLocation (200 , 0) ;
setMinimumSize (новое измерение (200 , 200)) ;
SetVisible (истина) ;
prevCenterX = (INT) Визуализация . GetBounds () . getCenterX () ;
prevCenterY = (INT) Визуализация . GetBounds () . getCenterY () ;
}
/ **
* Инициирует все компоненты сухие, как графические панели , Кнопки , прокрутки , и т.д. . .
*
* @ Param области
* /
общественных addComponentToPane недействительными (контейнер панели) {

optionfirsttime = True ;

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 недействительными () { . . . }
/ **
* @ Param аргументы аргументы командной строки
* /
государственной статической силы основных (аргументы String []) {
/ *
* Создание и отображения формы
* /
Ява . AWT . EventQueue . invokeLater (Новый Runnable () {
общественного запустить недействительными () {
Ehouse4java новые () . SetVisible (истина) ;
}
}) ;
}
/ **
* Поддержка событий вызывается нажатием на кнопку
*
* @ Param электронной
* /
@ 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) ; / / Вычислить масштаба
Визуализация . перекрасить () ;
возвращать ;
. . .
}
}
}