Bonjour,
Malgré mes recherches sur le site et les exemples, je ne trouve pas pourquoi mon scenario ne fonctionne pas. Je dois vous dire que mon niveau en php est proche de 0.
J’ai un équipement qui transmet un message vers un broker et qui apparait bien dans pour JMQTT.
Voilà le json
{"applicationID":"1","applicationName":"Maison","deviceName":"Dragino","devEUI":"006667fde5f07b04","rxInfo":[{"gatewayID":"b827ebfffe7f9480","uplinkID":"53af782e-9d05-4f86-b020-a9231170cb69","name":"RAK-7243","rssi":-96,"loRaSNR":8,"location":{"latitude":45.6885582363027,"longitude":-1.0632410645484927,"altitude":40}}],"txInfo":{"frequency":867900000,"dr":0},"adr":true,"fCnt":9,"fPort":2,"data":"AAAAAAAAAABOr2MAXgB6","object":{"ALARM_status":true,"BatV":3.759,"FW":153,"LON":"ON","Latitude":0,"Longitude":0,"MD":"Move","Pitch":1.22,"Roll":0.94}}
Et décodé
"applicationID":"1",
"applicationName":"Maison",
"deviceName":"Dragino",
"devEUI":"006667fde5f07b04",
"rxInfo":[
{
"gatewayID":"b827ebfffe7f9480",
"uplinkID":"53af782e-9d05-4f86-b020-a9231170cb69",
"name":"RAK-7243",
"rssi":-96,
"loRaSNR":8,
"location":{
"latitude":45.6885582363027,
"longitude":-1.0632410645484927,
"altitude":40
}
}
],
"txInfo":{
"frequency":867900000,
"dr":0
},
"adr":true,
"fCnt":9,
"fPort":2,
"data":"AAAAAAAAAABOr2MAXgB6",
"object":{
"ALARM_status":true,
"BatV":3.759,
"FW":153,
"LON":"ON",
"Latitude":0,
"Longitude":0,
"MD":"Move",
"Pitch":1.22,
"Roll":0.94
}
}
Et finalement mon scenario pour récupérer la valeur « Latitude »
$cmd = cmd::byString("#[Test][application][1:device:006667fde5f07b04:rx]#");
$json = $cmd->execCmd();
$scenario->setlog('-----RAW----------');
$scenario->setlog($json);
$scenario->setlog('');
// Step 2: Decodage du JSON et recuperation des infos souhaitees
$jsonData = json_decode($json,true);
$scenario->setlog('-----DECODE-----');
$scenario->setlog('');
$scenario->setLog('Latitude : '.$jsondata['rxInfo']['location']['latitude']);
Malheureusement, je ne récupère pas la valeur.
Une bonne ame pourrait me donner un tuyau?
Merci d’avance
Patrice