디코딩 홈 자동화 컨트롤러의 이진 상태 – 무료 소스 코드

홈 자동화 , 건물 관리 eHouse – 디코딩 마이크로 프로세서 컨트롤러의 상태
홈 자동화 LAN 또는 Wi-Fi에 연결 제어판 접수 , 를 통해 UDP (사용자 데이터 그램 프로토콜) .
이진 형태의 표준 프레임 수신 상태 , 과 컨트롤러 문서에서 언급 된 ” 지능형 빌딩 eHouse 컨트롤러 상태 패키지 ” .
디코딩이 프레임은 팩에서 데이터의 모든 비트를 분석 할 필요가 .
게다가 , 컨트롤러의 각 유형 :

  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager

디지털 입력의 양에 변화를가 , 측정 입력 , 디지털 출력 , dimmers , 모니터링 기능 및 알고리즘 그 결과 , 표준 프레임 변이의 데이터는 컨트롤러의 종류에 따라하는 .
독립적 컨트롤러의 각 유형에 대한 비트에 의해 디코딩 비트에 대한 필요성이 결과 .
생성하고 프레임 디코딩 알고리즘을 테스트하는 마이크로 프로세서 컨트롤러의 모든 유형의 구현의 경우에 1 달까지 걸릴 수 있습니다 .
최소로이 시간을 최소화하려면 , eHouse에서 차용 알고리즘을 제시 할 준비가 용이합니다 . EXE 응용 프로그램을 , 자동으로 터치 패널의 템플릿 기록 (정제 용) 윈도우 XP에 컨트롤러와 부하 데이터로부터 모든 정보를 디코딩 할 수 , 추억 , 7 , 8 .
자동으로 eHouse 소프트웨어 라이브러리로 데이터를로드 한 후 , 코드 몇 줄과 , 당신은 몇 분 안에 자신의 제어 알고리즘 eHouse 시스템을 만들 수 있습니다 .
eHouse 상태 표준의 바이너리 프레임 디코딩 소프트웨어는 패널 템플릿 라이브러리에 구현되어 . 이 바이너리를 수행해야 , eHouse없이 이더넷 컨트롤러에서 직접 디코딩 상태 . EXE 응용 프로그램 감독 .
디코딩 전체 프레임 (마이크로 컨트롤러에 대한 eHouse1 RM , EM , array_of_char : HM)은 (STR 절차 set_rm 기능에 의해 수행된다 ; TCP_INDEX_INC : 정수) ;
매개 변수는 버퍼 상태와 이동 (오프셋)의 기능입니다 . 버퍼 상태에서 모든 수신 된 데이터를 포함 . 오프셋은 전송의 유형 (확장 주소에 따라 달라집니다 , 표준 , 및 통신 알고리즘에 따라 다른 미래 응용 프로그램) .
그것은 자동으로 각각의 컨트롤러에 대한 배열 상태를 작성하고 직접 화면 터치 패널에 자동으로 데이터 나 업데이트 데이터를 조작 할 수 있습니다 .
이 기능은 UDP 소켓 구성 요소에서 수신 데이터의 이벤트 프로 시저 (TNMUDP으로 활성화됩니다 – onDataReceived 경우에) 진이라고 .
다음과 같이 리셉션은 다음과 같습니다 :
절차 TForm1 . binaryDataReceived (발신자 : TComponent ;
NumberBytes : 정수 ; FromIP : 문자열 ; 포트 : 정수) ;
VAR C : 배열 [0 . . 숯불의 1,024] ;
MyStream : TMemoryStream ;
시작하다
filesystem_status이 종료하는 경우 ; / / 없음 파일 시스템 filesystem_status 경우
MyStream : = TMemoryStream . 만들기 ; / / 데이터 스트림을 만들기
진 . ReadStream (MyStream) ; / / 데이터 스트림을 읽고
MyStream . 읽기 (C [0] , NumberBytes) ; / /로드 버퍼 C
set_rm (C , 1) ; / / 변환 바이너리 데이터를로드 컨트롤러 eHouse 1 레지스터 RM [색인]
Test_save ; / / 테스트 쉬운 작업은 텍스트 파일로 출력을 기록
update_panel ; 제어판 / /로드 데이터
끝 ;
당신이 자동으로 비 수 – LAN 또는 무선을 통해 데이터의 침해 수집 – UDP (사용자 데이터 그램 프로토콜)를 통해 패키지 방송과 Fi 접속 설비를 .
뭘 더하면 서버에 열려있는 연결은 포트 방송에서 수신이 필요하지 않습니다 ‘ 6789 ‘ 기본 또는 기타 .
오류 링크 , 네트워크 , 라우터 (TCP 서버와 통신의 경우에서와 같이) 정지 또는 지정되지 않은 소프트웨어 오류가 발생하지 않습니다 , 하지만 단지 데이터 또는 적절한 서버 UDP 클라이언트 응용 프로그램에 영향을주지 않고 데이터를 업데이트 사라진다 .

경고! . 당신은 eHouse 홈 자동화를위한 Windows에서 제어 소프트웨어를 작성하는 경우 , 그것은 하나의 응용 프로그램에서 모든 알고리즘을 구현 할 필요가 있습니다 , 데이터를 분석하고 수행하는 모든 알고리즘을하고이를 시각화하는 . 우리는 같은 PC에 두 UDP 수신기 소켓이 존재 할 수없는 때때로 관찰 .
도서관 바이너리에서 가장 중요한 변수 :
boiler_alarm : 부울 = false를 ; / / 보일러 알람 알람 프로그램 된 온도 이상
/ / 이상 – 온도 경보 보일러
bonfire_stat : 정수 ; / / 모닥불 가열 레벨 0 – 바이너리 모드 7 – 고용 상태의 불
/ / 0 – 발사 – 가열하지 않습니다
/ / 1 – / 진화에 화재 => ; ; 녹색 수준 < ; ; 온도 재킷 (녹색이 점멸 LED) – 불빛이 녹색 만료
/ / 2 – =>에 화재 ; ; 녹색 수준> ; ; = 온도 재킷> ; ; 노란색 수준 – histeressis (녹색 LED) – 녹색
/ / 3 – =>에 화재 ; ; 노란색 수준 – histeressis> ; ; 임시 재킷> ; ; histeressis 수준 + 노란색) (녹색 + 노란색 LED가) – 녹색 – 황색
/ / 4 – =>에 화재 ; ; 노란색 수준 + histeressis> ; ; 임시 재킷> ; ; 레드 레벨 – histeressis (노란색) – 황색
/ / 5 – 무조건 => ; ; 레드 레벨 – histeressis < ; ; 임시 재킷 < ; ; histeressis 레벨 + 빨간색 (적색 + 황색 LED가) 황색 – 붉은
/ / 6 – 무조건 => ; ; 임시 재킷> ; ; histeressis 수준 + 빨간색 (적색 LED 상수) – 붉은
/ / 7 – 무조건 => ; ; 임시 재킷> ; ; 모닥불 경보 (적색이 점멸 LED) ALARM – 빨간색 깜박임
bonfire_sensor_error : 부울 = false를 ; 둘 사이에 / / 오류 센서 모닥불 너무 많은 다른 물 재킷 온도 센서
/ / 오류 벽난로 맨틀 온도 센서가 너무 큰 차이가
recuperator_status : 문자열 ; 회복의 / / 상태 , 통풍 , 공기 가열 – recuperator와 환기 상태
recu_winter : 부울 = false를 ; / / Recuperator 겨울 / 여름 열교환 모드 활성화 / 비활성화 – recuperator 겨울 / 여름
recu_manual_amalva : 부울 = true ; amalva recuperator을위한 / / Recuperator 자동 / 수동 모드 (내부 controler amalva에 의해 관리 자동 , eHouse HeatManager를 수동으로) / /
recuperator amalva 수동 / 자동
went_cooler : 부울 = true ; 시스템 회복의 회복 또는 ON / OFF GWC의 환기 나 쿨러를위한 온 / 오프 / / 워터 쿨러
went_gwc : 부울 = false를 ; 켜기 / 끄기 / / GHE (지상 열 교환기) 서보 모터 – / 끄기에 지상 열 교환기 모터
went_aux_gwc_fan : 부울 = false를 ; / / 보조 GWC 지상 열 교환기를위한 환풍기 / / 스위치 해제에 팬 – 도움 GWC 팬
bonfire_dgp : 부울 = false를 ; / / 횃불 뜨거운 공기 유통 시스템을 활성화 / 비활성화 – 벽난로 DGP에서 뜨거운 공기의 팬 배포
ventilation_on : 부울 = false를 ; / / 환기는 현재 온 / 오프 노력하고 있습니다 – 환기 및 열 회수를 포함
heater_pump : 부울 = true ; 켜기 / 끄기 통풍을 위해 히터 용 / / 펌프 – 라디에이터에 대한 펌프 난방, 환기 회로
three_ways_cutoff : 정수 = 0 ; / / 3 가지 방법으로 해제 컷오프 방향 0 , 레벨 1 증가 , – ) 회전 전기의 방향을 수준 1 감소 – 방법 밸브
solar_pump : 부울 = false를 ; 켜기 / 끄기 / / 태양 광 펌프 – 태양 펌프
boiler_on : 부울 = false를 ; / / 보일러 활성화 / 비활성화 – / OFF 보일러
boiler_pump : 부울 = false를 ; / 해제의 보일러 펌프의 / / 상태 – / OFF 보일러 펌프
boiler_fuel_out : 부울 = false를 ; aproximate 연료의 / / 보일러 아웃 (난방의 시간 계산) – 고체 연료 보일러 (보일러의 작동 시간을 기준으로 계산)에 대한 추정 연료 부족
boiler_power_on : 부울 = false를 ; / OFF / / 보일러 supplay 전력 ; – / OFF 보일러 전원
boiler_fuel_supply_override : 부울 = false를 ; / / 무시 supplyier 연료 보일러 (eHouse / 내부 보일러 컨트롤러에 의해 제어) – / 해제에 대한 부모 제어 연료 공급 시스템 eHouse
bonfire_pump : 부울 = false를 ; / OFF / / 모닥불 펌프 상태 – / 끄기에 불 펌프
recu_speed : 정수 = 0 ; / / Recuperator는 0을 Speeed . . 3 – recuperator 속도
recu_temperature : 정수 ; RECU 0 / / 온도 수준 . . amalwa을위한 30C 온도 recuperator
_recu_mode : 문자열 = ‘ ‘ ; 그 HEatManager 제어 패널 (eHouse와 같은 텍스트 / / 회복 모드 . exe)을 – 제어판 응용 프로그램을 HeatMAnagerem의 eHouse 등의 recuperator 모드 . EXE
간 : 문자열 ; HeatManager 제어 패널 (eHouse 등 / / 텍스트 환기 상태 . exe)을 – 환기 상태 eHouse의 HeatManager 패널과 같은 . EXE
보일러 , 태양 : 문자열 ; / / 보일러 , 제어판과 같은 태양 광 텍스트 HeatManager 상태 (eHouse . exe)을 – 보일러의 상태 및 태양 전지판 제어 (HeatManager) eHouse . EXE
코미어 : 문자열 ; HeatManager 제어 패널 (eHouse 등 / / 텍스트 모닥불 상태 . exe)을 – 화재 제어판 응용 프로그램을 heatmanager의 eHouse과 같은 상태 . EXE
제어 등