I’m going to build a number of nRF2L01P field gateways (Netduino Ethernet & Wifi running .NetMF, Raspberry PI running Windows 10 IoT Core, RedBearLab 3200 etc.), clients which run on a variety of hardware (Arduino, devDuino, Netduino, Seeeduino etc.) which, then upload data to a selection of IoT Cloud services (AdaFruit.IO, ThingSpeak, Microsoft IoT Central etc.)
The nRF24L01P is widely supported with messages up to 32 bytes long, low power consumption and 250kbps, 1Mbps and 2Mbps data rates.
The aim is to keep the protocol simple (telemetry only initially) to implement and debug as the client side code will be utilised by high school student projects.
The first byte of the message specifies the message type
0 = Echo
The message is displayed by the field gateway as text & hexadecimal.
1 = Device identifier + Comma separated values (CSV) payload
 – Set to 1
 – Device identifier length
..[2+Device identifier length] – Unique device identifier bytes e.g. Mac address
[2+Device identifier length+1 ].. – CSV payload e.g. SensorID value, SensorID value
Overtime I will support more message types and wireless protocols.