eHouse4Java Open Source Software para sa eHouse Home Automation

eHouse Home Automation eHouse4Java – java (Open source) software ay kasama ang mga sumusunod na module ( . Dyaba – source code , . klase – Ang resultang klase):

  • Ehouse4java . Dyaba – Ang core ng application at ang pangunahing interface
  • ehousecommunication . Dyaba – function at configuration ng komunikasyon
  • EhouseTCP . Dyaba – komunikasyon at configuration ng mga controllers
  • EventsToSend . Dyaba – pangalawang kaganapan handling
  • EventToSend . Dyaba – ang kahulugan ng isang solong kaganapan
  • GraphicObject . Dyaba – graphical bagay kahulugan
  • ISYS . Dyaba – kasama ang nakatuon na function para sa mga vendor
  • RunEvent . Dyaba – Nagpapadala ng mga kaganapan mula sa anyo ng teksto
  • StatusEhouse . Dyaba – klase ay naglalaman ng isang pagkakataon para sa bawat eHouse1 controller
  • StatusEthernet . Dyaba – klase ay naglalaman ng isang pagkakataon para sa bawat Ethernet eHouse controller
  • StatusServer . Dyaba – Katulong TCP / IP Server , pagpapadala ng lahat ng mga controllers katayuan sa pamamagitan ng TCP / IP sa client panel (panlabas na sa pamamagitan ng LAN , Maputla , Intranet , Internet)
  • paggunita . Dyaba – Visualization / graphical control klase ayon sa eHouse visualization at graphical control pamantayan

Ang mga function at global variable ay inilarawan sa source code ng software eHouse4Java .
Ang software ay ang mga independiyenteng thread , halimbawa . Pakikipag-usap , na gumanap sa background na may kaugnayan sa pangunahing application .
Ito ay hindi huminto o antalahin ang application na proseso ay masyadong matagal , na nagresulta sa isang makabuluhang mabagal down na ng application at ang posibilidad ng suspensyon habang naghihintay para sa komunikasyon (patay kandado) .
Ang pangunahing mga thread ay:

  • TCP Client (upang makatanggap ng katayuan ng controller , ang TCP / IP sa LAN , Maputla , Internet , Intranet)
  • UDP Nakikinig (para sa pakikinig sa broadcast ang katayuan sa connectionless UDP) – lamang sa loob ng LAN , Intranet
  • Speech synthesizer upang i-play ang anumang ng tunog ng mga text message
  • Multithreaded TCP / IP Server – sa ruta ang natanggap na katayuan sa konektado client panel ng anumang uri (sa pamamagitan ng LANs , WiFi , Internet , Intranet , Wan)

Pangalan ng media ng komunikasyon na may controllers ay kasama ang mga setting sa form piliin ang mga uri ng koneksyon (LAN TCP , LAN UDP , Internet , Off) .
Iba pang mga thread ay activate ang paggamit ng mga pangkalahatang variable sa klase ” EhouseTCP ” o ” ehousecommunication ” .

Ang application ay gumagamit ng visualization ayon sa eHouse standard , na nabuo mula sa CorelDraw application na gamit ang script na paganahin ang:

  • import eHouse system configuration
  • paglikha ng mga graphical na mga bagay nang manu-mano o na may script
  • i-export ang mga data para sa lahat ng mga pamamaraan ng visualization para sa lahat ng mga panel , web browser , pc , tablet , smartphone at iba pang mga system

Ito ay tinalakay sa karagdagang sa artikulo:
” lumikha ng graphical visualization at kontrol sa smart tahanan eHouse ” .
visualization software na ito ay batay sa isang nasusukat vector graphics (SVG) .
Ang pamamaraang ito ay nagbibigay-daan sa iyo ” Lossless ” ng mga curves sa pagguhit ng kalidad , teksto , simpleng geometriko figure , anuman ng laki ng pagpapalaki , Screen shift , atbp .
Hindi ito Gusto pa naging posible gamit ang background na graphic imahe tulad ng jpg , bitmaps , atbp . .
Software visualization ay optimize upang mabawasan ang paggamit ng CPU at graphics oras ng pagpoproseso kapag nagtatrabaho online , dahil sa ang malaking halaga ng data upang iproseso . Grapikong imahe ay naka-cache at hinati sa mga naaangkop na signal ng control at naproseso kapag matanggap ang katayuan ng controller , at ipinapakita sa screen mas mabilis mula sa cache ng visualization ng bawat controller .

Ito ay nagpapahintulot:

  • makabuluhang pagbaba sa naproseso na data para sa visualization sa mga pagbabago ng imahe
  • makabuluhang bawasan ang andap kapag pagbabago ng mga inaasahang mga imahe
  • makabuluhang pagbaba sa load ng CPU at data visualization
  • ang paggamit ng magkano ” weaker ” , mas mahusay at mas mura hardware , graphic panel , tablet , control panel , atbp . , habang pagpapanatili ng isang kumportableng pagtatrabaho
  • pagbabawas sa paggamit ng kuryente kung saan ay lalong mahalaga sa baterya at mobile na kagamitan at haba ng trabaho sa mga baterya

Ito ay tinalakay sa screenshot sa artikulo:
” Graphical visualization at intelligent control bahay sa Java ”

EHouse4Java komunikasyon na may controllers tahanan automation

eHouse1 Sa ilalim ng pangangasiwa ng PC

Sa ang bersyon na ito ng application eHouse . exe gumagana bilang isang receiver katayuan ng RS – 485 (may converter RS – 485/RS – 232) at nagpapadala sa kalagayan nang walang anumang mga pagbabago sa dalawang mga pamamaraan ay hindi nagbanggaan sa bawat isa:

  • eHouse . exe gawa bilang isang TCP / IP server ay tumugon sa mga query tungkol sa status panel , nagre-refer na karagdagang ikonekta ang panel at panatilihin ang mga ito hanggang disconnect para sa anumang dahilan . Ang paraan na ito ay partikular na mahalaga sa pagtatangka upang magtatag ng komunikasyon sa labas panel TCP / IP sa pamamagitan ng network , tulad ng Internet kung saan ito ay hindi posible upang makatanggap ng UDP katayuan .
  • eHouse . exe nagpapadala ang broadcast connectionless UDP protocol para sa anumang bilang ng mga kliyente sa LAN , Intranet . Nangangahulugan ito na , na ang panel ay hindi sa pagkonekta sa server , ngunit nakikinig-broadcast ng mga mensahe mula sa ” eHouse . exe ” application . Sa ganitong paraan ang bagay na hindi kung gaano karaming mga tatanggap panel katayuan ay hindi baguhin ang network ng pagkarga , o computer kung saan ang ” eHouse . exe ” application na tumatakbo . Sa kasamaang palad hindi posible o ay lubhang mahirap upang magpadala ng ng UDP broadcast sa pamamagitan ng Internet upang sa kasong ito ang unang paraan ay dapat gamitin .

eHouse1 Sa ilalim ng pangangasiwa ng CommManager

Sa ang bersyon na ito , CommManager ay tumatanggap ng mga papasok na katayuan sa pamamagitan ng RS – 485 (mula sa eHouse1 controllers) at nagpapadala sa kalagayan nang walang anumang mga pagbabago sa dalawang mga pamamaraan ay hindi nagbanggaan sa bawat isa:

  • CommManager ay gumagana bilang TCP / IP server na tumugon sa mga query tungkol sa status panel , nagre-refer na karagdagang ikonekta ang panel at panatilihin ang mga ito hanggang disconnect para sa anumang dahilan . Ang paraan na ito ay partikular na mahalaga pagtatangka upang magtatag ng komunikasyon sa ang panel sa labas ng LAN , tulad ng Internet kung saan ito ay hindi posible upang makatanggap ng UDP katayuan .
  • CommManager nagpapadala broadcast (connectionless) UDP protocol para sa anumang bilang ng mga kliyente sa LAN , Intranet .
    Nangangahulugan ito na , na ang panel ay hindi pagkonekta sa server TCP CommManager , ngunit nakikinig ang-broadcast ng mga mensahe mula sa CM . Sa ganitong paraan hindi mahalaga kung gaano karaming mga tatanggap ng mga panel ng katayuan , hindi ito baguhin ang network ng pagkarga o CommManager CPU paggamit . Broadcasting UDP broadcast ay hindi posible , o mabigat impeded sa pamamagitan ng internet upang sa kasong ito ang unang paraan ay dapat gamitin .

Ethernet eHouse (eHouse4Ethernet)

Sa ang bersyon na ito ng Ethernet controllers: CommManager , EthernetRoomManager , atbp . , magpadala ng nakapag-iisa ang kanilang katayuan sa dalawang paraan , hindi nagbanggaan sa bawat isa:

  • Controller bawat gumagana bilang TCP / IP server na tumugon sa mga query tungkol sa status panel , nagre-refer na karagdagang ikonekta ang panel at panatilihin ang mga ito hanggang disconnect para sa anumang dahilan . Ang paraan na ito ay partikular na mahalaga pagtatangka upang magtatag ng komunikasyon sa ang mga panel sa labas ng LAN , tulad ng Internet , kung saan ito ay hindi posible upang makatanggap ng UDP katayuan .
    Gayunman , sa kaso ng maramihang mga controllers Ethernet ay kinakailangan upang mapanatili ang isang koneksyon sa TCP / IP sa bawat controller , upang kunin ang isang kumpletong katayuan ng system direkta mula sa controllers . Ito ay maaaring magresulta sa isang mas malawak na pag-load sa processor control panel , tindi ng mga problema na may kaugnayan sa komunikasyon . Sa kasong ito , ito ay higit na mabuti upang ilagay sa LAN side application , na natatanggap ng lokal na katayuan ng UDP , at pasulong ang sa paglipas ng TCP / IP sa pamamagitan ng Internet . Ito ay natanto at tinalakay sa application eHouse4Java , na nagbibigay-daan sa ito solusyon . Dehado ay ang pangangailangan upang mapanatili ang karagdagang hardware na gumaganap ng mga function .
  • Controller bawat nagpapadala ng isang broadcast (connectionless) UDP protocol para sa anumang bilang ng mga kliyente sa LAN , Intranet . Nangangahulugan ito na , na ang panel ay hindi pagkonekta sa TCP server controller , ngunit pakikinig sa mga mensahe-broadcast ng mula sa lahat ng controllers . Sa ganitong paraan ang bagay na hindi kung gaano karaming mga tatanggap panel katayuan ay hindi baguhin ang network ng pagkarga o controller CPU paggamit . Broadcasting UDP pakete ay hindi posible o ay mabigat impeded sa pamamagitan ng internet , kaya sa kasong ito ang unang paraan ay dapat gamitin . Ang posibilidad ng pagpapadala ng UDP ay minsan posibleng depende sa uri ng link , Pagganap . Minsan ito ay posible upang makakuha ng broadcast UDP sa pamamagitan ng VPN maayos-configure ang link , Gayunman , kahit na sa sitwasyong ito , packet ay maaaring mawala , dahil sa kakulangan ng mga mekanismo ng seguridad para sa UDP . Maling data ay awtomatikong kinansela ng eHouse ang mga panel ng software para sa hindi checksum (i-check ang kabuuan)