Other LoRaWAN Message Ingestion
In order to speed up and simplify the end-user application development, LoRaWAN network operators and users can push raw data messages from Nwave parking sensors for further processing at Nwave Cloud services.
Currently, Nwave Cloud provides an ingestion method through the HTTP - the simplest and most universal API interface type.
The dedicated HTTP endpoint URL is: https://in.lorawan.source.nwave.io/v1/ingest
The endpoint receives only POST requests and requires an authorization token. You can follow this guide to generate a token.
The basic request body can contain only required message object fields:
{
"dev_eui": "00E8BF3B00100030",
"received_at": "2021-12-15T08:09:56.936592Z",
"uplink_message": {
"f_port": 2,
"f_cnt": 81,
"f_payload": "0A1234"
}
}
received_at
ideally must be the real timestamp of message reception by a LoRaWAN station. This field is used for data analytics. If station reception time is not available (or not precise enough) the LNS broker time reception time shall be used.
Additional and optional message object fields that can also be sent and stored for reference and possible performance optimisation.
The example below demonstrates a message object with required and all optional message fields:
{
"dev_eui": "00E8BF3B00100030",
"received_at": "2021-12-15T08:09:56.936592Z",
"uplink_message": {
"f_port": 2,
"f_cnt": 81,
"f_payload": "0A1234",
"trace_id": "e07d7812-869a-4f8d-bc17-2cd9c4bde94f",
"data_rate": "SF9BW125",
"frequency": "868300000",
"confirmed": true,
"rx_metadata": [
{
"gateway_eui": "0000024B0B03157A"
"rssi": -115,
"snr": -0.5,
"location": {
"latitude": 51.52485927633408,
"longitude": -0.13254563502660632
}
},
{
...
}
]
}
}
Additional fields can be sent partially. For example, the signal strength can be omitted but in order to easily trace your messages on both sides you can send only required fields and trace_id
:
{
"dev_eui": "00E8BF3B00100030",
"received_at": "2021-12-15T08:09:56.936592Z",
"uplink_message": {
"f_port": 2,
"f_cnt": 81,
"f_payload": "0A1234",
"trace_id": "e07d7812-869a-4f8d-bc17-2cd9c4bde94f"
}
}
Here is the example of cURL command that sends a raw data message to the Nwave Cloud: