Home Automation eHouse dekoding CommManager status – kildekoden

eHouse Home Automation , Building Management – Dataformat CommManager status i binær kode . CommManager er controller av eHouse Home Automation system , som samler kommunikasjonsfunksjoner og er ” inngangsporten til verden ” for system basert på systemet kontrollere eHouse versjon 1 (485) .
Den lar deg dispensere med PCen og samtidig opprettholde høy funksjonalitet (standard innebygd – i kontrollerne) .
I tillegg , systemet erstatter den gamle versjonen av ExternalManager fra ” eHouse en ” og 3 InputExtenders , Fungerende fullt funksjonell kontrolleren av: roller , porter og markiser . Det er også integrert med en alarm som tillater Kontroll via SMS eller LAN .
Det har også en innebygd – i alarmvarsling SMS – Ethernet Home Automation – Valser , Gates , Gateways – kontrollere og sikkerhetssystemer
Kontrolleren i en hybrid-versjon (eHouse 1 under oppsyn av CommManager) samler alle statusene RoomManagers ( Home Automation – Rom Controller ) Og HeatManager ( Kjele Controller , gjenvinning , Automatisk grønn energi ) Og sender dem videre til kontrollpanelet via TCP / IP eller UDP .
I tillegg , kan du sende status som UDP sendes ut til alle enheter på LAN , slik at du kan spore status og forbindelsesløs system status eHouse av en rekke kontrollpaneler og visualisering av utganger , innganger og målte verdier .
Denne typen kringkasting ikke lade ekstra CPU av CommManager , uansett hvor mye panelene mottar dataene ovenfor .
I tillegg til de data som mottas fra kontrolleren eHouse 1 (arbeider på RS485) , CommManager feste sin nåværende status , som er status for alarmsystemet .
Ramme status i binær kode ble diskutert i innlegg:
” Smart Home , Intelligent Building eHouse ramme status i binær kode ”
” Smart Home , Intelligent Building eHouse – frame dekoding status – kildekoden ”
Så langt har vi ' ; ve dekket ramme format , viktigheten av bits og bytes i en ramme og presentert for å lette klar kildekoden dekoding av data fra alle kontrollere eHouse en koblet av CommManager eller program eHouse . exe (for eHouse 1) .

Det ; s tid for programvaren å dekode status av den utvidede rammen CommManager .
Selv status kan sendes både TCP / IP og UDP i samme form , Vi vil bare kringkaste UDP , på grunn av mangel av å måtte logge seg på kontrolleren og øke CPU-belastning .
Kommunikasjon over TCP / IP socket servere vi forlater fri til eksterne mobile paneler trenger , arbeider utenfor LAN (Smartphones , GSM-telefoner) , bruke UDP som overføring av Internett kan være vanskelig og innebærer en rekke feil , forebygge riktig dekoding status , på grunn av den dårlige kvaliteten på linkene , og mangel på mekanismer bekreftelser og gjentakelser av UDP sesjon .
For dette formål , i den endelige malen Delphi kontroll panel som ble diskutert tidligere i innleggene: ” smarthus eHouse , kildekode kontrollpaneler for tabletten arbeider på Windows XP , Vista , 7 ”
Medfølgende endre status for den binære motta data via UDP ved å legge til støtte CommManager
prosedyren TForm1 . binaryDataReceived (Sender: TComponent ; NumberBytes: integer ; FromIP: String ; Port: Integer) ;
Var C: array [0 . . 1024] av røye ;
MyStream: TMemoryStream ;
numberb: integer ;
begynne
hvis filesystem_status deretter avslutte ; / / Bare når udp er aktiv
MyStream: = TMemoryStream . Lag ;
binære . ReadStream (MyStream) ;
numberb: = NumberBytes ;
hvis numberb> ; 1023 da numberb: = 1023 / / begrense antall byte mottatt – vi kuttet til størrelsen på databuffer
MyStream . Les (C [0] , numberb) ;
set_rm (C , 1) ; / / Decode status eHouse en kontrollere – RM dekode controller status , HM
set_status_commmanager (C , 0 , 254) ; / / Decode commanager controller status – dekode status commmanagera
Test_save ; / / Test lagre data til tekstfiler for hver RM , HM – lagre for testresultatene til en tekstfil for alle kontrollerne eHouse 1 (RM , HM)
Test_save_eth ; / / Test lagre data til tekstfil for CommManager og hver Ethernet-kontroller – lagre for testresultatene til en tekstfil for CommManagera og alle kontrollerne EtherneteHouse
update_panel ; / / Oppdater data til panelet for valgte kontrolleren – oppdatere den databehandlingsansvarlige panel
end ; :
Den komplette gjennomføring av dekodingsprosessen status for CommManagera ramme og andre kontroller utfører prosedyren Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / Parameteren du angi navn og adresse til data buffer kontrolleren (de to siste delene av IP-adressen) .
Denne prosedyren utfører dekoding av binære status av rammen og laster deretter de dekodede data til posten Ethernet kontrolleren som er et eksempel på en registrering ” ethernet_rm_hm_cm_lm ” kalt ” ethrm ” .
Indeksen er søkte automatisk knyttet til en IP-adresse i status .
Dette gir oss muligheten til å:

  • direkte analyse av dataene fra alle kontrollerne
  • lage dine egne algoritmer avhengig av status på utgangene , Innganger , målinger sensorer
  • implementering av styringssystemer dedikert til å analysere en rekke parametere av eksisterende system
  • logg analysator programvare utvikling og eHouse system status
  • programvaren kan beregning strømforbruket
  • tillater utførelsen av individuelle kontrollpaneler og visualisering for alle kontrollere på grunnlag av en mal
  • ikke behov for kunnskap om måter for kommunikasjon og data rammer
  • skrive høy – nivå programvare (noen få linjer med kildekode) gjennom implementering av eHouse system programvare biblioteker .