eHouse 홈 자동화를위한 eHouse4Java 오픈 소스 소프트웨어

eHouse 홈 자동화 eHouse4Java – 자바 (오픈 소스) 소프트웨어는 다음과 같은 모듈을 (포함 . 자바 – 소스 코드 , . 클래스 – 그 결과 클래스) :

  • Ehouse4java . 자바 – 응용 프로그램 및 주요 인터페이스의 핵심
  • ehousecommunication . 자바 – 통신 기능 및 구성
  • EhouseTCP . 자바 – 컨트롤러의 통신 및 구성
  • EventsToSend . 자바 – 차 이벤트 처리
  • EventToSend . 자바 – 하나의 이벤트의 정의
  • GraphicObject . 자바 – 그래픽 객체 정의
  • ISYS . 자바 – 공급 업체에 대한 전용 기능을 포함
  • RunEvent . 자바 – 텍스트 폼에서 이벤트를 보내기
  • StatusEhouse . 자바 – 클래스는 각 eHouse1 컨트롤러에 대해 하나의 인스턴스를 포함하고
  • StatusEthernet . 자바 – 클래스는 각 이더넷 eHouse 컨트롤러에 대해 하나의 인스턴스를 포함하고
  • StatusServer . 자바 – 보조 TCP / IP 서버 , LAN을 통해 모든 컨트롤러 TCP를 통해 상태 / 고객 패널에 IP (외부를 보내 , 광 지역 정보 통신망 , 인트라넷 , 인터넷)
  • 눈에 보이게 함 . 자바 – eHouse 시각화 및 그래픽 제어 표준에 따라 시각화 / 그래픽 컨트롤 클래스

함수와 전역 변수는 소프트웨어 소스 코드 eHouse4Java에 설명되어 있습니다 .
이 소프트웨어는 독립적 인 스레드를 포함 , 예 . 통신 , 어떤은 주 응용 프로그램에 관련하여 백그라운드에서 수행됩니다 .
이 프로세스가 너무 오래 걸린하는 응용 프로그램을 중지하거나 지연하지 않습니다 , (죽은 자물쇠) 통신을 기다리는 동안 어느 응용 프로그램의 중요한 진정과 정지의 가능성에 결과 .
주요 스레드는 다음과 같습니다

  • TCP 클라이언트 (컨트롤러의 상태를 수신 할 수 , LAN에서 TCP / IP , 광 지역 정보 통신망 , 인터넷 , 인트라넷)
  • UDP 수신기 (연결없는 UDP에 상태를 브로드 캐스트 청취 용) – 만 LAN 내에서 , 인트라넷
  • 모든 음향 문자 메시지를 재생하기 위해 음성 합성기
  • 멀티 스레드 TCP / IP 서버 – 모든 유형의 연결된 클라이언트 패널에 경로 수신 상태를 (랜 통한 , WIFI , 인터넷 , 인트라넷 , WAN)

컨트롤러와의 통신 미디어의 이름은 폼에있는 설정 (LAN TCP 연결의 유형을 선택 포함되어 있습니다 , LAN UDP , 인터넷 , 꺼짐) .
수업에 다른 스레드가 전역 변수를 사용하여 활성화됩니다 아르 ” EhouseTCP ” 또는 ” ehousecommunication ” .

응용 프로그램 eHouse 기준에 따라 시각화를 사용합니다 , 사용 스크립트를 사용하여 CorelDraw 응용 프로그램에서 생성 된 :

  • 수입 eHouse 시스템 구성
  • 그래픽 객체 수동으로 또는 스크립트의 생성
  • 모든 패널에 대한 모든 시각화 방법에 대한 데이터를 내보낼 , 웹 브라우저 , PC , 정제 , 스마트 폰 및 기타 시스템

이것은 문서에 추가 논의 :
” 그래픽 시각화 및 제어 eHouse 스마트 홈을 만드는 ” .
시각화 소프트웨어는 확장 가능한 벡터 그래픽 (SVG)을 기반으로합니다 .
이 방법은 당신에게 있습니다 ” 무손실 ” 품질 그리기 곡선의 , 본문 , 간단한 기하학적 수치 , 에 관계없이 확대의 크기 , 화면 이동 , 등 .
여기에는 JPG로 배경 그래픽 이미지를 사용 불가능했을 것 , 비트 맵 , 등 . .
소프트웨어 시각화가 온라인으로 작업 할 때 CPU와 그래픽 처리 시간의 활용을 줄이기 위해 최적화되었으며, , 처리 할 데이터의 많은 양의로 인해 . 컨트롤러의 상태를받을 때 그래픽 이미지를 캐시하고 적절한 제어 신호로 나누어 처리됩니다 , 각 컨트롤러의 시각화 캐시에서 더 빠르게 화면에 표시 .

이 수 있습니다 :

  • 이미지 변경 시각화에 대한 가공 데이터의 상당한 감소
  • 예상 이미지를 변경할 때 상당히 깜박임을 줄일 수
  • CPU와 데이터 시각화의 부하에 상당한 감소
  • 많은의 사용 ” 약한 ” , 덜 효율적이고 적은 비용으로 하드웨어 , 그래픽 패널 , 정제 , 제어판 , 등 . , 편안한 작업을 유지하면서
  • 배터리 일의 배터리, 모바일 장비와 길이 특히 중요합니다 전력 소모 감소

이것은 문서에 스크린 샷과 함께 설명되어 있습니다 :
” 그래픽 시각화 및 Java에서 지능형 홈 제어 ”

컨트롤러와 EHouse4Java 통신 홈 자동화

PC의 감독하에 eHouse1

응용 프로그램 eHouse이 버전 . exe는 RS의 수신기 상태로 작동 – 485 (변환기 RS와 – 485/RS – 232) 및 두 가지 방법의 변경없이 상태를 전송 서로 충돌하지 않습니다

  • eHouse . TCP / IP 서버로 EXE 작품의 상태 패널에 대한 쿼리에 응답 , 추천은 더 패널을 연결하고 어떤 이유로 연결이 끊긴 때까지 유지 . 이 방법은 네트워크를 통해 외부의 TCP / IP 패널과의 통신을 구축하려는 시도와 특히 가치가있다 , 인터넷과 같은 곳은 UDP 상태를 수신 할 수 없습니다 .
  • eHouse . exe는 LAN에서 클라이언트의 수에 대한 방송 연결없는 UDP 프로토콜을 전송 , 인트라넷 . 즉, , 패널은 서버에 연결되어 있지 , 하지만에서 방송 메시지를 듣고 ” eHouse . EXE ” 응용 프로그램 . 이 방법에 관계없이 얼마나 많은 수신자 패널 상태의 네트워크 부하를 변경하지 않습니다 , 또는 컴퓨터가있는 ” eHouse . EXE ” 응용 프로그램 실행 . 불행히도이 가능하지 않거나 첫 번째 방법이 사용되어야한다이 경우에 따라서 인터넷을 통해 UDP 브로드 캐스트를 전송하는 매우 어렵습니다 .

CommManager의 감독하에 eHouse1

이 버전에서 , CommManager는 RS를 통해 수신 상태를받습니다 – 485 (eHouse1 컨트롤러에서)와 두 가지 방법의 변경없이 상태를 전송 서로 충돌하지 않습니다

  • TCP / IP 서버가 응답으로 CommManager의 상태 패널에 대한 쿼리에 사용할 수 , 추천은 더 패널을 연결하고 어떤 이유로 연결이 끊긴 때까지 유지 . 이 방법은 LAN 외부 패널과 통신을 구축 할 특히 유용한 시도합니다 , 인터넷과 같은 곳은 UDP 상태를 수신 할 수 없습니다 .
  • CommManager는 방송을 전송 (연결없는) UDP 프로토콜은 LAN에서 클라이언트의 수를위한 , 인트라넷 .
    즉, , 패널은 서버 TCP CommManager에 연결되어 있지 , 하지만 CM에서 방송 메시지를 듣고 . 이 방법으로 상태에 얼마나 많은 수신자가 패널 상관없이 , 이 네트워크 부하 또는 CommManager CPU 사용률을 변경하지 않습니다 . 방송 UDP 브로드 캐스트가 불가능합니다 , 심하게 첫 번째 방법이 사용되어야한다이 경우에 따라서 인터넷을 통해 장애가 있습니다 .

이더넷 eHouse (eHouse4Ethernet)

CommManager : 이더넷 컨트롤러의 버전 , EthernetRoomManager , 등 . , 독립적으로 두 가지 방법으로 자신의 상태를 보내 , 서로 충돌하지 않습니다

  • TCP / IP 서버가 응답으로 각 컨트롤러는 상태 패널에 대한 쿼리에 사용할 수 , 추천은 더 패널을 연결하고 어떤 이유로 연결이 끊긴 때까지 유지 . 이 방법은 LAN 외부 패널과 통신을 구축 할 특히 유용한 시도합니다 , 인터넷과 같은 , 는 UDP 상태를 수신 할 수 없습니다입니다 .
    그러나 , 여러 이더넷 컨트롤러의 경우 TCP 연결 / IP 각 컨트롤러를 유지하는 데 필요한 것입니다 , 직접 컨트롤러에서 전체 시스템 상태를 가지러 . 이 프로세서 제어 패널에 큰 하중이 발생할 수 있습니다 , 문제의 심각도는 통신에 관련된 . 이 경우 , 그것은 LAN 측 응용 프로그램에 배치 할 바람직 , 그 지역 UDP 상태를받습니다 , 인터넷을 통해 전달 TCP 이상 / IP . 이것은 응용 eHouse4Java에서 실현 및 논의 , 이는이 솔루션에게 있습니다 . 단점은 이러한 기능을 수행합니다 추가 하드웨어를 유지하기 위해 필요합니다 .
  • 각 컨트롤러는 UDP 프로토콜 LAN에서 클라이언트의 수를위한 방송을 (연결없는) 전송 , 인트라넷 . 즉, , 패널은 TCP 서버 컨트롤러에 연결되어 있지 , 하지만 메시지를 듣고하면 모든 컨트롤러에서 방송 . 이 방법에 관계없이 얼마나 많은 수신자 패널 상태의 네트워크 부하 또는 컨트롤러의 CPU 사용률을 변경하지 않습니다 . 방송 UDP 패키지는 불가능하거나 크게 인터넷을 통해 장애가 있습니다 , 그래서이 경우에는 첫 번째 방법이 사용되어야한다 . UDP의 전송 가능성은 링크의 종류에 따라 때때로 가능합니다 , 공연 . 때로는 VPN 제대로 구성 링크를 통해 방송 UDP를 얻을 수 있습니다 , 그러나 , 이런 상황에서 , 패킷이 손실 될 수 있습니다 , UDP에 대한 보안 메커니즘의 부족으로 인해 . 잘못된 데이터가 자동으로 (금액을 확인) 이외의 검사를위한 소프트웨어 eHouse 패널에 의해 취소