

# 查看从 LoRaWAN 设备发送的上行链路消息的格式
<a name="lorawan-uplink-metadata-format"></a>

将 LoRaWAN 设备连接到 适用于 LoRaWAN 的 AWS IoT Core 后，您可以观察将从无线设备接收的上行链路消息的格式。

## 在您观察上行链路消息之前
<a name="lorawan-uplink-metadata-prerequisites"></a>

您必须已登记无线设备并将设备连接到 AWS IoT，以便它能够传输和接收数据。有关将您的设备登记到 适用于 LoRaWAN 的 AWS IoT Core 的更多消息，请参阅 [将您的设备登记到 适用于 LoRaWAN 的 AWS IoT Core](lorawan-onboard-end-devices.md)。

## 上行链路消息包含什么内容？
<a name="lorawan-uplink-metadata-contains"></a>

LoRaWAN 设备使用 LoRaWAN 网关连接到 适用于 LoRaWAN 的 AWS IoT Core。您从设备接收的上行链路消息将包含以下信息。
+ 对应从无线设备发送的加密负载消息的负载数据。
+ 无线元数据，包括：
  + 设备信息，例如 DevEui、数据速率和设备运行所在的频率通道。
  + 连接到设备的网关的可选附加参数和网关信息。网关参数包括网关的 EUI、SNR 和 RSSi。

  通过使用无线元数据，您可以获取有关无线设备的有用信息以及在设备和 AWS IoT 之间传输的数据。例如，您可以使用 `AckedMessageId` 参数来检查设备是否已收到上次确认的下行链路消息。或者，如果您选择包含网关信息，则可以确定是否要切换到更靠近设备的更强网关通道。

## 如何观察上行链路消息？
<a name="lorawan-uplink-metadata-observe"></a>

登记设备后，您可以使用 AWS IoT 控制台中 **Test**（测试）页面的 [MQTT 测试客户端](https://console.aws.amazon.com/iot/home#/test)订阅创建目标时指定的主题。连接设备并开始发送负载数据后，您将开始看到消息。

此图表标识了连接到 适用于 LoRaWAN 的 AWS IoT Core 的 LoRaWAN 系统中的密钥元素，其中显示了主数据面板以及数据在系统中流动的方式。

![图片显示了 适用于 LoRaWAN 的 AWS IoT Core 数据如何从无线设备传递到 AWS IoT 和其他服务。](http://docs.aws.amazon.com/zh_cn/iot-wireless/latest/developerguide/images/iot-lorawan-data-flow.png)


当无线设备开始发送上行链路数据时，适用于 LoRaWAN 的 AWS IoT Core 将无线元数据信息与负载打包，然后将其发送到 AWS 应用程序。

## 上行链路消息示例
<a name="lorawan-uplink-metadata-example"></a>

以下示例显示了从您的设备接收的上行链路消息的格式。

```
{
    "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", 
    "PayloadData": "Cc48AAAAAAAAAAA=",    
    "WirelessMetadata":
    {
        "LoRaWAN":
        {
            "ADR": false,
            "Bandwidth": 125,
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "0",
            "DevAddr": "00b96cd4",
            "DevEui": "58a0cb000202c99",            
            "FOptLen": 2,
            "FCnt": 1,
            "Fport": 136,   
            "Frequency": "868100000",     
            "Gateways": [
             {
                    "GatewayEui": "80029cfffe5cf1cc",      
                    "Snr": -29,
                    "Rssi": 9.75
             }
             ],  
            "MIC": "7255cb07",  
            "MType": "UnconfirmedDataUp",
            "Major": "LoRaWANR1",
            "Modulation": "LORA", 
            "PolarizationInversion": false,    
            "SpreadingFactor": 12,                         
            "Timestamp": "2021-05-03T03:24:29Z"
            
        }
    }
}
```

### 从上行链路元数据中排除网关元数据
<a name="lorawan-uplink-metadata-example2"></a>

如果要从上行链路元数据中排除网关元数据信息，请在您创建服务配置文件时禁用 **AddGwMetadata** 参数。有关禁用此参数的信息，请参阅 [添加服务配置文件](lorawan-define-profiles.md#lorawan-service-profiles)。

在这种情况下，您将不会在上行链路元数据中看到 `Gateways` 部分，如以下示例所示。

```
{  
    "WirelessDeviceId": "0d9a439b-e77a-4573-a791-49d5c0f4db95",
    "PayloadData": "AAAAAAAA//8=",
    "WirelessMetadata": {
        "LoRaWAN": {
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "1",
            "DevAddr": "01920f27",
            "DevEui": "ffffff10000163b0",
            "FCnt": 1,
            "FPort": 5,
            "Timestamp": "2021-04-29T05:19:43.646Z"
    }
  }
}
```