Home Automation eHouse decodering CommManager status van – broncode

eHouse Home Automation , Building Management – Gegevensformaat CommManager status in binaire code . CommManager is controleur van eHouse Home Automation systeem , die communicatiefuncties verzamelen en de ” poort naar de wereld ” voor op basis van regelaars eHouse versie 1 (485) .
Hiermee kunt u afzien van uw PC met behoud van hoge functionaliteit (standaard ingebouwde – in controllers) .
Bovendien , het systeem vervangt de oude versie van ExternalManager uit ” eHouse 1 ” en 3 InputExtenders , Handelend volledig functionele controller van: roller , poorten en zonwering . Het is ook geïntegreerd met een alarm die het mogelijk maakt Controle via SMS of LAN .
Het heeft ook een ingebouwde – in alarm sms – Ethernet Home Automation – Rollers , Gates , Gateways – controllers en beveiligingssystemen
De controller in een hybride versie (eHouse 1 onder toezicht van CommManager) verzamelt alle statussen van RoomManagers ( Home Automation – Room Controller ) En HeatManager ( Boiler Controller , herstel , Automatisch groene energie ) En stuurt ze naar het bedieningspaneel via TCP / IP of UDP .
Bovendien , kunt u de status van verzenden als UDP uitgezonden naar alle apparaten in het LAN , zodat u de status en verbindingsloze status van het systeem eHouse te volgen door een aantal bedieningspanelen en visualisatie van de uitgangen , inputs en meetwaarden .
Dit type van de uitzending niet opladen extra CPU van CommManager , maakt niet uit hoeveel de panelen van de bovenstaande gegevens ontvangt .
Naast de data van de besturingseenheid ontvangen eHouse 1 (bezig RS485) , CommManager hechten de huidige status , die de toestand van het alarmsysteem .
Frame status in binaire code werd besproken in berichten:
” Smart Home , Intelligent Building eHouse frame van status in binaire code ”
” Smart Home , Intelligent Building eHouse – frame van het decoderen van de status van – broncode ”
Tot nu toe hebben we ' ; ve had betrekking op de frame format , belang van bits en bytes in een frame en gepresenteerd aan klaar broncode decoderen van de gegevens van alle controllers eHouse te vergemakkelijken een verbonden door CommManager of toepassing eHouse . exe (voor eHouse 1) .

Het ' ; s tijd voor de software om de status van de uitgebreide kader CommManager decoderen .
Hoewel status kan worden verzonden zowel TCP / IP en UDP in dezelfde vorm , zullen we alleen uitzenden UDP , wijten aan het ontbreken van het hebben van in te loggen op de controller en de CPU-belasting te verhogen .
Communicatie via TCP / IP-socket servers we vertrekken vrij om op afstand mobiele panelen nodig heeft , werken buiten het LAN (Smartphones , GSM-telefoons) , gebruiken UDP als de overdracht van het internet kan moeilijk zijn en het gaat om veel fouten , voorkomen correcte decodering toestand , te wijten aan de slechte kwaliteit van de links , en het gebrek aan mechanismen bevestigingen en herhalingen van UDP-sessie .
Daartoe , in het laatste sjabloon Delphi bedieningspaneel dat eerder in de berichten besproken: ” slimme woning eHouse , source code control panels voor de tablet werkt op Windows XP , Vergezicht , 7 ”
Gebundelde de status van de binaire ontvangen van gegevens via UDP door het toevoegen van ondersteuning CommManager
procedure TForm1 . binaryDataReceived (Sender: TComponent ; NumberBytes: Integer ; FromIP: String ; Poort: Integer) ;
var C: array [0 . . 1024] van char ;
MyStream: TMemoryStream ;
numberb: integer ;
beginnen
Als filesystem_status sluit ; / / Alleen als udp actief is
MyStream: = TMemoryStream . Creëren ;
binair . ReadStream (MyStream) ;
numberb: = NumberBytes ;
indien numberb> ; 1023 dan numberb: = 1023 / / het beperken van het aantal bytes ontvangen – snijden we de grootte van de buffer data
MyStream . Lees (C [0] , numberb) ;
set_rm (C , 1) ; / / Decode-status eHouse 1 controllers – RM decoderen controller-status , HM
set_status_commmanager (C , 0 , 254) ; / / Decode commanager controller-status – decoderen status van commmanagera
Test_save ; / / Test gegevens opslaan op tekst bestanden voor elke RM , HM – sparen voor testresultaten naar een tekstbestand voor alle controllers eHouse 1 (RM , HM)
Test_save_eth ; / / Test gegevens opslaan op tekstbestand voor CommManager en elke Ethernet-controller – sparen voor testresultaten naar een tekstbestand voor CommManagera en alle controllers EtherneteHouse
update_panel ; / / Update gegevens naar het paneel voor geselecteerde controller – actualiseren van de verantwoordelijke voor de verwerking paneel
einde ; :
De volledige implementatie van het decoderen proces status voor CommManagera frame en andere controllers uit te voeren van de procedure Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / De parameter u de naam en het adres van de data buffer controller (de laatste twee onderdelen van het IP-adres) .
Deze procedure voert het decoderen van binaire status van het frame en laadt de gedecodeerde data op te nemen de Ethernet controller die een voorbeeld van een record ” ethernet_rm_hm_cm_lm ” genoemd ” ethrm ” .
De index wordt automatisch gezocht gekoppeld aan een IP-adres in de status .
Dit laat ons toe:

  • rechtstreekse analyse van de gegevens van alle regelaars
  • maak je eigen algoritmes, afhankelijk van de status van de uitgangen , Ingangen , metingen sensoren
  • implementatie van controlesystemen voor het analyseren van een willekeurig aantal parameters van het bestaande systeem
  • Log Analyzer software ontwikkeling en eHouse status van het systeem
  • software maakt het mogelijk de berekening van het elektriciteitsverbruik
  • kan de uitvoering van afzonderlijke bedieningspanelen en visualisatie van alle controllers op basis van een template
  • geen behoefte aan kennis van de manieren van communicatie en data frames
  • het schrijven van een hoge – level software (een paar regels broncode) door de uitvoering van het eHouse systeem software bibliotheken .