<div dir="ltr">Sounds great, will block out a few hours towards the end of next week, does that suit you timewise? Yours is probably the most challenging use case so might as well start with that :) <div><br></div><div>Currently an example <a href="http://schema.org">schema.org</a> looks like this </div><div><pre style="font-family:Courier,monospace;font-size:14px;width:auto;padding:0px 5px 2px 10px;margin-top:0.5em;margin-bottom:0px;margin-left:50px;overflow:auto;color:rgb(58,73,86);line-height:19.2000007629395px;background:rgb(225,225,225)"><div itemscope itemtype ="<a href="http://schema.org/Movie">http://schema.org/Movie</a>">
<h1 itemprop="name"&g;Avatar</h1>
<div <strong>itemprop="director" itemscope itemtype="<a href="http://schema.org/Person">http://schema.org/Person</a>"</strong>>
Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birthDate">August 16, 1954)</span>
</div>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div></pre><pre style="font-family:Courier,monospace;font-size:14px;width:auto;padding:0px 5px 2px 10px;margin-top:0.5em;margin-bottom:0px;margin-left:50px;overflow:auto;color:rgb(58,73,86);line-height:19.2000007629395px;background:rgb(225,225,225)"><br></pre></div><div class="gmail_extra"><br></div><div class="gmail_extra">on the other hand the Qubit guys have gone for tagging </div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">digitalData = {</div><div class="gmail_extra"> pageInstanceID: "ProductDetailPageNikonCamera-Staging",</div><div class="gmail_extra"> page:{</div><div class="gmail_extra"> pageInfo:{</div><div class="gmail_extra">pageID: "Nikon Camera",</div><div class="gmail_extra">destinationURL:</div><div class="gmail_extra"> "<a href="http://mysite.com/products/NikonCamera.html">http://mysite.com/products/NikonCamera.html</a>"},</div><div class="gmail_extra">category:{</div><div class="gmail_extra">primaryCategory: "Cameras",</div><div class="gmail_extra"> subCategory1: "Nikon",</div><div class="gmail_extra"> pageType: "ProductDetail"},</div><div class="gmail_extra"> attributes:{</div><div class="gmail_extra"> Seasonal: "Christmas"}</div><div class="gmail_extra"> },</div><div class="gmail_extra"> product:[{</div><div class="gmail_extra"> productInfo:{</div><div class="gmail_extra"> productName: "Nikon SLR Camera", </div><div class="gmail_extra"> sku: "sku12345",</div><div class="gmail_extra"> manufacturer: "Nikon"},</div><div class="gmail_extra"> category:{</div><div class="gmail_extra"> primaryCategory: "Cameras"},</div><div class="gmail_extra"> attributes:{</div><div class="gmail_extra"> productType: "Special Offer"}</div><div class="gmail_extra"> }]</div><div class="gmail_extra"> }; </div></div><div class="gmail_extra"><br></div><div class="gmail_extra">Neither are appropriate for us due to their bulkiness but we can learn from them. I don't have any fully formed ideas and want to experiment with a few things and see what happens. </div><div class="gmail_extra"><br></div><div class="gmail_extra">How shall we collaborate? Do you want to send me what you have currently and what you would like it to look like? </div><div class="gmail_extra"><br></div><div class="gmail_extra">We should maybe schedule an open hangout next wed or thur evening with anyone that is interested and trash out some ideas? I know the qubit guys so happy to invite them to understand their experiences (or maybe thats another hangout session) </div><div class="gmail_extra"><br></div><div class="gmail_extra">Regards,</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 November 2014 09:02, 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<br>
Well, I am still pottering about with this stuff at the leaf-to-node level right now, so maybe we can work through some real examples from my side too? Would be good to have more eyes and brains on it.<br>
<br>
My main on-the-wire constraints:<br>
<br>
* For various reasons I need my entire frame to sit in << 60 characters, and have bandwidth and duty-cycle limits<br>
<br>
* I will need to selectively authenticate or encrypt some data<br>
<br>
But also note that I do NOT need to transmit all fields in each TX.<br>
<br>
Rgds<br>
<span class=""><font color="#888888"><br>
Damon<br>
</font></span><div class=""><div class="h5"><br>
<br>
On 6 Nov 2014, at 08:34, Yodit Stanton <<a href="mailto:yodit@opensensors.io">yodit@opensensors.io</a>> wrote:<br>
<br>
> Just getting back to thinking about this.<br>
><br>
> 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.<br>
><br>
> Regards,<br>
><br>
><br>
><br>
> Yodit<br>
><br>
> On 19 October 2014 16:04, Damon Hart-Davis <<a href="mailto:dhd@exnet.com">dhd@exnet.com</a>> wrote:<br>
> 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>
><br>
> Damon<br>
><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>
><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>
><br>
><br>
><br>
> --<br>
> CEO & Founder | <a href="http://opensensors.io" target="_blank">opensensors.io</a><br>
> The Operating System for the Internet of Things<br>
> @opensensorsIO<br>
><br>
> @yoditstanton<br>
><br>
><br>
><br>
><br>
> Open Sensors Ltd is a registered company in England & Wales<br>
> 3rd Floor, 65 Clifton Street<br>
> London<br>
> EC2A 4JE<br>
><br>
> No 08773413<br>
> Vat: 188665055<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-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-size:15px;background-color:transparent"></span></span></div></div></div></div></div>
</div></div>