• No results found

Development and Implementation of a Low Power Wireless Sensor Network

N/A
N/A
Protected

Academic year: 2021

Share "Development and Implementation of a Low Power Wireless Sensor Network"

Copied!
59
0
0

Loading.... (view fulltext now)

Full text

(1)

in Computer Engineering by

Niclas Bengtsson

Reg nr: LiTH-ISY-EX -- 07/4063 -- SE November 20, 2007

(2)
(3)

in Computer Engineering, Dept. of Electrical Engineering

at Link¨opings universitet by Niclas Bengtsson

Reg nr: LiTH-ISY-EX -- 07/4063 -- SE

Supervisor: Sten Sunnergren Dynalogic Systems AB

Examiner: Olle Seger

Link¨opings Universitet Link¨oping, November 20, 2007

(4)
(5)

Language

X English

Other (specify below)

Number of Pages 58 Type of Publication Licentiate thesis X Degree thesis Thesis C-level Thesis D-level Report

Other (specify below)

ISBN (Licentiate thesis)

ISRN: LiTH-ISY-EX -- 07/4063 -- SE Title of series (Licentiate thesis)

Series number/ISSN (Licentiate thesis)

URL, Electronic Version

http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-10295

Publication Title

Development and Implementation of a Low Power Wireless Sensor Network

Author

Niclas Bengtsson

Abstract

The wish to measure different environmental parameters, in for example office buildings, is getting more and more important in today’s society. Since the sensors should be easily deployed they need to be battery powered and communicate wireless. Furthermore the radio range must be extended because of the limited range on the free frequencies. This is where wireless sensor networks come in and extend the range by relaying the data through other nodes in the network, thereby extending the total range of the network.

The purpose of this thesis work is to develop a protocol for such a wireless sensor network, capable of delivering and relaying sensor data through the nodes of the network.

The protocol has been implemented in hardware also designed in this thesis. Tests of the network have been performed and the results have shown that the network works very well and fulfills all of the requirements. Furthermore the power consumption is only 15% of the required value. This thesis has produced a very good platform to use as a base for further development of a commercial product.

Keywords

(6)
(7)

the sensors should be easily deployed they need to be battery powered and communicate wireless. Furthermore the radio range must be extended be-cause of the limited range on the free frequencies. This is where wireless sensor networks come in and extend the range by relaying the data through other nodes in the network, thereby extending the total range of the network. The purpose of this thesis work is to develop a protocol for such a wireless sensor network, capable of delivering and relaying sensor data through the nodes of the network.

The protocol has been implemented in hardware also designed in this thesis. Tests of the network have been performed and the results have shown that the network works very well and fulfills all of the requirements. Furthermore the power consumption is only 15% of the required value.

This thesis has produced a very good platform to use as a base for further development of a commercial product.

(8)

Acknowledgement

I would like to thank the people at Dynalogic Systems for all the help and support throughout this work. I would also like to thank my examiner Olle Seger for all the help during the writing of this thesis.

At last but not least I would like to thank my family and friends for their support.

(9)

Abstract v

Acknowledgement vi

Abbreviations and Phrases xiii

1 Introduction 1

1.1 Background . . . 1

1.2 Purpose and Method . . . 1

1.3 Outline . . . 1

1.4 Requirements . . . 2

2 Wireless Sensor Networks 3 2.1 Introduction . . . 3

2.2 Applications . . . 4

2.3 Topology . . . 4

3 Basics of Radio Communication 5 3.1 Introduction . . . 5

3.2 Frequency-Shift Keying . . . 5

3.2.1 Gaussian Frequency-Shift Keying . . . 5

3.3 Preamble . . . 6

3.4 Manchester Encoding . . . 7

3.5 Free Frequency Bands . . . 7

3.6 Time Synchronisation . . . 7

3.6.1 Oscillator Drift . . . 8

4 Network Basics 9 4.1 Introduction . . . 9

4.2 Wait for Broadcast Before Send . . . 9

4.3 Time Schedule and Time Slots . . . 10

(10)

5 Protocol Specification 11

5.1 Introduction . . . 11

5.2 Physical Layer . . . 12

5.2.1 Packet Specification . . . 12

5.3 Medium Access Control Layer . . . 12

5.3.1 Node Identification . . . 13 5.3.2 Schedule . . . 13 5.3.3 Broadcasts . . . 15 5.3.4 Synchronization . . . 15 5.3.5 Scheduling Packets . . . 16 5.3.6 Collision . . . 16 5.3.7 Lost Connections . . . 16

5.3.8 Base Station Initialisation . . . 16

5.3.9 Base Station Work Loop . . . 17

5.3.10 Node Initialisation . . . 17

5.3.11 Node Work Loop . . . 17

5.4 Network Layer . . . 18

5.4.1 Acknowledge Packet . . . 18

5.4.2 Data Packet to Base Station . . . 19

5.4.3 Data Packet from Base Station . . . 19

5.4.4 Node to Node Data Packet . . . 20

5.4.5 Broadcast Packet . . . 20 5.4.6 Routing . . . 20 5.5 Application Layer . . . 21 5.5.1 Base Station . . . 21 5.5.2 User Interface . . . 21 5.6 Other protocols . . . 22 5.6.1 ZigBee . . . 22

6 Design of the Printed Circuit Board 23 6.1 Introduction . . . 23 6.2 Components . . . 24 6.2.1 Processor . . . 24 6.2.2 Radio Circuit . . . 24 6.2.3 Temperature Sensor . . . 24 6.2.4 Base Station . . . 25 6.2.5 Other Components . . . 25

6.3 Printed Circuit Board . . . 25

6.3.1 Design of the PCB . . . 25 6.3.2 Antenna . . . 27 6.4 Power Requirement . . . 28 6.4.1 Radio Circuit . . . 28 6.4.2 Temperature Sensor . . . 28 6.4.3 Micro Controller . . . 28 6.5 Software . . . 28 viii

(11)

7.1 PCB Testing . . . 31

7.2 First Application . . . 32

7.3 University Building . . . 32

7.4 Roadside Test . . . 33

7.5 Current Consumption . . . 33

7.5.1 Calculated Current Consumption . . . 34

7.5.2 Measured Current Consumption . . . 35

7.5.3 Calculated Node Life . . . 36

8 Conclusions and Future Work 37 8.1 Introduction . . . 37 8.2 Conclusions . . . 37 8.3 Test Results . . . 37 8.4 Future Work . . . 38 References 39 Appendix 41 A Hardware Figures 41

(12)

List of Tables

5.1 Physical Packet. . . 12

5.2 Payload. . . 13

5.3 24bit Schedule Timer. . . 13

5.4 Broadcast Schedule . . . 15

5.5 Base Station Work Loop. . . 17

5.6 Node Work Loop. . . 17

5.7 General Packet. . . 18

5.8 Packet Types . . . 18

5.9 ACK Packet. . . 19

5.10 Data to Base Station Packet. . . 19

5.11 Data Packet from Base Station. . . 19

5.12 Node to Node Data Packet. . . 20

5.13 Broadcast Packet. . . 20

5.14 A row in the Routing Table. . . 21

6.1 Power Requirement of nrf905 . . . 28

6.2 Power Requirement of ATmega1281 . . . 28

7.1 The Nodes Relay Levels in the University Test . . . 34

7.2 Power Consumption per Circuit . . . 34

7.3 Calculated Current Consumption . . . 35

7.4 Measured Current Consumption . . . 36

(13)

2.1 Wireless Sensor Network Architecture . . . 3

3.1 Frequency Shift Keying . . . 6

3.2 Manchester Encoding . . . 7

5.1 Protocol Layers . . . 11

5.2 Time Cycle . . . 14

5.3 User Interface . . . 21

6.1 The Size of a Node. . . 23

6.2 The Base Station . . . 25

6.3 Schematic . . . 26

6.4 Component Placement . . . 27

6.5 A Two Layer PCB . . . 27

7.1 Real Time Oscillator Patch . . . 31

7.2 Bottom Floor . . . 32

7.3 Top Floor . . . 33

A.1 Top Layer of the PCB . . . 41

A.2 Bottom Layer of the PCB . . . 41

A.3 Geometry of the Loop Antenna. . . 42

A.4 The Top View of the PCB . . . 43

(14)

Abbreviations

ACK Acknowledgement CRC Cyclic redundancy check

DECT Digital Enhanced Cordless Telecommunications FIFO First In First Out

ID Identification

ISM Industrial Scientific Medicine LED Light Emitting Diode LSB Least significant bit MAC Medium Access Control MCU Micro Controller Unit MSB Most significant bit PPM Parts per million RF Radio Frequency

RISC Reduced Instruction Set Computer USB Universal serial bus

WSN Wireless Sensor Network

Phrases

ATmega A microcontroller with risc architecture from atmel Node level Number of hops to the base station

Time cycle The cycle that the schedule constantly runs Time slot The time cycle is divided in several time slots Sub time slot The time slot is divided into sub time slots

(15)

Introduction

1.1

Background

The background to this thesis work was the wish to measure different en-vironmental parameters in for example office buildings. Since the sensors should be easily deployed they need to be battery powered and communicate wireless. Since the radio range on the free frequencies is shorter than the re-quired range it must be extended in some way. This is where wireless sensor networks come in and extend the range by relaying the data through other nodes in the network, thereby extending the total range of the network. The communications must be defined in a protocol, which will be presented in this thesis.

1.2

Purpose and Method

The purpose of this thesis work is to develop a protocol for a wireless sensor network and analyse its performance. To analyse the protocols performance the protocol has been implemented on hardware specially designed for this thesis. This network will be measuring temperature.

The goal is to demonstrate a fully functional network that shows that the protocol works as specified.

1.3

Outline

This report will first present some basic theory and then present the protocol followed by the hardware design. Then the report will continue with the tests and measurements and at last the conclusions will be presented.

(16)

2 Chapter 1. Introduction

1.4

Requirements

These are the requirements that were the beginning to this thesis. The re-quirements were specified in cooperation with Dynalogic Systems AB and with different temperature measuring products in mind.

1. Every node shall have a temperature sensor.

To test the protocol the nodes need to produce sensor data. Since tem-perature sensors are common, temtem-perature measurement was chosen for the application.

2. The nodes shall consume less than 1mA in average during one hour. The nodes must be able to live at least a couple of months since it will be impractical to change batteries all the time. In that case it would be easier to have wired communications instead.

3. Every node shall have a unique ID.

4. The base node shall have a USB interface.

The USB interface is used to communicate with a PC. The PC will show the reported values of every connected node in a user interface.

5. The nodes shall be able to relay data.

Due to the limited radio range the nodes must be able to deliver their data through other nodes, called relaying, when they do not have direct contact with the base station.

6. The system shall use license-free frequencies.

Radio communication is regulated and there are only a couple of fre-quency ranges that are allowed to use without permission.

7. A new node shall automatically join the network.

It shall not be required to do any configuration when a new node is added.

8. The protocol shall be implemented in an ATmega microcontroller. This is a design requirement. ATmega is a RISC based microcontroller made by Atmel.

(17)

Wireless Sensor Networks

2.1

Introduction

Wireless Sensor Networks (WSN) are built up of wireless devices that coop-eratively monitor its surrounding. Every node often has at least one sensor to measure, for instance temperature, pressure, motion, power consumption or pollutants. Since every node communicates wireless with the other nodes, the nodes can be spread over a large area. The demand for WSN came orig-inally from the military that used them to monitor battlefields. WSNs have also been used in civilian applications for several years.[6]

Figure 2.1: Wireless Sensor Network Architecture

The nodes are in addition to the sensor normally also equipped with a ra-dio circuit, a microcontroller and some sort of power source. Since the nodes need very little power to run a small battery is often used. Even solar panels are used in some WSNs.

(18)

4 Chapter 2. Wireless Sensor Networks

The disciplin Wireless Sensor Networks is a very active research area and there are several conferences arranged each year. For example the European conference on Wireless Sensor Networks1 and the International Conference on Networked Sensing Systems2.

2.2

Applications

Wireless Sensor Networks are used in many applications both commercially and industrially where it is difficult or expensive to use wired communica-tions. For example if you need to measure some environmental variable in an area where there is no infrastructure the nodes can be dropped from an air-plane and automatically form a network. This results in a cheap deployment and a large area covered in comparison with a network consisting of wired communications.

2.3

Topology

Since every node may not be in radio range of the base station which collects the measured data, the nodes need to send their measured data through the nodes that are closer to the base station. Every node will not just measure data but also act as a relay node for the other nodes that are further away from the base station.

1http://www.ewsn.org

(19)

Basics of Radio

Communication

3.1

Introduction

This chapter will explain how radio communication work and present the terms that will be used later in this thesis. We will only present the methods of radio communication that has been used in this thesis.

3.2

Frequency-Shift Keying

Frequency-Shift Keying (FSK) is a form of frequency modulation that shifts between predetermined frequencies as can be seen in Figure 3.1. The first graph shows the data bits and the second one the carrier frequency. In the third one we see the signal transmitted from the antenna. A binary 0 in the data signal is represented by a negative frequency deviation and a binary 1 is represented by a positive frequency deviation.

3.2.1

Gaussian Frequency-Shift Keying

Gaussian Frequency-Shift Keying (GFSK) is a frequency shift keying mod-ulation that uses a Gaussian filter to smooth positive/negative frequency de-viations. Before the frequency shift keying the data signal is filtered by a Gaussian filter. This results in a smoother pulse which limits the spectral width of the signal and increases the spectral efficiency [5].

(20)

6 Chapter 3. Basics of Radio Communication

Figure 3.1: Frequency Shift Keying

a) Data signal, b) Carrier Frequency, c) The Modulated Signal

The radio circuit used in this thesis uses Gaussian Frequency Shift Keying as the modulation for sending data wireless. The radio circuit is described in Chapter 6.2.2.

GFSK is also used in DECT and Bluetooth.

3.3

Preamble

To synchronise the operating frequency of the receiver’s RF circuit with the transmitters circuit each data packet needs to have a synchronisation sequence at the start of the packet. This sequence is called preamble.

The preamble is a predetermined sequence that has several 0 to 1 shifts that is represented by frequency shifts so it is easy to synchronize the fre-quency of the two radio circuits that are communicating.

(21)

Since the receiver detects frequency shifts the data that should be sent can not contain long sequences of just 1 or 0. Therefore the bit stream will be Manchester encoded to remove such sequences. An example of manchester encoding can be seen in Figure 3.2.

Figure 3.2: Manchester Encoding

3.5

Free Frequency Bands

It is only allowed to use certain frequency bands without permission from ’Post och TeleStyrelsen’, an institution that controls the radio communication for the Swedish government.

The 433.05 - 434.79 MHz band is an Industrial, Scientific and Medical (ISM) band that is free to use in Sweden if the sending effect is limited to maximum 25mW [2]. That specific band is also free to use in region 1 which includes Europe, Africa, parts of Middle East and former Soviet Union1.

3.6

Time Synchronisation

Since the nodes follow a time schedule every node must be able to synchro-nise its time. This will be made with the extra space in the acknowledge packets as will be described in Chapter 5.3 the Media Access Control layer.

(22)

8 Chapter 3. Basics of Radio Communication

3.6.1

Oscillator Drift

Oscillator drift is the name of the deviation from the oscillator’s nominal frequency. This is often measured in parts per million (ppm) and gives the missing or additional oscillations of 1 million oscillations in the nominal fre-quency. The drift is often temperature and pressure dependent.

Examples of how much drift different ppm gives: • 1ppm gives a 1 second error every 11.6 days. • 100ppm gives a 1 second error every 2.78 hour.

(23)

Network Basics

4.1

Introduction

Two approaches to build a wireless sensor network will be presented in this chapter. Both methods are own ideas that have been verified and improved by the help of Protocols and architectures for wireless sensor networks[6].

Since the nodes will be battery powered they will not be able to listen for communications all the time. However the nodes must still be able to get in contact with eachother and therefore we need a solution to this network connection problem.

4.2

Wait for Broadcast Before Send

A solution to the network connection problem is to have the base station to always listen and to send broadcasts from time to time. When a node has something to send it starts to listen for a broadcast. When it eventually hears a broadcast it sends the packet to the node that sent the broadcast.

Every node wakes up and sends a broadcast from time to time so that other nodes that do not hear the base station can send their packets to this node and the packet is then forwarded to the base station.

Pros

• No time synchronizations are needed

• The bandwidth can be better used since the nodes do not need to be synchronized.

(24)

10 Chapter 4. Network Basics

Cons

• Nodes can be listening long times before they hear a broadcast • Still needs a timer to know when to wake up

• The delay for packets that travels past several nodes will not be pre-dictable.

4.3

Time Schedule and Time Slots

Another solution to the network connection problem is to have time cycles divided up in fixed time slots so that every node has its own time slot. When a new node joins the network, it waits for time synchronization. When the time synchronization arrives the node starts following the time schedule. The base station sends a broadcast with time info every time cycle and the nodes send broadcasts about every 10th cycle.

Pros

• No long listening times [6] Cons

• Time synchronizations must be sent even if no data is sent because of the high demands of synchronized clocks

4.4

Choice

In this thesis the later approach will be implemented and used since the net-work will need to have some sort of schedule for the temperature measures anyway. The network must be able to handle several levels of nodes and the first approach have unpredictable delays because there are no schedule to follow which is quite bad.

(25)

Protocol Specification

5.1

Introduction

The protocol is divided into four layers, which are the physical, medium ac-cess control (MAC), network and application layers. The four layers can be seen in Figure 5.1.

Figure 5.1: Protocol Layers The Layers and their responsibility:

• The Physical Layer handles the communication from node to node. • The Medium Access Control Layer handles the schedule for

transmit-ting and receiving data packets.

• The Network Layer handles the routing of data packets. • The Application Layer produces the data that should be sent.

(26)

12 Chapter 5. Protocol Specification

5.2

Physical Layer

The radio circuit adds predefined fields to the data that is transmitted. Since it is not possible to alter these fields, the protocol needs to be adjusted to include these fields as illustrated in Table 5.1.

5.2.1

Packet Specification

The physical packet consists of four different fields, see Table 5.1, which are Preamble, Receiver Address, Payload and Cyclic redundancy check (CRC). The radio circuit adds all fields except the payload which contains the data from the MAC layer as illustrated in Table 5.2.

The radio circuit is called nRF905 and will be presented in Chapter 6.2.2.

10bit 24bit 64bit 8bit

Preamble (nRF905) Receiver Address (nRF905) Payload (Table 5.2) CRC (nRF905)

Table 5.1: Physical Packet. The fields in the physical packet:

• The preamble is used to synchronize the sender and receiver’s frequen-cies, see Chapter 3.3 for more information about preamble.

• The Receiver Address is used by the radio circuit to recognize the data destined for that specific node. It is used to filter out other communica-tions on the same frequency. The radio circuit also uses this address to identify the start of a packet. Since there is only one node listening at a time the receiver is chosen by the schedule described in Chapter 5.3.2. • The payload contains the data from the MAC layer which is described

in Chapter 5.3.

• The Cyclic Redundancy Check (CRC) is a simple checksum calculated in the radio circuit. It is used to verify that the received packet has not been broken.

5.3

Medium Access Control Layer

The Medium Access Control Layer (MAC) decides when each node should transmit and receive data. Since the nodes sleep most of the time, packets must be sent the short time interval when the receiving node is listening.

(27)

Transmitter Address Message ID Packet Type Transmitter Node ID Receiver Node ID Application Data

MAC Layer Network Layer Application Layer

Table 5.2: Payload.

5.3.1

Node Identification

Every node needs an identification (ID) that must be unique in the network. Therefore each node is assigned an ID when it is programmed. The IDs are one byte long because of the 8-bit architecture of the processor. Node IDs are also used by the base station to know which node the reported measurement data comes from.

5.3.2

Schedule

To be able to fulfil requirement two, the power requirement in Chapter 1.4, the nodes can not constantly listen for communications. To transmit data the node must know when the receiving node is listening. Therefore all nodes follow a schedule that defines when each node listen, sleep or transmit data. Schedule timer

The schedule will be based on a 24 bit timer that is divided into 3 parts as illustrated in Table 5.3. The first part is called Sensor Schedule and is used to schedule sensor measurements. Next part is called Time Slot Counter and is used to schedule the transmitting and receiving of the nodes. Each step in the Time Slot Counter will be dedicated to a specific node and these slots will be called time slots. Node 1 listens on time slot 1 and node 2 listens on time slot 2 and so on. The lowest part is used to determine the position in the current time slot and is called Time Slot Position Counter. The Slots are each 8bits long because of the 8bit processor architecture.

1byte 1byte 1byte

Sensor Sched-ule

Time Slot Counter

Time Slot Po-sition Counter Table 5.3: 24bit Schedule Timer.

Time Slots

There are 256 time slots because the Time Slot Counter is one byte. 16 of those time slots are needed for broadcasts as will be explained later. This will

(28)

14 Chapter 5. Protocol Specification

give us a maximum of 240 time slots that can be used by nodes and since ev-ery node needs at least one time slot there can at most be 240 nodes including the base station. This can be seen in Figure 5.2.

Time Slot 00 01 02 ... EF F0 F1 ... FF

Data communication Broadcasts 240 Time Slots 16 Time Slots

Figure 5.2: Time Cycle

The Schedule timer is clocked with 4096Hz so that the whole time cycle, illustrated in Figure 5.2, is:

256∗256

4096Hz = 16 seconds.

Since there are 256 time slots we divide the time with 256 to get the time for each time slot:

256

4096Hz = 0.0625 seconds.

The bit rate is specified as 20kbit per second and that will give us: [8] 20kbits/second *16seconds256slots = 1250 bits/slot.

That bit per slot rate will give us: 1250bits/slot

8∗8bytes/package= 19.5 packets/slot.

The calculations show that 19 packets can be transmitted per time slot. Since each packet needs to be acknowledged by the receiver there will only be 8 data packets and 8 acknowledge packets per time slot.

(29)

Nodes should join the network when they get in contact with any other node in the network according to requirement 7 in Table 1.4. For this broadcasts are used.

Broadcasts are sent from every node so that new nodes can get introduced to the network. The broadcasts are sent in order by node level, as can be seen in Table 5.4. First the base station, then the nodes nearest to the base station, then the next level and so on. Since the broadcasts are sent in this order the nodes will always choose the node nearest to the base station to send their packets through. The node level broadcasts are divided in several time slots so that if there are several nodes in the same level they will not send at the same time. What time slot the node sends on are randomly chosen each time cycle.

Time Slot F0 F1 .. F6 .. FA .. FD .. FF

Node BS L1 .. L2 .. L3 .. L4 .. L5+

BS = Base Station, Lx = Node in Level x Table 5.4: Broadcast Schedule

The number of time slots per level is decreasing since the further out in the network you come the less nodes will be in range since the nodes are fur-ther away from each ofur-ther.

If two nodes, on the same level and in the same radio range, choose the same time slot to send their broadcast there will be a collision. Therfore both broadcasts are lost. If there is a node listening for a broadcast at that specific time the node will either get a broadcast from another node in the same level as the other two nodes, get a broadcast from a node at another level or it will not get a broadcast this time cycle and will therefore continue listening for a broadcast.

5.3.4

Synchronization

Since all oscillators have a drift in frequency, as explained in Chapter 3.6.1, the nodes need to be synchronized to each other before the difference in time gets to big. The nodes get the schedule time from the broadcast it listens for to join the network. When the node is a member of the network it is synchronized by the acknowledge packet, as will be explained in Chapter 5.4.1, that is the response to every data packet. The time is synchronized from the base station and out to the nodes level by level. The nodes only adjust their own time if they receive synchronization from a node that is on a lower node level, which means that the node is closer to the base station.

(30)

16 Chapter 5. Protocol Specification

5.3.5

Scheduling Packets

The MAC layer has a FIFO buffer that contains the packets that should be transmitted. When a packet comes into the buffer the MAC layer checks what node the packet should be sent to. The Network Layer determines which node the packet should be sent to and the MAC Layer sends the packet in the re-ceiving node’s time slot. Since the rere-ceiving node is the only node listening in that time slot the packet does not need a receiver address. Therefore the overhead of the packet is reduced by removing the receiver field.

The only thing the MAC layer adds to the packet is its own Node ID so that the receiving node can respond with an acknowledge packet when the data packet is correctly received.

5.3.6

Collision

Collision is detected by the absence of the acknowledge packet and is handled with a random resend time.

The time slots are divided in 8 sub slots so that a node will not start to send in the middle of another nodes packet. The sub slots are long enough for a data packet and an acknowledge packet.

When a node has sent a packet it starts to listen for an acknowledge packet. If the node does not get the packet before the end of the current time slot the node will wait until the next time that this specific time slot occurs. The node will then send at a random sub time slot in that time slot to avoid another collision.

5.3.7

Lost Connections

If a node notices that its connection to the next hop node is lost it will first try to listen for broadcasts and if that fails it will drop its time schedule and start to listen in the whole time cycle.

5.3.8

Base Station Initialisation

When the base station is started it first listens for communication. If it does not hear anything it will start sending broadcasts so that the nodes will notice that a base station is in their radio range.

(31)

The base station is always active and listens for communication when it is not transmitting. When the base station receives a packet it answers it with an acknowledge packet. The base station work loop can be seen in Table 5.5.

Time slot What to do

0xF0 Send a broadcast

NODEID for next packet to be sent

Send packet

Else Listen for communication

Table 5.5: Base Station Work Loop.

5.3.10

Node Initialisation

When a node is started it starts to listen for broadcasts from the base station or other nodes. When it discovers a base station or another node it stops to listen and tries to contact the node it heard. After the node has got contact with the other node it puts the node in the routing table and starts to deliver data to the base station.

5.3.11

Node Work Loop

Time slot What to do

Broadcast Send a broadcast

Nodes own NODEID Wake up and listen for pack-ets

NODEID for next packet to be sent

Send packet

Else Sleep

Table 5.6: Node Work Loop.

When a node has got the timing info it starts to follow the schedule as can be seen in Table 5.6. It starts listening at its own time slot and sends a packet at the receiver’s time slot. Its own time slot is when the Time Slot Schedule Counter reaches the same value as the nodes ID. A new time slot is started every time the Time Slot Schedule Counter is incremented.

Every time cycle each node sends a broadcast, as explained in Chapter 5.3.3, so that nodes that do not hear the base station can join the network. When the node does not listen or send it sleeps to fulfil requirement 2 in Table 1.4.

(32)

18 Chapter 5. Protocol Specification

5.4

Network Layer

The Network Layer provides the function of sending data from source to des-tination so the application does not need to know anything about routing.

A general packet can be seen in Table 5.7 and the different packet types can be seen in Table 5.8.

4bit 4bit 8bit 8bit 5byte

Message ID Packet Type Transmitter Node ID

Receiver Node ID

Data

Table 5.7: General Packet.

• Message ID: Message identification to know what packet the ACK is for.

• Packet Type: Specification of the packet type.

• Node ID: Unique identification for every node. Specified in the MCU memory.

• Data: The data that is sent from the application. Packet

type

Name 0000 ACK packet

0001 Node to node data packet 0010 Data packet from base station 0011 Data packet destined for base station 1111 Broadcast packet

Table 5.8: Packet Types

5.4.1

Acknowledge Packet

When a packet is correctly received the node sends an acknowledge packet back to the sender. All packets are CRC checked in the radio circuit so broken packets are discarded there. Since the sender will not get an acknowledge-ment of the packets that are discarded the packets will be sent again.

The ACK packet as can be seen in Table 5.9 has some spare data space, which is used for time synchronisation. The Schedule Timer is sent with every ACK packet. The packet also contains the level of the node so the node does not sync its time with nodes that are further out in the network.

(33)

Message ID Packet Type Transmitter Node ID Receiver Node ID Schedule Timer Node Level Table 5.9: ACK Packet.

5.4.2

Data Packet to Base Station

4bit 4bit 8bit 48bits 8bits

Message ID Packet Type Transmitter Node ID

Data Hops

Table 5.10: Data to Base Station Packet.

Most packets will be destined for the base station and this type of packet will have its own packet type. The packet can be seen in Table 5.10.

Every packet has a field Hops that counts the number of nodes that the packet travels through. This field is used in the user interface to show the level of the node. It is also used to stop packet loops in the network. When the Hops counter reaches 10 the node knows that there has been a routing loop and the node will start to listen for broadcasts to get in contact with a node outside of the loop.

The value of 10 node levels is chosen as a trade-off between how many node levels that are practical and how fast routing loops should be handled. Since more than 10 node levels will not be practical that will be used as the limit.

5.4.3

Data Packet from Base Station

4bit 4bit 8bit 48bits

Message ID Packet Type Receiver Node ID

Data

Table 5.11: Data Packet from Base Station.

The base station needs to send out configuration messages to the nodes. To maximize the data size of those packets they are given an own packet type as can be seen in Table 5.11. Since all configuration packets are sent from the base station the Transmitter Node ID field is not required. This packet is specified for future use and was not used in this thesis.

(34)

20 Chapter 5. Protocol Specification

5.4.4

Node to Node Data Packet

The data packet, see Table 5.12, is for nodes that talk to other nodes. This packet is specified for future use and was not used in this thesis.

4bit 4bit 8bit 8bit 40bits

Message ID Packet Type Transmitter Node ID

Receiver Node ID

Data

Table 5.12: Node to Node Data Packet.

5.4.5

Broadcast Packet

The Broadcasts are explained in Chapter 5.3.3. The broadcast packet, illus-trated in Table 5.13, contains the Node ID of the sender so that the receiving node can know who sent the packet. The current timer value and node level are also sent with the packet so that the receiving node can synchronize its schedule timer and set its node level.

4bit 4bit 8bit 24bits 8bits

0000 Packet Type Transmitter

Node ID

Schedule Timer

Node Level

Table 5.13: Broadcast Packet.

5.4.6

Routing

If a node does not have direct contact with the base station it must send its packets through any other node it has contact with according to requirement 5 in Table 1.4. The problem is solved with a routing algorithm that depends on the routing table, see Table 5.14, and that all nodes listen in their own time slot.

Every node ID in the routing table is associated with a physical network address that is the node ID of the next hop for that node. The routing table contains the known node IDs and what physical network address that node’s packets should be sent to. If the node does not have direct contact with the other node it will have the node ID of the nearest node in the path as the net-work address in the routing table. The routing table also contains the message ID counters that are sent with each packet. If the Node ID and the Next Hop address are the same in the routing table the nodes have direct contact.

(35)

ID ID

1 byte 1 byte 1 byte 1 byte

Table 5.14: A row in the Routing Table.

5.5

Application Layer

This is the part that is sensor specific and will be the only thing that will differ between the different nodes. The sending of data to the network is schedule based so nodes automatically report their measurements to the base station.

5.5.1

Base Station

The Base Station is using a different application than the nodes so it can display the user interface and handle the incoming data. The user interface will be presented in Chapter 5.5.2.

5.5.2

User Interface

The user interface, illustrated in Figure 5.3, is a terminal emulator that the MCU will display the User Interface on.

---| Number of active nodes: 011 | 05:35 03 |

|---|

| Temperature Readings |

| Node Temp C RL NH Time | Node Temp C RL NH Time |

|--- --- --- --- ---|--- --- --- --- ---| | 008 | 03.00| 001 | 008 | 02:38 | 003 | 22.62| 001 | 003 | 05:34| | 004 | 22.75| 002 | 007 | 05:35 | | | | | | | 005 | 03.00| 001 | 005 | 05:34 | | | | | | | 010 | 03.00| 002 | 012 | 00:56 | | | | | | | 006 | 03.00| 001 | 006 | 05:34 | | | | | | | 012 | 03.00| 001 | 012 | 05:34 | | | | | | | 011 | 03.00| 001 | 011 | 05:34 | | | | | | | 001 | 22.75| 001 | 001 | 05:34 | | | | | | | 009 | 03.00| 001 | 009 | 05:34 | | | | | | | 007 | 03.00| 001 | 007 | 05:34 | | | | | | ---RL = Relay Level NH = Next Hop

RL = 001 means that the node has direct contact with the base station. The User Interface has been online for five and a half hour.

Figure 5.3: User Interface

The User Interface for this implementation can support up to 20 nodes. The column Node shows the node ID and the Temp C shows the latest

(36)

re-22 Chapter 5. Protocol Specification

ported temperature in Celsius. The next column is RL and it shows which level the node is located on and NH shows which the next hop for that node is. If the node is on level one it will have its own node number in this column. Finally we have the column Time which is the time stamp of the last received measure according to the timer in the upper right corner that shows how long the base station has been running. As can be seen in Figure 5.3 node 8 and 10 has reported in measurements but has not been alive for several hours.

5.6

Other protocols

5.6.1

ZigBee

Since the focus on this thesis was on developing an own protocol ZigBee was never an alternative. ZigBee also uses a higher frequency with a bigger fre-quency band. The higher frefre-quency have a poorer penetration through walls which is quite bad for this application.

ZigBee is the name of a protocol based on the standard IEEE 802.15.4. This standard features are listed here below. More information about ZigBee can be found on the ZigBee Alliances website1.

IEEE 802.15 TG4 FEATURES

• Data rates of 250 kbps, 40 kbps, and 20 kbps.

• Two addressing modes; 16-bit short and 64-bit IEEE addressing. • Support for critical latency devices, such as joysticks.

• CSMA-CA channel access.

• Automatic network establishment by the coordinator. • Fully handshaked protocol for transfer reliability. • Power management to ensure low power consumption.

• 16 channels in the 2.4GHz ISM band, 10 channels in the 915MHz I and one channel in the 868MHz band.

(37)

Design of the Printed Circuit

Board

6.1

Introduction

To test the protocol a network of several nodes have been constructed. The result can be seen in Figure 6.1.

Figure 6.1: The Size of a Node.

The nodes and the base station share the same hardware except that on the nodes some components are not mounted on the PCB. The reason for this is to reduce the development time and cost of the hardware.

(38)

24 Chapter 6. Design of the Printed Circuit Board

The hardware consists of a radio circuit (nrf905), a microcontroller (AT-mega1281), a temperature sensor (DS620) and for the base station also a USB controller (FT232). All components will be explained later in this chapter.

6.2

Components

6.2.1

Processor

The processor is the heart of the node. It will need to sample the sensor data and handle the radio communication. The ATmega1281 from Atmel was chosen because of its power save functions and the large memory, so the memory should not be a problem in the protocol development phase. The ATmega 1281 is an AVR processor with RISC architecture. [3]

6.2.2

Radio Circuit

The radio circuit should use a license free frequency according to requirement 6 in Table 1.4. The Radio circuit is the nRF905 which handles 433/868/915 MHz where 433 and 868 MHz are free to use in Sweden.

It has several good features like Shock burst, 4 channels in the 433 MHz band, no external filter, carrier detect for listening before sending, address match on incoming packets and automatic CRC. The preamble is 10bits long and takes 200µs [8]. It takes 650µs from standby mode to receive or trans-mit mode and 3ms from power-down mode to standby mode [8]. Because of the quite long time from power-down to standby the power-down will not be used. Furthermore the difference in current consumption is so small.

The 433Mhz band will be used because of the longer range and better penetration of walls due to the longer wavelength.

6.2.3

Temperature Sensor

Since the MCU has a 10-bit A/D converter it will be able to support most types of sensors. This is good for future needs.

There will be one temperature sensor on every node to fulfil requirement 1 in Table 1.4. Since the radio circuit has a supply voltage range from 1.9 to 3.6 Volts the temperature sensor must operate in the same range. Since most temperature sensors do not support so low supply voltages the choices were quite limited. DS620[7] from Maxim1 supports supply voltages from 1.7 to 3.5V.

(39)

The base station, as can be seen in Figure 6.2, has the same hardware as the other nodes and a USB contact to fulfil requirement 4 in Table 1.4. This node will use the FT232 circuit that uses the USB protocol to emulate a RS232 in the PCs OS. [4]

Figure 6.2: The Base Station

6.2.5

Other Components

Both the radio circuit and the MCU needs an external oscillator which is mounted on the PCB. The MCU is also equipped with an extra oscillator with a lower frequency to reduce the power consumption when the node is sleeping. For testing and debugging the board has been equipped with three Light Emitting Diodes (LED).

6.3

Printed Circuit Board

6.3.1

Design of the PCB

First a schematic, illustrated in Figure 6.3, was made. Since all components symbols where not available they were created when the schematic was de-signed.

When the schematic is finished a net list is created. The net list is a speci-fication of what pins are connected to each other. Before the design can begin all components will need to have a footprint. The footprint defines where the components pins will be connected to the PCB. After the net list and the foot-prints for the components are imported the components are placed as can be seen in Figure 6.4.

(40)

26 Chapter 6. Design of the Printed Circuit Board

(41)

Figure 6.4: Component Placement

After the components are placed it is time to route the wires. Since there are not that many wires, a two layer board, as illustrated in Figure 6.5, was used. The bottom layer also works as a ground plane so all routing was made on the top layer seen in Figure A.1 and the bottom layer seen in Figure A.2 was only used for crossing other wires. The size of the PCB was determined by the antenna size and the size of the battery pack as can be seen in Figure 6.1.

Figure 6.5: A Two Layer PCB

6.3.2

Antenna

The antenna for the radio circuit was provided from Nordic Semiconductor as a reference design [1] illustrated in Figure A.3. This antenna is a loop antenna with a T-match which is a cost and size optimal solution for small low cost nodes.

The capacitors C1,C2 and C3 are used to tune the antenna to the resonance frequency of 433MHz.

(42)

28 Chapter 6. Design of the Printed Circuit Board

6.4

Power Requirement

6.4.1

Radio Circuit

The power requirements for the radio circuit can be seen in Table 6.1. The power down mode has not been used because of the quite long wakeup time of 3ms against the 650µs from standby.[8]

Mode Power Requirement

Power down 2.5µA

Standby 12µA

RX 12.2mA

TX 30mA

Table 6.1: Power Requirement of nrf905

6.4.2

Temperature Sensor

Since the temperature sensor is a separate circuit, which communicates with the processor using I2C, the processor does not need to be active during the conversion. The conversion time for a 13bit temperature measurement is 200ms. The sensors current consumption under the measurement is 800µA and 2µA when it is in standby.[7]

6.4.3

Micro Controller

The Power Requirement for the microcontroller can be seen in Table 6.2.[3] The Power-save mode is used by the nodes during sleep.

Mode Power Requirement

Active 5mA

Idle 1mA

Power-save 10µA

Standby 70µA

Table 6.2: Power Requirement of ATmega1281

6.5

Software

(43)

AVR Studio2is a free program from Atmel for programming and simulating their AVR processors. In AVR Studio it is possible to do both the software writing and the programming of the hardware with an In Circuit Programmer.

6.5.2

WinAVR

WinAVR3is a software packet that contains a gnu cc compiler which is a free compiler for compiling C++ code for AVR processors. WinAVR is called directly by AVR Studio when compiling so there are no need for external batch files.

6.5.3

OrCAD

OrCAD4 is a program from Cadence for designing Printed Circuit Boards (PCB). It contains both the schematic part and the layout of the design.

2http://www.atmel.com/avrstudio/

3http://winavr.sourceforge.net/

(44)
(45)

Tests and Results

7.1

PCB Testing

Two nodes were first built. After the components were soldered to the PCB some initial testing was made. The results were very good and all compo-nents were working as planned.

The only change in the design was the oscillator for the schedule timer that needed a capacitive load to be stable in its oscillating frequency. These were mounted on the bottom of the PCB as can be seen in Figure 7.1.

(46)

32 Chapter 7. Tests and Results

7.2

First Application

A serial to serial terminal was built to test the radio circuit. It takes data from a terminal emulator running on a PC and sends it over the virtual serial port that the USB chip creates on the PC. The data is then packed into a packet and sent over the air. When the other node receives the packet it sends an acknowledge packet back to the sender and displays the data on the terminal emulator that node is attached to. If a packet is lost in the transmission the sender resends the packet until it gets an acknowledge packet from the re-ceiver.

This application was further developed and optimized so that most parts of the code could be used in the real application.

7.3

University Building

The network was tested at Link¨opings University and the tests showed that the network works well in office buildings. In Figure 7.2 a part of the bottom floor of the B-house at Link¨opings University is shown with the base station and the nodes marked. Figure 7.3 shows the second floor of the same build-ing. All nodes are numbered so that they can be identified.

(47)

Figure 7.3: Top Floor

In Table 7.1 the relay levels for the nodes can be seen. All nodes that have relay level 1 have direct contact with the base station and the nodes on level 2 have contact with a node on level 1 and so on. Node 2 is used as the base station and is therefore left out of the numbering.

7.4

Roadside Test

A test to find the maximum distance between nodes was made at a long straight roadside outside of Link¨oping. The results showed that the range was around 30 meters which is about the same that has been measured in-doors. From this we can conclude that office walls do not affect the range more than a couple of meters at most.

7.5

Current Consumption

Due to the current consumption requirement in Table 1.4 the current must be calculated and verified by measurements. First the initial calculations will be presented and then the measurements will verify the calculations.

(48)

34 Chapter 7. Tests and Results

Node Relay Level

1 1 3 4 4 2 5 1 6 1 7 3 8 1 9 3 10 1

Table 7.1: The Nodes Relay Levels in the University Test

The current consumption is dependent on how many packets the node de-livers, so the nodes closer to the base station will have slightly higher current consumption than the nodes further away.

7.5.1

Calculated Current Consumption

The current consumptions of all the components, specified in Chapter 6.4, are listed in Table 7.2. The current consumptions have been divided in four modes which is sleep, receive, send and measure.

Sleep mode is when the node has nothing to do and therefore the com-ponents are in their respective power save mode. Receive mode is when the node listens and receives packets. Send mode is when the node transmits a packet and measure mode is when the node measures the temperature.

For each mode a total current consumption is calculated that will be used in Table 7.3.

Mode Radio mA MCU mA Sensor mA Total mA

Sleep 0.012 0.010 0.002 0.024

Receive 12.2 4.0 0.002 16.202

Send 30.0 4.0 0.002 34.002

Measure 0.012 0.010 0.800 0.822

Table 7.2: Power Consumption per Circuit

In Table 7.3 the average current is calculated from the usage percentage and current consumption of each mode. The usage percentage of each mode is calculated from the schedule described in Chapter 5.3.2 that every node follows.

(49)

cycle and every packet takes 1/16 of a time slot we get: 2

256∗16= 0.048%

The node listen one slot per time cycle which gives us: 1

256= 0.4%

The measurement takes 200ms and the time cycle is 16s long. This gives us:

0.2

16 = 1.25%

And the rest of the time the node will be in sleep mode: 100 - 0.4 - 0.048 - 1.25 = 98.302%

Every modes usage percentage is then multiplied with its current and the sum of all currents gives us our average current consumption.

Mode % of Time mA mA Sleep 98.302 0.024 0.02359 Receive 0.4 16.202 0.06481 Send 0.048 34.002 0.01632 Measure 1.25 0.822 0.01028 Total 100.0 0.11500

Table 7.3: Calculated Current Consumption

7.5.2

Measured Current Consumption

The actual current consumption of the node was measured to be able to verify the calculations. Since it is not possible to measure the current consumption of each component only the total consumption per mode is presented in Table 7.4.

The sleep and receive mode is easy to measure but the send mode re-quired special software. This software sends broadcasts all the time and the peak current consumption is measured to be around 27mA. There are varia-tions of ±1mA between the nodes so a more exact value can not be given. The measured value is lower than the specified value since the specified value is for a 16MHz oscillator and a 4MHz oscillator has been used in this design.

(50)

36 Chapter 7. Tests and Results

The measure mode is not possible to measure by itself so therefore the speci-fied value will be used.

When the node is in sleep mode it consumes 50µA. This is about twice compared to the calculations in Table 7.2. However this was expected since these calculations do not include the leak currents of the components and the current consumption of the passive components.

Mode % of Time mA mA Sleep 98.382 0.050 0.04915 Receive 0.4 16.0 0.06400 Send 0.048 27.0 0.01296 Measure 1.17 0.822 0.01028 Total 100.0 0.13639

Table 7.4: Measured Current Consumption

7.5.3

Calculated Node Life

The nodes are equipped with 2 AA batteries with 2000mAh and with an av-erage current consumption of 0.13639mA it will gives us:

2000mAh

0.13639mA= 14 664hours = 611 days

(51)

Conclusions and Future

Work

8.1

Introduction

This chapter will present the conclusions of the work and discuss what is needed to introduce this product to the market. At last some ideas for future work will be presented.

8.2

Conclusions

The measurements that can be found in Chapter 7 have shown that the proto-col works as intended and all requirements in Table 1.4 have been reached. A couple of companies have given their input of what is needed from the hard-ware and protocol to introduce the product to the market. Thoose ideas will be presented in Chapter 8.4.

8.3

Test Results

The network has been tested in different environments and the results are very good. As can be seen in the University Test in Chapter 7.3 the network works very well in an office environment.

The current consumption measurement in Chapter 7.5.2 shows that the current consumption is only 15% of the required value.

(52)

38 Chapter 8. Conclusions and Future Work

8.4

Future Work

Since the focus of this thesis was on the protocol and the time was limited all ideas could not been tested and implemented. These are the ideas that needs to be further examined before the product can be introduced to the market.

• Reduce the hardware complexity.

• Implement support for known external sensors. • Extend the radio range with a better antenna. • Encrypt the data that is transmitted in the network.

• Secure the network so that there can be several networks in the same area.

(53)

[1] nan900-04 - nrf905 rf and antenna layout. Technical report.

[2] Ptsfs 2004:8 post- och telestyrelsens f¨oreskrifter om undantag fr˚an tillst˚andsplikten f¨or vissa radios¨andare. Technical report.

[3] Atmel. ATmega640/1280/1281/2560/2561 datasheet, 2007. [4] FTDI chip. FT232 datasheet, 1.04 edition, 2006.

[5] Matthew Gast. 802.11 Wireless Networks: The Definitive Guide. Number ISBN: 0596100523. O’Reilly, 2005.

[6] Andreas Willig Holger Karl. Protocols and architectures for wireless sensor networks. Number ISBN: 0470095105. Chichester : Wiley, 2005. [7] Dallas Semiconductor Maxim. DS620 datasheet.

[8] Nordic Semiconductor. Single chip 433/868/915 MHz Transceiver nRF905, 1.4 edition, 2006.

(54)
(55)

Hardware Figures

Figure A.1: Top Layer of the PCB

(56)

42 Appendix A. Hardware Figures

Figure A.3: Geometry of the Loop Antenna. The Component Values for the Loop Antenna: • a1 = 35mm loop antenna length

• a2 = 20mm loop antenna width • d = 22.5mm feed length

• b = 1mm width of loop conductor • C1 = 3.9pF ± 0.1

• C2 = 6.8pF ± 0.1 • C3 = 4.7pF ± 0.1 • C4, C5 = 27pF

(57)

Figure A.4: The Top View of the PCB

(58)
(59)

under en l¨angre tid fr˚an publiceringsdatum under f¨oruts¨attning att inga extra-ordin¨ara omst¨andigheter uppst˚ar.

Tillg˚ang till dokumentet inneb¨ar tillst˚and f¨or var och en att l¨asa, ladda ner, skriva ut enstaka kopior f¨or enskilt bruk och att anv¨anda det of¨or¨andrat f¨or ickekommersiell forskning och f¨or undervisning. ¨Overf¨oring av upphovsr¨atten vid en senare tidpunkt kan inte upph¨ava detta tillst˚and. All annan anv¨andning av dokumentet kr¨aver upphovsmannens medgivande. F¨or att garantera ¨aktheten, s¨akerheten och tillg¨angligheten finns det l¨osningar av teknisk och administra-tiv art.

Upphovsmannens ideella r¨att innefattar r¨att att bli n¨amnd som upphovs-man i den omfattning som god sed kr¨aver vid anv¨andning av dokumentet p˚a ovan beskrivna s¨att samt skydd mot att dokumentet ¨andras eller presenteras i s˚adan form eller i s˚adant sammanhang som ¨ar kr¨ankande f¨or upphovsman-nens litter¨ara eller konstn¨arliga anseende eller egenart.

F¨or ytterligare information om Link¨oping University Electronic Press se f¨orlagets hemsida: http://www.ep.liu.se/

English

The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.

The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copy-right owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be men-tioned when his/her work is accessed as described above and to be protected against infringement.

For additional information about the Link¨oping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/

c

Niclas Bengtsson

References

Related documents

In paper IV, we tested behaviour in the open field on our advanced intercross line, finding that low fear score was associated with lower fearfulness in females in the open

Instead of the conventional scale invariant approach, which puts all the scales in a single histogram, our representation preserves some multi- scale information of each

Genom att använda sig av ett externt företag som ansvarar för logistik har landstinget kunna planera på ett bättre sätt då huvudentreprenören inte behöver åta sig för

A Sophia node has five core components in its implementation to incorporate functionalities of the information plane, namely, (1) a local database that holds terms that are used

connections to accounting practice. The accounting numbers both reflected and re-constructed time as based on the calendar and clock-time. Time construction could not be ignored, as

Lastly, a measuring of the current consumption and supply voltage was done for a Bitroot node prototype to compare with the theoretical power consumption values previously done

In this thesis we investigated the Internet and social media usage for the truck drivers and owners in Bulgaria, Romania, Turkey and Ukraine, with a special focus on

In conclusion, with the unmodified version, the Arduino Nano has an idle power consumption of 20.5mA and a optimal power saving mode (”Power Down Mode + ADC” mode) of around 4.9mA,