[OpenTRV-dev] RF protocol - request for comments
Mike Stirling
EMAIL ADDRESS HIDDEN
Thu Sep 4 15:02:11 BST 2014
Hi all,
As some of you may know I have been looking at potential radio protocols
for OpenTRV and other HA applications, with a view to encouraging
interoperability. In particular I have been investigating whether any
of the standard-but-expensive protocols like 802.15.4 (and ZigBee and
6LoWPAN atop) could be implemented in full or part on the cheap sub-GHz
radios that most open source projects seem to favour.
What I am trying to achieve with this is a properly documented, open
protocol framework that could be used to ease inter-working between the
likes of OpenTRV, OEM, etc. Some outline requirements as follows:
* Must be compatible with RFM69, RFM22/23, RFM12 type radios, and stand
a high chance of being compatible with future low-cost sub-GHz modules.
This is not as hard to achieve as it might sound.
* Must support security - both authentication and encryption.
* Must enable two-way communication with sleeping nodes (receivers off
most of the time).
* Should allow for easy bridging to existing IP-based IoT protocols.
* Must be self-organising. For consumer applications nodes must be
pre-addressed. Some sort of pairing step is reasonable, but having to
manually address everything is not.
To this end I have started developing TinyHAN (Tiny Home Area Network),
which is somewhat based on the good bits of 802.15.4 but is much
smaller, uses the 802.15.4g PHY specification (meaning a lot of future
radios are likely to be able to talk it), but drops features like
meshing, which add to the complexity and cost of implementation but are
unlikely to be that useful in a domestic setting.
The protocol handles node supervision and addressing, and allows for
transmission of broadcast and unicast datagrams. Development has
focussed on using it as a bearer for the MQTT-SN protocol which can then
be bridged easily to tools like Mosquitto and Node Red.
Draft documentation can be found here:
http://mike-stirling.com/files/tinyhan-rfc.pdf
There is a reference implementation to go with this which will be on
Github soon.
For reasons of version control I would be grateful if that document is,
for now, not re-hosted elsewhere.
I will make a point of being on IRC tonight just in case anyone has any
thoughts or comments, which hopefully will be the case.
Mike
More information about the OpenTRV-dev
mailing list