I have now built a couple of nRF2L01P field gateways (for AdaFriut.IO & Azure IoT Hubs) which run as a background tasks on Windows 10 IoT Core on RaspberyPI). I have also written several clients which run on Arduino, devDuino, Netduino, and Seeeduino devices.
I have tried to keep the protocol simple (telemetry only) to deploy and it will be used in high school student projects in the next couple of weeks.
To make the payload smaller the first byte of the message now specifies the message type in the top nibble and the length of the device unique identifier in the bottom nibble.
0 = Echo
The message is displayed by the field gateway as text & hexadecimal.
1 = Device identifier + Comma separated values (CSV) payload
[0] – Set to 0001, XXXX Device identifier length
[1]..[1+Device identifier length] – Unique device identifier bytes e.g. Mac address
[1+Device identifier length+1 ]..[31] – CSV payload e.g. SensorID value, SensorID value