Gateway Telemetry Thingsboard CE

Hello,

I’ve got a number of Gateways which I would like to publish their gps telemetry to an instance of Thingsboard CE, via, http, MQTT or frankly any other means.

This would help in building a network infrastructure map and monitoring whether a gateway has been stolen. (It’s happened!) But as of right now the difficulty is that there is no trivial (that I can see) means of publishing all of the gateway telemetry to a thingsboard instance at once.

All of the gateways are running the most current version of the chirpstack-gateway-bridge and forwarding their payloads to chirpstack-network-server.

Any thoughts?

Are you handy with any programming languages? this is sample of one of my packets that just came through I wrote from a node using python/mqtt.

Connected with result code: 0
{
  "applicationID": "6",
  "applicationName": "dragino-gps-trackers",
  "deviceName": "Phil-LGT92-2",
  "devEUI": "a84041f951822355",
  "rxInfo": [
    {
      "gatewayID": "dca632fffe6ab3dd",
      "uplinkID": "27c6801d-75fa-455e-8b9e-7dfe3d37d532",
      "name": "East-Tamworth-RAK2287",
      "time": "2021-01-25T23:16:24.034724Z",
      "rssi": -88,
      "loRaSNR": 13.5,
      "location": {
        "latitude": -31.08587,
        "longitude": 150.93094,
        "altitude": 397
      }
    },
    {
      "gatewayID": "60c5a8fffe74d34f",
      "uplinkID": "b70aef2d-d17d-42bd-963a-d33af2ae9108",
      "name": "East-Tamworth",
      "rssi": -76,
      "loRaSNR": 14,
      "location": {
        "latitude": -31.0858,
        "longitude": 150.931,
        "altitude": 409
      }
    },
    {
      "gatewayID": "60c5a8fffe76f6e6",
      "uplinkID": "11112a94-a32d-43b1-88ce-81496ca27cdb",
      "name": "Bald-Hill-AU915",
      "rssi": -92,
      "loRaSNR": 10.5,
      "location": {
        "latitude": -31.07538,
        "longitude": 150.95849,
        "altitude": 830
      }
    }
  ],
  "txInfo": {
    "frequency": 917400000,
    "dr": 2
  },
  "adr": true,
  "fCnt": 2937,
  "fPort": 2,
  "data": "/iWrzwj/B3AOjmM=",
  "object": {
    "ALARM_status": false,
    "BatV": 3.726,
    "FW": 153,
    "LON": "ON",
    "Latitude": -31.085617,
    "Longitude": 150.931312,
    "MD": "Move",
    "Pitch": 0,
    "Roll": 0
  }
}

You can use this data from a node, you can write a for loop and pull all gw’s from payload if there are multiple or just one if there is a singular one, then send current gw locations to a db like influx (or anything really).

I have a passable knowledge of Python. But it’s not my strongest skill.

I was hoping I wouldn’t have to kludge something together. ha

Thank you

It’s not too scary, I can help you maybe. I need to write some new ones for chirpstack soon all my old ones are for ttn.

Do you use discord?