57
Wireless Sensor Network Protocol for Smart Parking Application Experimental Study on the Arduino Platform Ostiz L., Pita C., Doggen J.*, Dams T., Van Houtven P. *[email protected] September 25, 2012

Wireless Sensor Network Protocol for Smart Parking Application · Wireless Sensor Network Protocol for Smart Parking Application Experimental Study on the Arduino Platform Ostiz L.,

Embed Size (px)

Citation preview

Wireless Sensor Network Protocol for Smart

Parking Application

Experimental Study on the Arduino Platform

Ostiz L., Pita C., Doggen J.*,Dams T., Van Houtven P.*[email protected]

September 25, 2012

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

2/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

3/27

Wireless Sensor Networks

I A wireless sensor network is a set of small autonomous sensornodes which cooperate to solve a common application usingsome kind of perception of physical parameters.

4/27

Arduino Development Platform

I The Arduino development platformallow designers to develop electronicprototypes.

I The platform been gaining inpopularity over the last years.

I The open-source community has70000 registered users and anabundance of user submittedlibraries.

I Ease of use is the main selling point.

5/27

Arduino meets WSN: Why?

I Typical WSN application require:I Specialised software knowledge: e.g.

TinyOS, ContikiI Specialised hardware: TelosB,

Z-Wave, XBee, DASH7

I The Arduino platform provides:

I Many well-documented softwarelibraries for hardware interfacing

I A big existing user communityI Many options to share your own

hardware and software designs

I Question: “Can we build a competitiveWSN using the Arduino platform?”

6/27

Arduino meets WSN: Why?

I Typical WSN application require:I Specialised software knowledge: e.g.

TinyOS, ContikiI Specialised hardware: TelosB,

Z-Wave, XBee, DASH7

I The Arduino platform provides:I Many well-documented software

libraries for hardware interfacingI A big existing user communityI Many options to share your own

hardware and software designs

I Question: “Can we build a competitiveWSN using the Arduino platform?”

6/27

Arduino meets WSN: Why?

I Typical WSN application require:I Specialised software knowledge: e.g.

TinyOS, ContikiI Specialised hardware: TelosB,

Z-Wave, XBee, DASH7

I The Arduino platform provides:I Many well-documented software

libraries for hardware interfacingI A big existing user communityI Many options to share your own

hardware and software designs

I Question: “Can we build a competitiveWSN using the Arduino platform?”

6/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

7/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

8/27

Envisioned Application

9/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

10/27

Hardware Specifications

I Seeeduino development board: Atmel AVR ATmega328PI nRF24L01 wireless interface: Nordic SemiconductorI Sharp GP2Y0A21YK infra-red distance sensor

11/27

Arduino meets WSN: Sensing

I Our nodes are based on the Arduinocompatible Seeeduino board.

I Sensing:

I A sensor node detects cars in parkingspots using an IR distance sensor.

I The values coming from the distancesensors is interpreted using our ownsensor library.

I Multiple measurements are combined toconfirm the presence of a car.

12/27

Arduino meets WSN: Sensing

I Our nodes are based on the Arduinocompatible Seeeduino board.

I Sensing:I A sensor node detects cars in parking

spots using an IR distance sensor.

I The values coming from the distancesensors is interpreted using our ownsensor library.

I Multiple measurements are combined toconfirm the presence of a car.

12/27

Arduino meets WSN: Sensing

I Our nodes are based on the Arduinocompatible Seeeduino board.

I Sensing:I A sensor node detects cars in parking

spots using an IR distance sensor.I The values coming from the distance

sensors is interpreted using our ownsensor library.

I Multiple measurements are combined toconfirm the presence of a car.

12/27

Arduino meets WSN: Sensing

I Our nodes are based on the Arduinocompatible Seeeduino board.

I Sensing:I A sensor node detects cars in parking

spots using an IR distance sensor.I The values coming from the distance

sensors is interpreted using our ownsensor library.

I Multiple measurements are combined toconfirm the presence of a car.

12/27

Arduino meets WSN: Communication

I The radio module: nRF24L01 (NordicSemiconductor)

I Ultra low power 2.4GHz RF TransceiverI Approximately half the power of a typical

XBee RF Transceiver

I Only Physical layer on-chipI Partial Link-layer through an existing Arduino

library (RF24 by Maniacbug)I We implemented collision avoidanceI We implemented a cluster based Layer 3

protocol, very similar to the popular LEACHprotocol.

13/27

Arduino meets WSN: Communication

I The radio module: nRF24L01 (NordicSemiconductor)

I Ultra low power 2.4GHz RF TransceiverI Approximately half the power of a typical

XBee RF TransceiverI Only Physical layer on-chip

I Partial Link-layer through an existing Arduinolibrary (RF24 by Maniacbug)

I We implemented collision avoidanceI We implemented a cluster based Layer 3

protocol, very similar to the popular LEACHprotocol.

13/27

Arduino meets WSN: Communication

I The radio module: nRF24L01 (NordicSemiconductor)

I Ultra low power 2.4GHz RF TransceiverI Approximately half the power of a typical

XBee RF TransceiverI Only Physical layer on-chipI Partial Link-layer through an existing Arduino

library (RF24 by Maniacbug)

I We implemented collision avoidanceI We implemented a cluster based Layer 3

protocol, very similar to the popular LEACHprotocol.

13/27

Arduino meets WSN: Communication

I The radio module: nRF24L01 (NordicSemiconductor)

I Ultra low power 2.4GHz RF TransceiverI Approximately half the power of a typical

XBee RF TransceiverI Only Physical layer on-chipI Partial Link-layer through an existing Arduino

library (RF24 by Maniacbug)I We implemented collision avoidance

I We implemented a cluster based Layer 3protocol, very similar to the popular LEACHprotocol.

13/27

Arduino meets WSN: Communication

I The radio module: nRF24L01 (NordicSemiconductor)

I Ultra low power 2.4GHz RF TransceiverI Approximately half the power of a typical

XBee RF TransceiverI Only Physical layer on-chipI Partial Link-layer through an existing Arduino

library (RF24 by Maniacbug)I We implemented collision avoidanceI We implemented a cluster based Layer 3

protocol, very similar to the popular LEACHprotocol.

13/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

14/27

Arduino Libraries

I Arduino software libraries make it straightforward for anyone tostart embedded development.

I Used Arduino librariesI Sharp GP2Y0A21YK infra-red distance sensorI Maniacbug RF24 libraryI Low-Power library

I Developed Arduino librariesI Cluster network libraryI Detecting car libraryI Node energy library

15/27

Arduino Libraries

I Arduino software libraries make it straightforward for anyone tostart embedded development.

I Used Arduino librariesI Sharp GP2Y0A21YK infra-red distance sensorI Maniacbug RF24 libraryI Low-Power library

I Developed Arduino librariesI Cluster network libraryI Detecting car libraryI Node energy library

15/27

Arduino Libraries

I Arduino software libraries make it straightforward for anyone tostart embedded development.

I Used Arduino librariesI Sharp GP2Y0A21YK infra-red distance sensorI Maniacbug RF24 libraryI Low-Power library

I Developed Arduino librariesI Cluster network libraryI Detecting car libraryI Node energy library

15/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

16/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

17/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:

I CH selectionI Normal operation

18/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:

I CH selectionI Normal operation

18/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:

I CH selectionI Normal operation

18/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:

I CH selectionI Normal operation

18/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:I CH selection

I Normal operation

18/27

Low Energy Adaptive Cluster Hierarchy

(LEACH)

1. Divide the network in clusters

2. Election a temporary Cluster Head (CH)

3. The CH aggregates all sensor data andforwards it to the sink

I During operation we have two phases:I CH selectionI Normal operation

18/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Cluster Head Selection

1. CH broadcasts an Energy Request message.

2. SNs measure their energy level and send it to the CH.

3. CH collects replies and compares energy levels.

4. Node with the most energy is selected as the new CH.

5. CH broadcasts the new CH ID to all SNs.

6. SNs update the CH ID at the same time.

19/27

Sensing and Communication

I Sensor node:

1. Check for parking lot status change2. Send changes to the CH3. Go to sleep

I Cluster head:

1. Aggregate all sensor data.2. Forward data to the sink.3. Go to sleep

20/27

Sensing and Communication

I Sensor node:

1. Check for parking lot status change2. Send changes to the CH3. Go to sleep

I Cluster head:

1. Aggregate all sensor data.2. Forward data to the sink.3. Go to sleep

20/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

21/27

Experimental Study

Evaluation and solutions to practical problems.I Energy consumption

I Minimise energy consumption by maximising sleep timeI Power down external sensors

I Packet Loss RatioI Evaluation of packet loss ratio to ensure proper system operation

I SynchronisationI ATmega328P internal oscillator: significant error margin

between individual sensorsI Software based solution: recalibration in reference to CH

22/27

Experimental Study

Evaluation and solutions to practical problems.I Energy consumption

I Minimise energy consumption by maximising sleep timeI Power down external sensors

I Packet Loss RatioI Evaluation of packet loss ratio to ensure proper system operation

I SynchronisationI ATmega328P internal oscillator: significant error margin

between individual sensorsI Software based solution: recalibration in reference to CH

22/27

Experimental Study

Evaluation and solutions to practical problems.I Energy consumption

I Minimise energy consumption by maximising sleep timeI Power down external sensors

I Packet Loss RatioI Evaluation of packet loss ratio to ensure proper system operation

I SynchronisationI ATmega328P internal oscillator: significant error margin

between individual sensorsI Software based solution: recalibration in reference to CH

22/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

23/27

Future Work

I Further development of the proof-of-concept applicationI Server-side data managementI Mobile phone application to search for vacant parking spotsI Embedded display module for in-car placement

I Protocol enhancementI Better scalability and securityI Location aware cluster head selection

I Clean up the code and allow other people to use itI Better documentationI Easy and working examples

24/27

Future Work

I Further development of the proof-of-concept applicationI Server-side data managementI Mobile phone application to search for vacant parking spotsI Embedded display module for in-car placement

I Protocol enhancementI Better scalability and securityI Location aware cluster head selection

I Clean up the code and allow other people to use itI Better documentationI Easy and working examples

24/27

Future Work

I Further development of the proof-of-concept applicationI Server-side data managementI Mobile phone application to search for vacant parking spotsI Embedded display module for in-car placement

I Protocol enhancementI Better scalability and securityI Location aware cluster head selection

I Clean up the code and allow other people to use itI Better documentationI Easy and working examples

24/27

Outline

Introduction and Problem Statement

System DesignEnvisioned ApplicationHardware SpecificationsSoftware Libraries

WSN Protocol DesignSystem Operation

Experimental Study

Future Work

Conclusion

25/27

Conclusion

I We implemented an event-driven, hierarchical WSN clusteringprotocol with an energy-aware CH selection algorithm similar tothe LEACH protocol.

I We used Seeeduino development boards, nRF24L01 low-powerRF modules and Sharp IR distance sensors.

I Our synchronisation mechanism solves the problems caused bythe inaccuracy of the Arduino internal Timer.

I Preliminary measurement results show that the hardwarechoices were not optimal for this WSN Application.

I Although Arduino is easy to use as an experimentalopen-source platform, it is currently not the most appropriateplatform to develop low-power WSN applications.

26/27

Conclusion

I We implemented an event-driven, hierarchical WSN clusteringprotocol with an energy-aware CH selection algorithm similar tothe LEACH protocol.

I We used Seeeduino development boards, nRF24L01 low-powerRF modules and Sharp IR distance sensors.

I Our synchronisation mechanism solves the problems caused bythe inaccuracy of the Arduino internal Timer.

I Preliminary measurement results show that the hardwarechoices were not optimal for this WSN Application.

I Although Arduino is easy to use as an experimentalopen-source platform, it is currently not the most appropriateplatform to develop low-power WSN applications.

26/27

Conclusion

I We implemented an event-driven, hierarchical WSN clusteringprotocol with an energy-aware CH selection algorithm similar tothe LEACH protocol.

I We used Seeeduino development boards, nRF24L01 low-powerRF modules and Sharp IR distance sensors.

I Our synchronisation mechanism solves the problems caused bythe inaccuracy of the Arduino internal Timer.

I Preliminary measurement results show that the hardwarechoices were not optimal for this WSN Application.

I Although Arduino is easy to use as an experimentalopen-source platform, it is currently not the most appropriateplatform to develop low-power WSN applications.

26/27

Conclusion

I We implemented an event-driven, hierarchical WSN clusteringprotocol with an energy-aware CH selection algorithm similar tothe LEACH protocol.

I We used Seeeduino development boards, nRF24L01 low-powerRF modules and Sharp IR distance sensors.

I Our synchronisation mechanism solves the problems caused bythe inaccuracy of the Arduino internal Timer.

I Preliminary measurement results show that the hardwarechoices were not optimal for this WSN Application.

I Although Arduino is easy to use as an experimentalopen-source platform, it is currently not the most appropriateplatform to develop low-power WSN applications.

26/27

Conclusion

I We implemented an event-driven, hierarchical WSN clusteringprotocol with an energy-aware CH selection algorithm similar tothe LEACH protocol.

I We used Seeeduino development boards, nRF24L01 low-powerRF modules and Sharp IR distance sensors.

I Our synchronisation mechanism solves the problems caused bythe inaccuracy of the Arduino internal Timer.

I Preliminary measurement results show that the hardwarechoices were not optimal for this WSN Application.

I Although Arduino is easy to use as an experimentalopen-source platform, it is currently not the most appropriateplatform to develop low-power WSN applications.

26/27

Questions & Answers

27/27