Manual v1.7 – Nov 2017 © Utilivista Ltd. 2017 37
Appendix B – Network Protocol Information
B.1 - Method Used for Optimal Repeater Efficiency
For every logged input a node has an opportunity to transmit its sampled values every 15 minutes, which it will do if
the setting for reporting interval demands it to be sent, or if the buffer is approaching maximum capacity. A repeater
operates by remembering when a node may wake up to perform transmission and ensuring that it wakes up
momentarily beforehand in order to repeat the packets. Repeaters can be at one of two logical levels. Level 1 is a
repeater that is within direct range of the
Entranet
, while Level 2 means the path to the
Entranet
is via a Level 1
repeater. Each repeater therefore stores a list of nodes for which it is repeating packets. Normally the repeater is
completely powered down and waiting for the correct time to wake up for the next node transmission. At all times
where possible, the repeater will completely power down when it can. For example, if a Level 2 repeater forwards a
packet, then based on the packet size and the transmission bit-rate there is a physical minimum time at which a
response can possibly arrive back. During this time the repeater will power down.
In order for a node to register itself with a repeater, it is necessary to communicate with it outside of a
predetermined time window. To allow this, each repeater wakes up every 5 seconds and checks for 2 milliseconds
for the presence of a preamble signal of alternating 1's and 0's. If this is detected the
Entranet
is left on until either
a valid packet is received, or the preamble ends and no packet is received immediately afterwards. For a node to
transmit a packet at any time to a repeater, it simply has to transmit preamble for 5 seconds followed immediately
by the packet. This uses a large amount of power on the node, but is something that would not occur very often,
possibly no more than once. The repeater can operate this way continuously even from battery due to the very low
average power consumption this requires.
In Learn Mode (or when rerouting due to loss of communications), a node attempts to talk directly to the
Entranet
first. If this isn't possible then it attempts to register with a Level 1 repeater. Again, if this fails then it attempts to
register with a Level 2 repeater. Once communications are established, the acknowledgement from the
Entranet
will have the list of repeater IDs inserted into it. The node then remembers this path (in reverse) and inserts this
into the header of each packet it subsequently transmits in order to have the packet follow the learned route.
B.2 - Method Used for Mesh Routing
Each packet transmitted contains an optional ‘required route’. This is a list of 24-bit serial numbers of all the
repeaters that are required to pass the packet. Currently the list is two elements long, meaning that there can be at
most two repeaters between any node and the
Entranet
.
If no repeaters are required, then all the addresses in the list should be set to 0. If only one is required, then the first
element should be set to the required address and the remaining elements set to 0 and so on. The actual route
address is used to record the route a packet has actually taken, rather than its desired route.
The process of automatically learning a route between a node and the
Entranet
, or of bypassing a faulty repeater,
uses a combination of these tables along with the retry counter. When a node is first installed, it doesn’t have any
routing information and will always transmit the required and actual routes as zero. When the node sends a report,
if the
Entranet
is within range it will send a response as normal. However, each time the node sends a report and
doesn’t receive a response, the retry counter is incremented. There is a maximum number of retries that will be
attempted before the node gives up, which is programmable and would normally be 10.
Assuming the node and the
Entranet
are out of range, the node will transmit a packet and fail to hear any response.
However, if there is a repeater in range then the repeater will monitor these packets and wait until the retry counter
reaches 3. At that point it assumes that the node is unable to communicate with the
Entranet
and it should