<div dir="ltr">Just getting back to thinking about this.<div><br></div><div>How about the equivalent of Schema.org for IoT?  So your json or whatever payload can just point to a pre defined items list.  I am going to do a thought experiment with this in the next couple of weeks with a few sensors and will show you what I mean.</div><div><br></div><div>Regards,</div><div><br></div><div><br></div><div><br></div><div>Yodit</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 19 October 2014 16:04, Damon Hart-Davis <span dir="ltr"><<a href="mailto:dhd@exnet.com" target="_blank">dhd@exnet.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">To be clear; from the concentrator onwards some more standard protocols/formats would be preferable; I’m really only trying to minimise the pain of the first hop from a low-power sensor.<br>
<br>
Eg the concentrator could act as an MQTT proxy (what sort of heresy and ignorance am I indulging in here).<br>
<br>
Rgds<br>
<span class="HOEnZb"><font color="#888888"><br>
Damon<br>
</font></span><br>
PS. The more I think about it the more I like the unique node ID plus a simple list/map of (name, scalar value) pairs with selectively signed or encrypted parts for the TEXT form.  The interpretation of a data frame depends on the node and concentrator IDs and timestamp.  But maybe I can be talked into JSON at least!<br>
<div class="HOEnZb"><div class="h5"><br>
On 19 Oct 2014, at 15:41, Damon Hart-Davis <<a href="mailto:dhd@exnet.com">dhd@exnet.com</a>> wrote:<br>
<br>
> Hi,<br>
><br>
> Thinking out loud here, so not necessarily making sense…<br>
><br>
> I’m trying to do ensure that when OpenTRV and/or any sensor platform based on it is sending data points from leaf/sensor/actuator nodes to a more powerful concentrator node there are a couple of possible mechanisms with the following features:<br>
><br>
> 1) TEXT: The ability to instantly add arbitrary new sensor types’ outputs to the data stream for quick development and without any predefined schema, and without blowing up an existing unupgraded receiver, and to be able to see what is going up the wire preferably (eg easy debugging and storage).  Maybe a node ID plus an ASCII (ASCII-7 printable only) list of name/value or name/value/units.  Syntax might be JSON or something even more terse.  Generating and sending extra bytes has a significant code-space and energy (eg CPU and radio) cost, but the ability to instantly add new values to a data stream in a robust way may make that worthwhile.  Note that maximum frame sizes are likely to be very constrained by node memory, radio duty-cycle regs, etc.  Note that this form plus may with some decoration (eg with concentrator ID and timestamp) may be directly suitable for long-term storage and sending over the Internet.  Note that printable ASCII may eliminate the need to bit-stuff or whiten on some carriers.<br>
><br>
> 2) BINARY: The ability to instead/also use a very compact binary wire form, eg once a particular set of sensors has been settled on for a particular deployment and available engineering skills can handle this.  Logically equivalent to TEXT form but possibly hand-crafted for size/cost and robustness.  Should ideally be convertible to/from TEXT FORM freely at various places in the data path, with a tight version control of the schema expected.<br>
><br>
> 3) The possibility in some cases of ‘signing’ some or all of the data points at the leaf or at the concentrator.<br>
><br>
> 4) The reverse path to a leaf node (if present) should always support the BINARY option but may also support a limited subset of the TEXT form.<br>
><br>
> Thoughts?<br>
><br>
> If JSON were to be used, then surely some stylistic choices should be made, eg flat list/map with/without units?<br>
><br>
> Damon<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">CEO & Founder | <a href="http://opensensors.io" target="_blank">opensensors.io</a><div>The Operating System for the Internet of Things<br><div>@opensensorsIO</div><div><br></div><div>@yoditstanton</div><div><br></div><div><br></div><div><br><div><span style="font-size:12.8000001907349px"><br></span></div><div style="text-align:right"><span style="text-align:start;color:rgb(0,0,0);font-family:'Times New Roman'"><p dir="ltr" style="font-size:medium;text-align:right;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Open Sensors Ltd  is a registered company in England & Wales</span></font></p><p style="text-align:right;font-size:medium;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">3rd Floor, 65 Clifton Street</span></font></p><p style="text-align:right;font-size:medium;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">London</span></font></p><p style="text-align:right;font-size:medium;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">EC2A 4JE</span></font></p><p style="text-align:left;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><br></span></font></p><p dir="ltr" style="text-align:right;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">No </span><span style="color:rgb(79,81,85);font-family:'Helvetica Neue',Helvetica,Segoe,'Segoe UI',Arial,sans-serif;line-height:20px;text-align:start">08773413</span></font></p></span><span style="text-align:start;color:rgb(0,0,0);font-family:'Times New Roman'"><p dir="ltr" style="text-align:right;margin-top:0pt;margin-bottom:0pt"><font size="1"><span style="font-family:Calibri;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Vat: </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;text-align:start">188665055</span></font></p><span style="font-size:15px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;background-color:transparent;font-size:15px"></span></span></div></div></div></div></div>
</div>