Domótica eHouse decodificação estado CommManager – código fonte

Ehouse Domótica , Gestão de Edifícios – Dados estado CommManager formato em código binário . CommManager é controlador de eHouse Domótica sistema , que reúne as funções de comunicação e é o ” porta de entrada para o mundo ” para o sistema baseado no sistema eHouse controladores de uma versão (485) .
Ele permite que você dispense com o seu PC, mantendo a alta funcionalidade (built padrão – em controladores) .
Além , o sistema substitui a versão antiga do ExternalManager de ” Ehouse 1 ” e 3 InputExtenders , Atuando controlador totalmente funcional: Rolo , portões e toldos . Também é integrado com um alarme que permite Controlar por SMS ou LAN .
Ele também tem incorporado um – em SMS de notificação de alarme – Ethernet Domótica – Rolos , Portões , Gateways – controladores e sistemas de segurança
O controlador em uma versão híbrida (eHouse 1, sob a supervisão de CommManager) recolhe todos os estados dos RoomManagers ( Domótica – Controlador de quarto ) E HeatManager ( Controlador de caldeira , recuperação , Energia verde automático ) E envia-los para o painel de controle via TCP / IP ou UDP .
Além , permite que você envie o status como UDP transmitido para todos os dispositivos na LAN , permitindo-lhe controlar o status eo status de conexão eHouse sistema por qualquer número de painéis de controle e visualização de saídas , entradas e os valores medidos .
Este tipo de transmissão não cobrar CPU extra de CommManager , não importa o quanto os painéis recebe os dados acima .
Para além dos dados recebidos do controlador eHouse 1 (trabalhando RS485) , CommManager anexar seu estado atual , que é o estado do sistema de alarme .
Status de quadro em código binário foi discutido nas mensagens:
” Smart Home , Intelligent Building estado quadro eHouse em código binário ”
” Smart Home , EHouse edifício inteligente – quadro de status de decodificação – código fonte ”
Até agora nós ' ; ve cobriu o formato de quadro , importância de bits e bytes em um quadro e apresentou para facilitar prontos fonte de dados de código de decodificação de todo Ehouse controladores ligados por um CommManager ou eHouse aplicação . exe (para eHouse 1) .

É ; s de tempo para o software para descodificar o estado da CommManager moldura alargada .
Embora o status pode ser enviado TCP / IP e UDP na mesma forma , só vamos transmitir UDP , devido à falta de necessidade de fazer logon para o controlador e aumentar a carga da CPU .
A comunicação através de TCP / IP que servidores de socket deixando livre para remotos painéis móveis precisa , trabalhar fora dos (LAN Smartphones , GSM telefones) , usar UDP como a transmissão da Internet pode ser difícil e envolve uma série de erros , prevenção estado decodificação correta , devido à má qualidade das ligações , ea falta de mecanismos de confirmações e repetições de sessão UDP .
Para este fim , na final do painel de controle modelo Delphi que foi discutido anteriormente nos posts: ” eHouse casa inteligente , painéis de controle de código fonte para o tablet trabalhando no Windows XP , Vista , 7 ”
Pacote de alterar o status do binário receber dados via UDP, adicionando suporte CommManager
procedimento TForm1 . binaryDataReceived (Sender: TComponent ; NumberBytes: Integer ; FromIP: String ; Porto: Integer) ;
var C: array [0 . . 1024] de char ;
MyStream: TMemoryStream ;
numberb: inteiro ;
começar
se filesystem_status saia ; / / Só quando udp está ativo
MyStream: = TMemoryStream . Criar ;
binário . ReadStream (MyStream) ;
numberb: = NumberBytes ;
se numberb> ; 1023 numberb então: = 1023 / / limitar o número de bytes recebidos – que cortado para o tamanho do buffer de dados
MyStream . Leia (C [0] , numberb) ;
set_rm (C , 1) ; / Decodificar / eHouse um estado controladores – Status do controlador RM decodificação , HM
set_status_commmanager (C , 0 , 254) ; / Decode / commanager status do controlador – decodificar commmanagera estado
Test_save ; / / Teste de salvar os dados em arquivos de texto para cada RM , HM – para salvar os resultados de teste para um arquivo de texto para todos os controladores de eHouse 1 (RM , HM)
Test_save_eth ; / / Teste de salvar dados em arquivo de texto para CommManager e cada controlador Ethernet – para salvar os resultados de teste para um arquivo de texto para CommManagera e todos EtherneteHouse a controladores
update_panel ; / / Atualizar dados para o painel de controle selecionado – atualizar o painel de controle de dados
final ; :
A implementação completa do estado do processo de decodificação para CommManagera quadro e outros controladores realizar o procedimento Ethernet eHouse
set_status_commmanager (C , 0 , 254) ; / / O parâmetro que você especifique o nome eo endereço do controlador de buffer de dados (os últimos dois componentes do endereço de IP) .
Este procedimento realiza a decodificação do estado binário da moldura e carrega os dados decodificados para gravar o controlador Ethernet que é uma instância de um registro ” ethernet_rm_hm_cm_lm ” chamado ” ethrm ” .
O índice é procurado automaticamente associada a um endereço IP no estado .
Isto permite-nos:

  • análise direta dos dados de todos os controladores
  • criar seus próprios algoritmos, dependendo do estado das saídas , Entradas , sensores de medição
  • implementação de sistemas de controle dedicado a analisar qualquer número de parâmetros do sistema existente
  • log de desenvolvimento de software e analisador de status do sistema eHouse
  • software permite o cálculo do consumo de energia elétrica
  • permite a execução de painéis individuais e visualização para todos os controladores, com base em um modelo
  • há necessidade de conhecimento das formas de estruturas de comunicação e de dados
  • escrevendo alta – software de nível (algumas linhas de código-fonte), através da implementação das bibliotecas de software do sistema eHouse .