Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

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 interface. This is the simplest way for development and debugging.

Nwave provides an HTTP endpoint for the ingestion: 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 generating 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 time 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:

curl -XPOST -H 'x-Auth-Token: <Your API Key>' -d '{	
	"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"
	}		
}' 'https://in.lorawan.source.nwave.io/v1/injest'

The described feature is to be implemented in Jan 2022, please send your feedback to support@nwave.io

  • No labels