Implementação do Sensornode para Mysensor, um analisador que lê os códigos de Obis e dados do medidor da porta Han de um medidor de energia norueguês de Aidon. Pode funcionar e um ardino de baixa potência de 8 MHz.
Testado em um hafslund e no medidor de energia de Eidsiva
O analisador decodifica um datastream MBUS de acordo com a especificação norueguesa de Hancode - OBIs. Este adaptador é genérico relativo, independente da ordem e do conteúdo de cada mensagem e registro.
Ref https://www.nek.no/wp-content/uploads/2018/11/aidon-han-interface-description-v10a-id-34331.pdf e extrato dlms ua bois book: Cosem Classes e Obis Identification System. 12.0
O hardware é um Arduino que lê um fluxo de dados serial forma um adaptador MBUS para TTL.
O conversor MBUS está conectado à porta Han do medidor de energia. O adaptador é testado com o medidor Hafslund Aidon, um nó Arduino meu sensor e um adaptador MBUS: https://www.ebay.com/itm/tss721a-breakout-module-with-isolation/113359924361?hash=item1a64c72c89:g:gs0aaoswf31b5pal:rk:4:pf:0
O nó Arduino Mysensor está conectado a um controlador Rasperry Domoticz por meio de uma rede de malha de 2,4 MHz. Ref Mysensor.org
Palavras -chave: AMS PowerMeter, Han Port, Obis, MBUs, Cosem, Domotizc, Mysensors
O software serial pode ser usado para testar o analisador, mas em um 3,3V em 8MHz, isso pode ser desacelerar ao analisar a mensagem de uma hora, use RX TX.
O arduino de 8MHz de baixa potência é deste tipo: https://forum.mysensors.org/topic/2067/my-slim-lim-lattery node
Este Arduno provavelmente pode ser alimentado a partir da interface MBUS. Isso não é testado. Atualmente, o cartão é alimentado com 3,3V por meio de um regulador reduzido de 5 V, consome 35mA, incluindo perda no regulador.
Os dados do Mysensors são enviados em sendData ().
Este analisador é um analisador recursivo "de cima para baixo" acionado pela gramática da mensagem, especificada na referência acima. A gramática básica é:
Hdlcpackage = startmark, packagelen, estrutura, carga útil, fcc, endmark
startmark = endmark = “7e”
packagelen = 4 byte; "A", 12 bits inteiros
frameHeader = 9 byte; Não é verificado, termina com um CRC
Payload = DataHeader, Array, Registro*
DataHeader = “0F 40 00 00 00 00”; Pode não ser consertado
Array = «01», Datalen
Datalen = 1 byte; Int
registro = estrutura, structureContent;
structureContent = OCTETTRING, ObiscodEandContent; Código SE para detalhes
Cabeçalho A0 2A 41 08 83 13 04 13 E6 E7 00: FRAMETYPE: 10 FRAMELEND: 42
DataHeader 0F 40 00 00 00 00
TIPO & LEN 01 01
02 03: strucur - 3
09 06: Ocet-string len 6
01 00 01 07 00 FF: Obis Kode '1.0.1.7.0.255
06: Double-Long-Unsignado (32 bits)
00 00 06 44: dezembro de 1604
02 02: strucur - 2
0f Int8
00: 0
16: Enum
1b: potência ativa watt
6f 92 CRC
TODO: CRC não é verificado,
Power de teste formam o MBUS
reestruturar o analisador em uma classe C ++
Existe um ISUE com a participação das últimas partes da "mensagem de uma hora", mas não afeta os dados.
7e
A13E410883137F8EE6E700
// Comprimento 318 0F4000000000
010E // Matriz 14
METERID: 123456789012
Metertype: 6515
Obisversão: AIDON_V0001
Data: 0-0-0-0-0-0-0-0-0-36-35-31-35-
ActivePowerQ1Q4: 1872
CUMULATIVACTATIVA: 2203350
ReactivePowerq1q2: 294
CurrentL1: 8.1000003814
Fasevl1: 237.5000000000






Este software é fornecido pelo autor e colaboradores `` como é '' e quaisquer garantias expressas ou implícitas, incluindo, entre outros, as garantias implícitas de comercialização e condicionamento físico para um determinado objetivo. Em nenhum caso, o autor ou colaboradores será responsável por quaisquer danos diretos, indiretos, incidentais, especiais, exemplares ou consequentes (incluindo, entre outros, a aquisição de bens ou serviços substitutos; perda de uso, dados ou lucros; ou interrupção de negócios), por outro lado, a serem adiados por contrato, ou que seja, a falha, ou seja, a falha, que é a adição, que é que a falha, que é a adição de que qualquer spaco, que seja, a falha, que é a adição, que se trata de que não se trata de que não se esforçam, se o contrário, de qualquer spaco de admissão, que se trata de que não se trata de que não há como serem previstas, que são necessárias, seriam que sejam, a serem adinctitizados ou que sejam, a serem adinctitizados ou que sejam, a serem adinctitizados ou que sejam, a serem adiados por contrato, ou que seja, a falha, ou que seja, a falha, ou que seja, a falha, que é a adição, que é que, por outro lado. Possibilidade de tal dano.