Home Automation eHouse avkodning CommManager status – källkod

eHouse Home Automation , Bygga Hantering – Dataformat CommManager status i binär kod . CommManager är styrenhet av eHouse Home Automation systemet , som samlar kommunikationsfunktioner och är ” port mot världen ” för system som bygger på system styrenheter eHouse version 1 (485) .
Det gör att du kan undvara datorn samtidigt hög funktionalitet (standard inbyggd – i kontroller) .
Dessutom , systemet ersätter den gamla versionen av ExternalManager från ” eHouse 1 ” och 3 InputExtenders , Agera fullt fungerande regulator av: rulle , grindar och markiser . Det är också integrerad med ett larm som låter Kontroll via SMS eller LAN .
Den har också en inbyggd – i larm anmälan SMS – Ethernet Home Automation – Rullar , Gates , Gateways – regulatorer och säkerhetssystem
Regulatorn i en hybrid version (eHouse 1 under överinseende av CommManager) samlar alla tillstånden hos RoomManagers ( Home Automation – Rumsregulator ) Och HeatManager ( Pannans Controller , återhämtning , Automatisk grön energi ) Och skickar dem vidare till kontrollpanelen via TCP / IP eller UDP .
Dessutom , kan du skicka status som UDP sänds till alla enheter på LAN , så att du kan spåra status och förbindelselösa systemstatus eHouse med valfritt antal kontrollpaneler och visualisering av resultat , ingångar och uppmätta värden .
Denna typ av sändning ut några extra CPU CommManager , oavsett hur mycket panelerna mottar ovanstående uppgifter .
Förutom de data som tas emot från styrenheten eHouse 1 (arbetar på RS485) , CommManager bifoga sin nuvarande status , vilket är tillståndet av larmsystemet .
Ram status i binär kod diskuterades i inlägg:
” Smart Home , Intelligent Building eHouse ram status i binär kod ”
” Smart Home , Intelligent Building eHouse – ram avkodning status – källkod ”
Hittills har vi ; ve täckte ramformat , betydelsen av bitar och bytes i en ram och presenteras för att underlätta färdiga källkod avkoda data från alla styrenheter eHouse en förbundna genom CommManager eller applikation eHouse . exe (för eHouse 1) .

Det ; dags för programvaran för att avkoda status utvidgade ramen CommManager .
Även status kan skickas både TCP / IP och UDP i samma form , Vi kommer bara att sända UDP , på grund av bristen på behöva logga in på styrenheten och ökar CPU-belastningen .
Kommunikation via TCP / IP-servrar uttag vi lämnar fritt till avlägsna mobila paneler behöver , arbetar utanför LAN (smartphones , GSM-telefoner) , använda UDP som överföringen av Internet kan vara svårt och innebär en hel del fel , förhindra korrekt avkodning status , på grund av den dåliga kvaliteten på länkarna , och bristen på mekanismer bekräftelser och upprepningar av UDP session .
För detta ändamål , i den slutliga mallen Delphi kontrollpanel som diskuterades tidigare i stolparna: ” smarta hem eHouse , källkod kontrollpaneler för tabletten arbetar i Windows XP , Vista , 7 ”
Medföljande ändra status på den binära ta emot data via UDP genom att lägga till stöd CommManager
förfarande TForm1 . binaryDataReceived (Avsändare: TComponent ; NumberBytes: Heltal ; FromIP: String ; Port: Integer) ;
var C: Array [0 . . 1024] av röding ;
MyStream: TMemoryStream ;
numberb: heltal ;
börja
Om filesystem_status avsluta sedan ; / / Först när udp är aktiv
MyStream: = TMemoryStream . Skapa ;
binär . ReadStream (MyStream) ;
numberb: = NumberBytes ;
om numberb> ; 1023 då numberb: = 1023 / / begränsa antalet mottagna byte – Vi skär till storleken på databufferten
MyStream . Läs (C [0] , numberb) ;
set_rm (C , 1) ; / / Avkoda status eHouse 1 regulatorer – RM avkoda controller status , HM
set_status_commmanager (C , 0 , 254) ; / / Decode commanager styrenhet status – avkoda status commmanagera
Test_save ; / / Test spara data till textfiler för varje RM , HM – undantag för testresultat till en textfil för alla styrenheter eHouse 1 (RM , HM)
Test_save_eth ; / / Test spara data till textfil för CommManager och varje Ethernet Controller – undantag för testresultat till en textfil för CommManagera och alla styrenheter EtherneteHouse
update_panel ; / / Uppdatera data till panelen för valda regulator – uppdatera den registeransvarige panelen
slut ; :
Ett fullständigt genomförande av avkodningsprocessen status CommManagera ram och andra styrsystem utföra proceduren Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / Parametern du anger namn och adress databufferten styrenheten (de två sista delarna av IP-adressen) .
Detta förfarande utför avkodning av binära status ramen och sedan laddar avkodade data för att registrera Ethernet-styrenhet som är en instans av en post ” ethernet_rm_hm_cm_lm ” kallas ” ethrm ” .
Indexet sökt automatiskt kopplad till en IP-adress i statusfältet .
Det ger oss möjlighet att:

  • direkt analys av data från alla styrenheter
  • skapa egna algoritmer beroende på status utgångarna , Ingångar , mätningar sensorer
  • av system för kontroll dedikerade att analysera ett antal parametrar för det befintliga systemet
  • log utveckling analysator programvara och eHouse systemets status
  • programvara kan beräkna elförbrukningen
  • möjliggör genomförandet av enskilda kontrollpaneler och visualisering för alla regulatorer utifrån en mall
  • inget behov av kunskap om hur kommunikation och data ramar
  • skriver hög – nivå programvara (några rader källkod) genom genomförandet av programvaran eHouse systemet bibliotek .