Base64有效负载编解码器(B-L072Z-LRWAN1终端节点)

时间:2019-01-22 14:07:22

标签: c# php json base64 lorawan

  • 我将节点B-L072Z-LRWAN1与“ I-CUBE-LRWAN”软件一起使用。
  • 由于项目loraserver.io,我创建了自己的lorawan网络,所有lora服务器和lora应用服务器均使用go语言编码,因此,在将对象编码为JSON时,默认情况下Go会将字节数组编码为base64

  • 当我使用“ AT slave slave exemple”时,我可以从我的点头到我的php页面接收正确的数据,以解码JSON数组,然后使用此功能来解码base64:

    $payload = file_get_contents('php://input');
    $var = json_decode($payload,true);
    .
    .
    .
    $data64    = $var['data'];
    $data = base64_decode($data64); // decode function
    

但是当我使用“ End_Node exemple”时,我无法使用我已经存在的php函数对数据进行解码,结果如下: result of decoding of two exemple

我注意到,在“终端节点程序”中,有一个函数可以在发送数据之前执行此操作:

#define LORAWAN_APP_DATA_BUFF_SIZE            64
static uint8_t AppDataBuff[LORAWAN_APP_DATA_BUFF_SIZE];
lora_AppData_t AppData={ AppDataBuff,  0 ,0 };
temperature = 20;    /* in °C * 100 */
pressure    = 30;  /* in hPa / 10 */
humidity    = 40;        /* in %*10     */
uint32_t i = 0;
AppData.Buff[i++] = AppLedStateOn;
AppData.Buff[i++] = ( pressure >> 8 ) & 0xFF;
AppData.Buff[i++] = pressure & 0xFF;
AppData.Buff[i++] = ( temperature >> 8 ) & 0xFF;
AppData.Buff[i++] = temperature & 0xFF;
AppData.Buff[i++] = ( humidity >> 8 ) & 0xFF;
AppData.Buff[i++] = humidity & 0xFF;
AppData.BuffSize = i;
LORA_send( &AppData, LORAWAN_DEFAULT_CONFIRM_MSG_STATE);

本主题面向那些知道如何在两种版本的“ I-CUBE-LRWAN”中对数据进行编码的人

感谢您的帮助:)。

0 个答案:

没有答案