홈 오토메이션 eHouse 디코딩 CommManager 상태 – 소스 코드

eHouse 홈 자동화 , 건물 관리 – 이진 코드 데이터 형식 CommManager 상태 . CommManager입니다 제어 장치 eHouse의 홈 자동화 체계 , 통신 기능을 수집하여 어느 ” 세계 관문 ” 시스템에 대한 시스템 컨트롤러 eHouse 버전 1 (485)을 기준으로 .
높은 기능 (표준 내장을 유지하면서 그것은 당신이 당신의 PC에 분배 할 수 있습니다 – 컨트롤러에서) .
게다가 , 시스템에서 ExternalManager의 이전 버전을 대체합니다 ” eHouse 1 ” 3 InputExtenders에게 , 롤러 :의 모든 기능 컨트롤러를 연기 , 문 및 awnings . 또한 수있는 경보와 통합되어 제어 SMS 또는 LAN으로 .
또한 내장 된이 – 경보 알림 SMS에서 – 이더넷 홈 자동화 – 롤러 , 게이츠 , 게이트웨이 – 컨트롤러 및 보안 시스템
하이브리드 버전 (CommManager의 감독하에 eHouse 1) 컨트롤러는 RoomManagers의 모든 상태를 수집합니다 ( 홈 자동화 – 룸 컨트롤러 ) 그리고 HeatManager ( 보일러 컨트롤러 , 회복 , 자동 녹색 에너지 ) 그리고 TCP / IP 또는 UDP를 통해 제어 패널을에 보내 .
게다가 , UDP는 LAN에있는 모든 장치에 브로드 캐스트로이 상태를 보낼 수 있습니다 , 어떤 컨트롤 패널의 번호와 출력의 시각화하여 상태 및 연결없는 시스템 상태 eHouse을 추적 할 수 , 입력과 측정 값을 .
방송이 유형의 CommManager의 추가 CPU를 부과하지 , 패널 위의 데이터를 수신 아무리 없음 .
컨트롤러 eHouse 1 (RS485 작업)에서받은 데이터뿐만 아니라 , CommManager는 현재 상태를 부착 , 이는 경보 시스템의 상태입니다 .
이진 코드에서 프레임 상태가 글에서 논의되었습니다
” 스마트 홈 , 이진 코드에서 지능형 빌딩 eHouse 프레임 상태 ”
” 스마트 홈 , 지능형 빌딩 eHouse – 프레임 디코딩 상태 – 소스 코드 ”
지금까지 ' ; VE 프레임 형식을 적용 , 프레임에 모든 컨트롤러 eHouse의 준비 소스 코드 디코딩 데이터를 촉진하기 제시 비트와 바이트의 중요성 CommManager 또는 응용 프로그램 eHouse에 의해 연결된 하나 . EXE (eHouse 1) .

이 ' ; 소프트웨어가 확대 프레임 CommManager의 상태를 디코딩 할의 시간 .
상태가 같은 형식으로 TCP / IP와 UDP를 모두 전송 될 수 있지만 , 우리는 UDP를 방송합니다 , 컨트롤러에 로그온하여 CPU 부하를 증가 할 필요의 부족으로 인해 .
TCP를 통한 통신 / IP 소켓 서버 우리가 원격 모바일 패널을 무료로 떠나는는 필요 , LAN (스마트 폰 이외의 작업 , GSM 휴대 전화) , 인터넷의 전송으로 UDP를 사용하여이 어려울 수와 오류를 많이 포함 할 수 있습니다 , 올바른 디코딩 상태를 방지 , 링크의 품질에 의해 , 와 UDP 세션 메커니즘의 주문 확인과 반복의 부족 .
이를 위해 , 이전 게시물에서 논의 된 최종 템플릿 델파이 제어판에서 : ” 스마트 홈 eHouse , 태블릿에 대한 소스 코드 컨트롤 패널은 Windows XP에서 작업 , 추억 , 7 ”
지원 CommManager을 추가하여 UDP를 통해 데이터를 수신 바이너리의 상태를 변경 번들
절차 TForm1 . binaryDataReceived (발신자 : TComponent ; NumberBytes : 정수 ; FromIP : 문자열 ; 포트 : 정수) ;
VAR C : 배열 [0 . . 숯불의 1,024] ;
MyStream : TMemoryStream ;
numberb : 정수 ;
시작하다
filesystem_status이 종료하는 경우 ; / / 경우에만 UDP는 활성화되어
MyStream : = TMemoryStream . 만들기 ;
진 . ReadStream (MyStream) ;
numberb : = NumberBytes ;
numberb 경우> ; 1023 다음 numberb : = 1023 / /는 바이트의 수를 제한받지 – 우리는 데이터 버퍼의 크기로 절단
MyStream . 읽기 (C [0] , numberb) ;
set_rm (C , 1) ; / / 디코딩 상태 eHouse 한 컨트롤러 – RM 디코딩 컨트롤러 상태 , HM
set_status_commmanager (C , 0 , 254) ; / / 디코딩 commanager 컨트롤러 상태 – 상태 commmanagera를 디코딩
Test_save ; / / 시험은 각 RM에 대한 텍스트 파일에 데이터를 저장 , HM – 모든 컨트롤러 eHouse 1 (RM에 대한 텍스트 파일에 테스트 결과 저장 , HM)
Test_save_eth ; / / 테스트 CommManager 각 이더넷 컨트롤러에 텍스트 파일로 데이터를 저장 – CommManagera에 대한 텍스트 파일과 모든 컨트롤러 EtherneteHouse에 테스트 결과 저장
update_panel ; / / 선택한 컨트롤러에 대한 패널 데이터를 업데이트 – 데이터 컨트롤러 패널을 업데이트
끝 ; :
CommManagera 프레임 및 기타 컨트롤러의 디코딩 프로세스 상태의 전체 구현은 절차 이더넷 eHouse를 수행
set_status_commmanager (C , 0 , 254) ; / / 매개 변수는이 데이터 버퍼 컨트롤러 (IP 주소의 마지막 두 가지 구성 요소)의 이름과 주소를 지정 .
이 절차는 프레임의 바이너리 상태의 디코딩을 수행 한 후 기록의 인스턴스 인 이더넷 컨트롤러를 기록하는 디코딩 된 데이터를로드 ” ethernet_rm_hm_cm_lm ” 라고 ” ethrm ” .
색인 상태에서 IP 주소에 연결되어 자동으로 검색됩니다 .
이것은 우리가 수행 할 수 있습니다 :

  • 모든 컨트롤러의 데이터를 직접 분석
  • 출력의 상태에 따라 자신의 알고리즘을 개발 , 입력 , 측정 센서
  • 제어 시스템의 구현은 기존 시스템의 매개 변수의 수를 분석하기 위해 최선을 다하고
  • 분석기 소프트웨어 개발 및 eHouse 시스템 상태 로그
  • 소프트웨어는 계산 전기 소비를 할 수 있습니다
  • 템플릿에 기초하여 각각의 컨트롤 패널을 실행하고 모든 컨트롤러에 대한 시각화 할 수 있습니다
  • 통신 및 데이터 프레임의 방법에 대한 지식이 필요 없습니다
  • 고 쓰기 – eHouse 시스템 소프트웨어 라이브러리의 구현을 통해 레벨 소프트웨어 (소스 코드 몇 줄) .