ויזואליזציה פרט הבית ופקד גרפי ממערכת האוטומציה eHouse – תאווה

הדמיה גרפית של בית האוטומציה eHouse מרחיב את סביבת הפיתוח במערכת ויוצר את האפשרות של פיתוח תוכנה עצמאית למערכת ofeHouse משתמשי קצה , חברות ועסקים הקשורים מעוניינים לתרום באופן אישי תכנות בסביבת JSE (Java) . eHouse עבור Java (eHouse4Java) תואם לספריות Windows Mobile ואנדרואיד , מאפשר לך ליצור תוכנה משלך עבור לוחות בקרה וטבליות .
הספרייה היא תבנית היישום ומאפשרת:

  • לטעון תצורה , את השמות של הבקרים , פלטים , תשומות , חיישנים , וכו ' .
  • הבטחת בקר מערכת תקשורת
  • קבלה ופענוח מעמד בקר הנתונים
  • לשלוח פקודות בקרה גרפית (עם ההדמיה של עצמים) או מצורת טקסט (עם בחירת שדה)
  • לשלוט במערכת באמצעות WiFi , לאינטרנט , SMS , דוא"ל
  • הדמיה ושליטה גרפית – לטעון את קובץ הטקסט של אובייקטים גרפיים הקשורים לאירועים שהוצאו להורג (של מערכת eHouse) וסטטוסי ציוד
  • הדמיה אוטומטית עבור הבקר (חדר)

ויזואליזציה נוצרה באמצעות ג 'אוות ספרייה ” נדנדה ” עם אלמנטים של ” JPanel ” , ” JButton ” וכו ' .
עצמים אלה הם באופן אוטומטי ” להכפיל – נאגר ” , כך שההשפעה של הבהוב מסולקת , שהוא מאוד מעצבן עבור המשתמש .
המשתמש יכול גם לשלוט בתמונה:

  • זום פנימה והחוצה
  • לעלות , למטה מצד לצד
  • לשנות את התצוגה הנוכחית על ידי בחירה ” אפשרויות ”
  • לחזור להדמיה הגרפית של המערכת על ידי בחירה ” לצפות ”

דוגמה למערכת eHouse הדמיה:
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
התקרבות וההתרחקות בוצעה תוך השימוש בגרפיקה וקטורית מדורגת (SVG) , כך שהתמונה לא מאבדת את איכותו לאחר השינוי בקנה מידה:
 בטל עריכות

חדש! ;
מעמד הבקרים מוצגים באופן אוטומטי:
הוא מתעדכן דרך רשת מחשבים או האינטרנט (TCP או UDP) – מקוון (בזמן אמת)
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
על ידי בחירה ” אפשרויות ” והחדר שניתן לראות בקרי מדינות ובחר תוכניות .
שינוי המעמד של UDP הנכנס באופן אוטומטי rewizualizacjÄ ™:  גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה באינטרנט והדמיה - קוד פתוח java
בנוסף להדמיה של מעוצב באופן אינדיבידואלי המבוסס על העיצוב וההתקנה של בית החכם האדריכליים נוצר ההדמיה באופן עצמאי לכל בקר במערכת (במיוחד עבור RoomManagers וEthernetRoomManager באופן אוטומטי – לחדרים בודדים) .
זה מאפשר לפנלים עצמאיים בקרה ותמונה לכל חדר בנפרד , ללא מייגע כדי ליצור פרויקט – מערכת הדמיה מבוססת .
לCommManager (מצבים של חיישני אזעקה , Ouputs)
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
לRoomManager וEthernetRoomManager:
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
בקר הדוד , התאוששות של CO (HeatManagera)
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
 גרפיקת Intelligent eHouse בית שליטה והדמיה אוטומטי באינטרנט - קוד פתוח java
מידע נוסף ניתן למצוא במאמרים המוקדשים לeHouse4Android ספריות תכנות (eHouse עבור אנדרואיד – אנדרואיד Java) , אשר תורגם לJava SE תאימות והקלות של פיתוח תוכנה במערכות הפעלה שונות .
קוד המקור
/ *
* תבנית יישומים עבור מערכת הדמיה גרפית , eHouse הבית החכם
* רק למשתמשים רשומים של eHouse המערכת , חברות המשתפות פעולה כל הזכויות שמורות
*
* דורש שיעורים:
* Ehousecommunication . מעמד – לשלוח את האירועים למערכת
* EhouseTCP . מעמד – אתחול ותחזוקה של תקשורת באמצעות TCP / IP בקר , נתונים עדכניים ממערכת התשומות והתפוקות
* StatusEhouse . מעמד – נתוני הגדרות אחסון ובקר , מתעדכן באופן שוטף באמצעות TCP / IP בקרי ehouse1 (485)
* StatusCommManager . מעמד – אחסון נתונים נוכחיים ובקרי הגדרות , מתעדכן באופן שוטף באמצעות TCP / IP בקרי ehouse2 (Ethernet)
* GraphicObject . מעמד – אחסון של אובייקטים גרפיים
* יזואליזציה . מעמד – לצייר אובייקטים גרפיים (קווים , אליפסות , מלבנים) ואירועים הקשורים שירות
*
* תבנית יישום נועדה להדמיה גרפית של מערכת eHouse
* למשתמשים רשומים בלבד , ספקים , קואופרטיבי 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 משתרע ActionListener JFrame כלים , ChangeListener {
/ **
* מחלקה אחראית מאתחל את מצב המערכת , וליצור
* חלון היישום הראשי . מיישם ממשקים התומכים באירוע
* הקשורים לחצנים .
*
* מחלקה אחראית מאתחל את המצב של כיתות ויצירה
* חלון היישום הראשי . המיישם אירועי תמיכת ממשקים
* קשור לחצנים .
* /
/ **
* אובייקט יזואליזציה המכיל תצוגה מוצגת כעת
* /
ויזואליזציה הדמית הציבור ;
/ / אפשרויות הדמיה ציבוריות ;
/ / TextEvents הדמיה ציבורית ;
/ **
* Pallete של כפתורים התומכים בהתקרבות , משתנה כל
* תצוגה הוצגה
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
אפשרויות JButton ;
JButton צפה ;
חזור JButton ;
JButton [] = JButton ViewsB החדש [MAX_VIEWS_COUNT] ;
/ **
* לוח עם כל הכפתורים
* /
ZoomPanel JPanel ;
/ **
* לוח כיום מוצג בו הדמיה
* /
viewpanel JPanel ;
/ **
* פנל המכיל קבוצה של לחצנים המשמשת לגישת מדינות בקרים ,
* לוחות זמנים וכו 'מערכה . .
* /
optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter int סטטי ציבור ;
ציבור int centerx ;
Centery int הציבור ;
ציבור int prevCenterX ;
prevCenterY int הציבור ;
Ycompensation int הציבור ;
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 = אמיתי ;

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 args טיעוני שורת הפקודה
* /
(מחרוזת ארגומנטים []) הציבור הריק סטטי הראשי {
/ *
* יצירה ולהציג את הטופס
* /
תאווה . awt . EventQueue . invokeLater (Runnable החדש () {
ריצת חלל הציבורית () {
Ehouse4java חדש () . setVisible (אמיתי) ;
}
}) ;
}
/ **
* תומך באירועים מופעלים על ידי לחיצה על כפתור
*
* @ פרמטר דואר
* /
@ Override
חלל actionPerformed ציבור (דואר ActionEvent) {
מתג (ה . getActionCommand ()) {
מקרה ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . קיזוזים ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . המקושקש * = (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) ; / / חישוב זום
ראיה . לצבוע () ;
לחזור ;
. . .
}
}
}