------------------------------
sent hex to meter:
7E A0 00 02 54 FB 03 10 25 D4 E6 E6 00 60 4A A1 09 06 07 60 85 74 05 08 01 01 A6 0A 04 08 41 42 43 44 45 46 47 48 8A 02 07 80 8B 07 60 85 74 05 08 02 05 AC 12 80 10 C0 E0 70 B8 DC EE 77 3B 9D 4E A7 D3 69 34 9A CD BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 1D FF FF 7A 5A 7E 7E A0 0A 00 02 54 FB 03 53 A0 49 7E 7E A0 0A 00 02 54 FB 03 93 AC 8F 7E 7E A0 5B 00 02 54 FB 03 10 25 D4 E6 E6 00 60 4A A1 09 06 07 60 85 74 05 08 01 01 A6 0A 04 08 41 42 43 44 45 46 47 48 8A 02 07 80 8B 07 60 85 74 05 08 02 05 AC 12 80 10 E6 F3 79 BC DE EF 77 BB DD 6E 37 9B CD 66 33 99 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 1D FF FF F9 82 7E 7E A0 0A 00 02 54 FB 03 53 A0 49 7E 7E A0 0A 00 02 54 FB 03 93 AC 8F 7E 7E A0 5B 00 02 54 FB 03 10 25 D4 E6 E6 00 60 4A A1 09 06 07 60 85 74 05 08 01 01 A6 0A 04 08 41 42 43 44 45 46 47 48 8A 02 07 80 8B 07 60 85 74 05 08 02 05 AC 12 80 10 CC E6 F3 F9 7C BE 5F 2F 17 0B 05 02 81 C0 E0 F0 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 1D FF FF D3 89 7E 7E A0 0A 00 02 54 FB 03 53 A0 49 7E
----------------
my code arduino
void setup() {
GXTRACE(GET_STR_FROM_EEPROM("Start application"), NULL);
BYTE_BUFFER_INIT(&frameData);
//Set frame capacity.
bb_capacity(&frameData, 128);
// Client.init(true, 16, Client.GetServerAddress(1,0x157D,2), DLMS_AUTHENTICATION_NONE, NULL, DLMS_INTERFACE_TYPE_HDLC);
////Un-comment this if you want to set system title, block cipher key or authentication key.
Client.SetSecurity(DLMS_SECURITY_AUTHENTICATION_ENCRYPTION);
//TODO: Change logical name of the frame counter if it's used to com_readAllObjects.
gxByteBuffer bb;
bb_init(&bb);
bb_addHexString(&bb, "31 32 33 34 35 36 37 38");
Client.SetSystemTitle(&bb);
bb_clear(&bb);
bb_addHexString(&bb, "D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF");
Client.SetAuthenticationKey(&bb);
bb_clear(&bb);
bb_addHexString(&bb, "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
Client.SetBlockCipherKey(&bb);
bb_clear(&bb);
//Client.SetInvocationCounter(0x1699);
Client.init(true,1, Client.GetServerAddress(0x1,0x157D,2), DLMS_AUTHENTICATION_HIGH_GMAC,NULL, DLMS_INTERFACE_TYPE_HDLC);
Serial1.begin(9600);
// start serial port at 9600 bps:
Serial2.begin(9600);
while (!Serial2) {
; // wait for serial port to connect. Needed for native USB port only
}
}
void loop() {
int ret;
if (millis() - runTime > 5000)
{
runTime = millis();
GXTRACE(GET_STR_FROM_EEPROM("Start reading"), NULL);
//TODO: Change logical name of the frame counter if it's used.
ret = com_readAllObjects("0.0.43.1.0.255");
//
com_close();
}
}
--------------------------------------
image gxdlms director
Hi,
Hi,
Please, don't create multiple topics from the same question. I have answered for your question here:
https://www.gurux.fi/comment/23061#comment-23061
BR,
Mikko