devEUI in uplink message

My uplink message with JSON marshaler and HTTP for TEKTELIC device encoding looks normal except for a few fields. My devEUI looks like it is encoded “devEUI”:“ZH/aAAAAIO0=” and not TEKTELIC end-device EUI=“64…”.Here is PHP code
$json = file_get_contents(“php://input”);
file_put_contents**("…", “OBJ=”.$json**."\n", FILE_APPEND|LOCK_EX);

my OBJ debug snippet looks like
OBJ={“applicationID”:“1”,“applicationName”:"…,“deviceName”:…",“devEUI”:“ZH/aAAAAIO0=”

Hi @avishnev,

It is encoded as Base64, you have to convert it into Hex and you will find 64 7f da 00 00 00 20 ed.

1 Like

If people are curious why it is encoded as base64, it is because this is how Protobuf maps byte fields to JSON: https://developers.google.com/protocol-buffers/docs/proto3#json.

This makes it really easy to use Protobuf for mapping the JSON to a struct / object in different languages.

1 Like