-
Notifications
You must be signed in to change notification settings - Fork 3
/
reel-overview.html
244 lines (244 loc) · 14.7 KB
/
reel-overview.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<!DOCTYPE HTML>
<html>
<head>
<title>The reel architecture and protocol | diyActive</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Overview of the reel: a novel means of daisy-chaining plug-and-play sensors introduced by reelyActive.">
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="style/main.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.2/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js"></script>
<script type="text/javascript" src="js/diyactive.js"></script>
</head>
<body ng-app="diyActive">
<div ng-controller="InteractionCtrl">
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
ng-init="navCollapsed = true"
ng-click="navCollapsed = !navCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://www.reelyactive.com">
<strong>reely</strong>Active
</a>
</div>
<div class="collapse navbar-collapse" ng-class="!navCollapsed && 'in'"
ng-click="navCollapsed = true">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="/"> diyActive </a></li>
<li class="dropdown" uib-dropdown on-toggle="toggled(open)">
<a href class="dropdown-toggle" uib-dropdown-toggle role="button"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Quick links <span class="caret"></span>
</a>
<ul class="dropdown-menu" uib-dropdown-menu role="menu">
<li role="menuitem">
<a href="https://github.com/reelyactive/" target="_blank">
reelyActive on GitHub
</a>
</li>
<li role="menuitem">
<a href="https://www.npmjs.com/~reelyactive" target="_blank">
reelyActive on npmjs
</a>
</li>
<li role="separator" class="divider"></li>
<li role="menuitem">
<a href="https://www.reelyactive.com" target="_blank">
reelyActive website
</a>
</li>
<li role="menuitem">
<a href="https://getpareto.com" target="_blank">
Pareto by reelyActive
</a>
</li>
<li role="separator" class="divider"></li>
<li role="menuitem">
<a href="https://shop.reelyactive.com" target="_blank">
Our online store
</a>
</li>
<li role="menuitem">
<a href="https://reelyactive.com/blog/" target="_blank">
Our blog
</a>
</li>
</ul>
</li>
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
<h1>
The Reel Architecture and Protocol <br>
<small> Daisy-chaining sensors using standard network cables </small>
</h1>
<p> In 2012, we at <a href="http://www.reelyactive.com" target="_blank">reelyActive</a> introduced the reel, a novel concept which allows sensors to be quickly and easily daisy-chained using standard network cables which provide both power and communications. Based on the co-founders previous experience with wireless RFID readers and camera infrastructure deployments <i> — power and networking were always the primary point of failure — </i> the reel was designed to deliver both power and communications reliably and cost-effectively over a single, ubiquitous cable. </p>
<img src="images/reel.jpg" class="img-responsive"> <br>
<p> In 2013, we chose to publish, <i>rather than patent,</i> the reel concept. Our scientific article <a href="http://ieeexplore.ieee.org/document/6758528/" target="_blank">Towards a Simple, Versatile, Distributed Low-Power Wireless M2M Infrastructure</a> was presented at the 1st IEEE M2MCIP Workshop in Sydney, Australia. We'll spare the scientific details here and instead focus on the practical aspects of deployment and integration of the reel. </p>
<blockquote> The name reelyActive is indeed a combination of <i>reel</i> and <i>active</i> — the latter referring to <i>active</i> radio-frequency identification. </blockquote>
<h2> The ubiquitous "network" cable </h2>
<p> The reel relies on a ubiquitous cable type consisting of four unshielded twisted pairs (UTP) of insulated wires with 8P8C plugs on either end. These are commonly generalised as "network" cables. Specifically, the reel requires the following: </p>
<ul>
<li> <a href="https://en.wikipedia.org/wiki/Category_5_cable" target="_blank">Cat5e</a> or equivalent cable
<li> <a href="https://en.wikipedia.org/wiki/Modular_connector#8P8C" target="_blank">8P8C</a> <i>(colloquially — but unofficially — RJ45)</i> plugs following the <a href="https://en.wikipedia.org/wiki/TIA/EIA-568#T568A_and_T568B_termination" target="_blank">T568B wiring scheme</a>
</ul>
<p> Indeed, "network cables" rolls off the tongue much better than "Cat5e with T568B 8P8C plugs", and the following image should provide clarity. </p>
<img src="images/reel-cable-breakout.jpg" class="img-responsive">
<div class="well">
<h1 class="text-center">
Reel ≠ PoE <br>
<small> It's not Power over Ethernet. </small> <br>
<small> It's not even Ethernet! </small>
</h1>
<p> While the reel is <i>inspired</i> by PoE Alternative B (power over spare-pairs), it in fact uses RS-422 rather than Ethernet and supports voltages between 5VDC and 45VDC as we'll detail below. Should you accidentally connect a reelceiver to standardised PoE power sourcing equipment (PSE) <i> — it happens! — </i> rest assured that both devices are designed to fail-safe. </p>
</div>
<h3> Power pairs </h3>
<p> The blue and brown pairs carry power from a <i>single</i> source to all devices on the reel. The blue pair is positive and the brown pair is negative. <i>"Brown is ground"</i> can be a helpful mnemonic. </p>
<table class="table table-bordered table-striped">
<caption> REEL POWER SPECIFICATION </caption>
<thead>
<th> Condition </th>
<th> Voltage </th>
<th> Max reel length </th>
</thead>
<tbody>
<tr>
<td> Minimum operational potential across blue-brown </td>
<td> 5VDC </td>
<td> Several metres </td>
</tr>
<tr>
<td> Recommended potential across blue-brown </td>
<td> 24VDC </td>
<td> >100m <i>(observed)</i> </td>
</tr>
<tr>
<td> Maximum operational potential across blue-brown </td>
<td> 45VDC </td>
<td> >1km <i>(theoretical)</i> </td>
</tr>
<tr>
<td> Absolute maximum potential across blue-brown </td>
<td> 60VDC </td>
<td> N/A <i>(non-operational)</i> </td>
</tr>
</tbody>
</table>
<p> Applied (non-transient) potential above 60VDC may damage the devices on the reel. </p>
<h4> Recommendations </h4>
<ul>
<li> check each cable for compliance with T568B
<li> check each cable for isolation between blue and brown pairs
<li> use a certified power supply from an established vendor with:
<ul>
<li> over voltage protection
<li> over current protection
<li> short circuit protection
</ul>
</ul>
<h3> Communications pairs </h3>
<p> The orange and green pairs carry balanced serial communications from reel to hub and from hub to reel, respectively. Communication respects the <a href="https://en.wikipedia.org/wiki/RS-422" target="_blank">RS-422</a> technical standard which provides reliable differential signalling over long distances. </p>
<h4> Recommendations </h4>
<ul>
<li> check each cable for compliance with T568B
<li> limit the length of any single cable in the reel to 100m
</ul>
<p> Should you intend to push the limits of RS-422, <a href="http://www.ti.com/lit/an/slla070d/slla070d.pdf" target="_blank">this TI Application Report</a> will likely prove helpful. </p>
<h2> Reel architecture </h2>
<p> The following diagram illustrates the reel architecture for two daisy-chained reelceivers. </p>
<img src="images/reel-architecture.png" class="img-responsive">
<h3> Reel communication architecture </h3>
<p> The above diagram illustrates the following: </p>
<ul>
<li> each reelceiver acts as a RS-422 repeater for communication in each direction
<li> communication from hub to reel (green pair) is broadcast to all reelceivers simultaneously
<li> communication from reel to hub (orange pair) is processed by each reelceiver in turn
</ul>
<h3> Reel power architecture </h3>
<p> The above diagram illustrates how power is routed from reelceiver to reelceiver (blue and brown pairs), passing through a filter at each. The filter is a passive circuit providing: </p>
<ul>
<li> high-frequency noise reduction
<li> voltage spike suppression
<li> EMI absorption
</ul>
<h2> Serial interface </h2>
<p> Because it uses asynchronous serial communication, the reel can communicate with almost any computer serving as a hub or gateway. Any computer with a UART, which includes even the simplest 8-bit microcontrollers, can communicate with the reel. The serial communication parameters are as follows: </p>
<table class="table table-bordered table-striped">
<caption> REEL SERIAL COMMUNICATION PARAMETERS </caption>
<thead>
<th> Parameter </th>
<th> Value </th>
</thead>
<tbody>
<tr>
<td> Bit rate </td>
<td> 230400 bps </td>
</tr>
<tr>
<td> Data bits </td>
<td> 8 </td>
</tr>
<tr>
<td> Parity </td>
<td> None </td>
</tr>
<tr>
<td> Stop bits </td>
<td> 1 </td>
</tr>
</tbody>
</table>
<p> If the host computer natively supports RS-422 and/or RS-485, interfacing is as simple as connecting the orange and green pairs to the RX and TX terminals respectively. The orange pair should be terminated with a 100 Ohm resistor (across the pair). </p>
<p> If the host computer has but a UART, a simple interface circuit consisting of a single active and passive component is required, for example the following. </p>
<h3> SN65HVD379 reel interface </h3>
<p> Microcontrollers which support 3.3V I/O can connect to the reel with the following circuit comprising a <a href="http://www.ti.com/product/SN65HVD379" target="_blank">TI SN65HVD379</a> and a 100 Ohm resistor. </p>
<img src="images/reel-SN65HVD379-interface.png"
class="img-responsive"> <br>
<p> A reference design of this circuit, <a href="https://upverter.com/reelyActive/2496e3e56d134520/t2-reel-module/" target="_blank">t2-reel-module</a>, which interfaces with a <a href="make-a-tessel-hub.html" target="_blank">Tessel 2 hub</a>, is available as open hardware on Upverter, and can be easily adapted to other microcontrollers. Please <a href="http://www.reelyactive.com/contact/" target="_blank">let us know</a> if you do so we can share with the community! </p>
<h2> Reel packet decoding </h2>
<p> Our open source <a href="https://www.npmjs.com/package/barnowl" target="_blank">barnowl</a> middleware package interprets the reel packets which it outputs as JSON. </p>
<p> </p>
<h2> Don't give a hoot about hardware integration? </h2>
<img src="images/pareto-by-reelyactive.jpg"
class="img-responsive center-block"><br>
<p> Our Pareto platform combines the convenience of SaaS with plug-and-play hardware. Leave the hardware integration to us. </p>
<p class="text-center">
<a class="btn btn-primary" href="https://getpareto.com"
target="_blank" role="button"> Visit getpareto.com </a>
</p>
<hr>
<h2> What's next? </h2>
<p> Learn more about our barnowl middleware package, learn how to install a reel-to-USB or reel-to-IP starter kit, or return to the diyActive home page. </p>
<p class="text-center">
<a class="btn btn-default" href="barnowl-baby-steps.html"
role="button"> Barnowl Baby Steps </a>
<a class="btn btn-default" href="install-a-starter-kit.html"
role="button"> Install a Starter Kit </a>
<a class="btn btn-success" href="/"
role="button"> Return to diyActive </a>
</p>
</div>
</div>
</div>
<footer class="footer">
<a href="/"
uib-tooltip="Do-it-yourself with reelyActive"
tooltip-placement="left"> diyActive </a> |
<a href="https://www.reelyactive.com"
uib-tooltip="We believe in an open Internet of Things"
tooltip-placement="right">
© reelyActive 2017-2018
</a>
</footer>
</div>
</body>
</html>