Best way to alert on missing IoT Wireless frames

0

I'm trying to diagnose when Wireless Gateway's fail to receive LoRa frames. I'm looking specifically at the FCnt of device uplinks and noticing some missing numbers. I understand this could be for a variety of reasons, but I'd like to set up some kind of metrics/alerts for when and how often it happens.

I had thought of tracking FCnt by device in DynamoDB, but it would be even nicer if there was a way to do so on the Device object itself inside IoT without managing a separate service.

Could use some recommendations...

{
  "WirelessDeviceId": "<<redacted>>",
  "PayloadData": "<<redacted>>",
  "WirelessMetadata": {
    "LoRaWAN": {
      "ADR": "false",
      "Bandwidth": 125,
      "ClassB": "false",
      "CodeRate": "4/5",
      "DataRate": "3",
      "DevAddr": "<<redacted>>",
      "DevEui": "<<redacted>>",
      "FCnt": 8953,
      "FOptLen": 0,
      "FPort": 2,
      "Frequency": "904900000",
      "Gateways": [
        {
          "GatewayEui": "<<redacted>>",
          "Rssi": -47,
          "Snr": 13.25
        }
      ],
      "MIC": "f4f98a6b",
      "MType": "UnconfirmedDataUp",
      "Major": "LoRaWANR1",
      "Modulation": "LORA",
      "PolarizationInversion": "false",
      "SpreadingFactor": 7,
      "Timestamp": "2022-07-07T02:06:53Z"
    }
  }
1 Answer
1

Hi. One approach is to use AWS IoT Shadows. You could have a shadow per wireless device. From the decoder Lambda, you could also update the shadow. You could store last FCnt, timestamp of last received message from a device, last sensor value etc. The Lambda could check if the new FCnt value is in sequence, and trigger some kind of notification. If you have the last received timestamp in the shadow, you could use fleet indexing and fleet metrics to monitor the freshness of your fleet at large. By having last known sensor values, the shadow will be useful for more than device health. And you may also be interested in Fleet Hub. Please be aware of shadow limits in case you have a large fleet and/or your devices are sending very frequently.

Another approach could be to use AWS IoT Events.

profile pictureAWS
EXPERT
Greg_B
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions