Downlink Command Language?

Hi, is there an existing or emerging standard for Downlink commands. I am looking ay a range of functions including change sleep time (internal function) or read or activate a connected I/O device (eg turn on or off one or more relays)

I’m referring to the Application Layer and not MAC commands

3 Likes

Not a standard but I use the same composable format for local and remote ports.

Essentially you assign a fixed type to an address. You then have a protocol to read/write these addresses by encoding command, register, address and type.

Done correctly you save a lot of time when it comes to adding/removing registers in future and you can do stuff like chain multiple read/writes in a single message. The best part is that you can write generic tools that work with all your stuff without ongoing maintenance.

1 Like

Interestingly there is very little shared code on downlinks handling either, maybe others could share some best practice code on device downlinks handling/basic functions the device could need.

1 Like

Hello Tony. It is an interesting area for discussion. On the commercial front, suppliers (and I say this as someone who sells commercial products) have a vested interest in keeping their message format privare. But there is obviously a lot to be gained from open format, which will make it easier to share and transfer information. Have you had a look at the OpenSensor protocol (https://www.mysensors.org/download/serial_api_20#serial-communication-examples)? It is bi-directional and could easily be expanded for new sensor types. The downside of any flexible protocol is that it adds overhead which means longer packets. But for me that is a small price to pay. Especially as the reality of LoRa WAN is turning out to mean more Gateways covering smaller geographic areas and smaller numbers of users/nodes than was originally touted. So the push to minimise packet length to maximise capacity is not as relevant.

Thanks Peter, I’ve had a quick look and that seems to be a great platform to work from. Better to use this than develop one more protocol, Will have a much deeper look over the next few days.