IL222X SoC Master Thesis 5-Jan-2014
Final Report 3/69
KTH ICT School VHF/UHF Uplink Solutions for Remote Wireless Sensor Networks
KTH Royal Institute of Technology
VHF/UHF Uplink Solutions for Remote Wireless Sensor Networks
The purpose of this thesis was to compare alternative wireless links for transfer of data from sink motes of remote wireless sensor networks to a central repository. We discussed a few different protocol stacks to be implemented in the WSN uplink gateway and a few implementation environments based on open source software and low-power hardware. To facilitate measurements and experimental validation, some of the alternatives have been implemented. Experiments have been made using radio amateur frequencies, the 144 MHz band (VHF) and the 434 MHz band (UHF). The parameters studied include throughput, range, power-requirements, portability and compatibility with standards.
Alp Sayin
05 Jan 2014
Abstract
The purpose of this thesis was to compare alternative wireless links for transfer of data from sink motes of remote wireless sensor networks to a central repository. A few different protocol stacks to be implemented in the WSN (Wireless Sensor Network) uplink gateway and along with them a few implementation environments based on open source software and low-power hardware were discussed. To facilitate measurements and experimental validation, some of the alternatives have been implemented. Experiments have been made using two of the amateur radio bands, the 144 MHz band (VHF) and the 433 MHz band (UHF). The parameters studied include throughput, range, power-requirements, portability and compatibility with standards.
Using different protocol stacks, different bands and sometimes different hardware 5 solutions were designed, implemented, tested and experimented with. Namely these solutions are called Radiotftp, Radiotftp_process, Radiotunnel, Soundmodem and APRX in this thesis.
After the implementation phase, there was an open-field experimentation to measure the aforementioned parameters. The tests were conducted in Riddarholmen, Stockholm of Sweden. These open-field experiments helped us obtain real-life measurements about power, throughput, stability etc. Experiments were conducted in a range of from a minimum of 2 meters to a maximum of 2.1 kilometers with some of the solutions.
In the end, some of these solutions proved themselves to be viable for the purpose of data communications for remote wireless sensor networks. Radiotftp gave the best throughput in both bands where it proved itself to be difficult to develop further applications. Radiotftp_process removed the necessity for a Linux running gateway machine but it was unable to work with faster baud rates. Radiotunnel opened up the path for a range of network applications to use radio links, but it also proved that it was unstable. On the other hand Soundmodem and APRX which were based on standard and open-source software proved that they were stable but rather slow. It was proven that every approach to problem has its advantages and disadvantages from different aspects such as throughput, range, power-requirements, portability and compatibility.
Acknowledgements
First of all, I would like to thank my project supervisors Bjorn Pehrson and Robert Olsson. They were the first people to introduce me to this interesting branch of wireless communications. Before this project I -literally- had no idea such a world even existed. Being a radio amateur himself Bjorn was always there to introduce me to new topics and technologies about the project. I was getting new information almost every week and I am very thankful about it. On the other hand Robert always helped me about the technical details, he taught me to ‘hack’ into the stuff that I didn’t know about. Later on, I found out that this is the only tool that I’ll need in real life, whether it be research topics or company projects.
Secondly, I would like to thank my examiner Hakan Olsson for his extended patience and understanding during my last semesters. Although we couldn’t be in contact that much, I always felt his support and belief for my success.
Finally, since this is the documentation of the end of my Master’s studies, I would like to thank to all people who have somehow supported me during the years I’ve spent in Sweden. These people are my family and my friends.
Shortly I would like to mention their names; my parents, Meral Sayin and Erol Sayin who have supported me both financially and morally during my studies. They were the ones I held onto when I thought of quitting for a couple of times. My friends from Turkey; Melih Cinalioglu, Berkay Karatan, Berkay Balci and Burak Kilic, somehow they were always online whenever I needed an old friend to talk to. They were my online companions during the long nights of studies. My friends in Sweden; Moysis Tsamsakizoglou, Stefano Vignati, Theodor Stana, Bahar Palabiyik, Mert Karadogan and many more… In my belief without these people my Sweden experience would be a total disaster. I owe it to them for all the great times we had.
If I start writing all the names in my head, this part of the thesis would probably be longer than the thesis itself, so I stop here. But people who have helped me even a little should consider themselves thanked here with great gratitude.
All in all, I am very thankful to all the people who have somehow helped me or been there for me during these years. Even though this thesis has my name on it, I owe it to them, so I humbly present it to them.
Alp Sayin
May 2013
Table of Contents
Acknowledgements 2
Table of Contents 4
List of Figures 7
List of Tables 8
Abbreviations 9
Authors and Supervisors 10
1 Background 10
1.1 Wireless Sensor Network 10
1.2 Sensors 10
1.3 MCU and OS 11
1.4 Inter-Node Communication 11
1.5 Sink node and Gateway 11
1.6 Uplink 11
2 Problem Statement 12
3 Related Work 12
4 Goals 12
5 Thesis Structure 13
6 Method 13
7 Theoretical Framework 13
7.1 Physical Link 13
7.2 Data Link 14
7.3 Network Layer 14
7.4 Transport Layer 15
7.5 Application Layer 15
7.6 Hardware 16
7.7 Metrics 16
8 Design Decisions 17
8.1 Predefined Decisions 17
8.2 Physical Layer 17
8.3 Link Layer 18
8.4 Network Layer 18
8.5 Transport Layer 18
8.6 Application Layer 19
8.7 Hardware 20
9 Implementation Details 22
9.1 Radiotftp 22
9.2 Radiotftp_process 24
9.3 Radiotunnel 25
9.4 Soundmodem 27
9.5 APRS 31
10 Experiments 33
10.1 Experiment Plan 33
10.1.1 Experiments with radiotftp 33
10.1.2 Experiments with radio_tunnel & soundmodem 34
10.1.3 General Experiments with Bim2A and UHX1 35
10.1.4 General Experiments for UHX1 (Optional) 35
10.2 Environment and Logging 36
11 Results 38
12 Conclusions 41
13 Future Work 43
14 References 44
15 Appendix A 48
15.1 Sources 48
16 Appendix B 49
16.1 State Machines and Code Segments 49
17 Appendix C 55
17.1 Event Log Format 55
18 Appendix D 56
18.1.1 Data Collected in 144 MHz Experiments (UHX1) 56
18.1.1.1 Single Packet Transaction Experiments (127 Bytes) 56
18.1.1.2 Many Packet Transaction Experiments (2 Kbytes) 59
18.1.2 Data Collected in 434 MHz Experiments 62
18.1.2.1 Single Packet Transaction Experiments (127 Bytes) 62
18.1.2.2 Many Packet Transaction Experiments (2Kbytes) 63
19 Appendix E 66
19.1 Schematics and PCB Designs 66
List of Figures
Figure 1 Resulting branches in the project after design decisions 20
Figure 2 Resulting solutions after hardware decisions 22
Figure 3. System diagram for radiotftp solution 23
Figure 4 System diagram for radiotftp_process solution 24
Figure 5 Size footprint of Fibonacci application with radiotftp_process 25
Figure 6 System diagram for radio_tunnel solution 26
Figure 7 System diagram for soundmodem solution 27
Figure 8 Soundmodemconfig utility configuration options 28
Figure 9 Yaesu FT8900R Data port signals 28
Figure 10 Audio leveler and PTT controller card 29
Figure 11 Soundmodemconfig utility channel settings 30
Figure 12 Simple audio leveler and push-to-talk circuit 30
Figure 13 System diagram for APRS solution 31
Figure 14 Simple configuration file for aprx, 32
Figure 15 aprs_telemetrit usage 33
Figure 16 Map of Gamla Stan Experiments 37
Figure 17 Transfer time plots for single packet delivery 38
Figure 18 Transfer time plots for many-packet delivery 38
Figure 19 Error rate plots for single packet delivery 39
Figure 20 Error rate plots for many-packet delivery 39
Figure 21 Bitrate plots for single packet delivery 40
Figure 22 Bitrate plots for many-packet delivery 40
Figure 23 Pseudocode showing the workflow of the IP stack implementation of radiotftp 49
Figure 24 Radiotftp_process Receive FSM diagram 50
Figure 25 Radiotftp_process send FSM diagram 51
Figure 26 Sample Contiki Process computing Fibonacci Series 52
Figure 27 Code segment from tun_alloc.c, demonstrating the opening procedure of a Tun device 53
Figure 28 Ping responder code segment from tunclient.c 54
Figure 29 A simple fix to disable automated telemetry messages of aprx. 54
Figure 30 A simple shell script to automate the transmission of data as APRS telemetry 54
Figure 31 Schematic for Uhx1 Interface Card 66
Figure 32 Schematic for Bim2A Interface Card 67
Figure 33 Component Side of Uhx1 Interface Card PCB 68
Figure 34 Solder side of Uhx1 Interface Card PCB 69
List of Tables
Table 1 Distances of test points to base station in Riddarholmen 36
Table 2 Average transfer times with minimum distance between transceivers 38
Table 3 RSSI readings from various locations with UHX1 and Bim2A 41
Table 4 Sample Log Format 55
Table 5 Sample event log extract 55
Table 6 Results of transfer experiments with 127 bytes in location 0. 56
Table 7 Results of transfer experiments with 127 bytes from location 1. 56
Table 8 Results of transfer experiments with 127 bytes from location 2. 57
Table 9 Results of transfer experiments with 127 bytes from location 3. 57
Table 10 Results of transfer experiments with 127 bytes from location 4. 57
Table 11 Results of transfer experiments with 127 bytes from location 5. 58
Table 12 Results of transfer experiments with 127 bytes from location 6. 58
Table 13 Results of transfer experiments with 127 bytes from location 7. 59
Table 14 Results of transfer experiments with 2 kbytes in location 0. 59
Table 15 Results of transfer experiments with 2 kbytes from location 1. 59
Table 16 Results of transfer experiments with 2 kbytes from location 2. 60
Table 17 Results of transfer experiments with 2 kbytes from location 3. 60
Table 18 Results of transfer experiments with 2 kbytes from location 4. 60
Table 19 Results of transfer experiments with 2 kbytes from location 5. 61
Table 20 Results of transfer experiments with 2 kbytes from location 6. 61
Table 21 Results of transfer experiments with 2 kbytes from location 7. 62
Table 22 Results of transfer experiments with 127 bytes in location 0. 62
Table 23 Results of transfer experiments with 127 bytes from location 1. 62
Table 24 Results of transfer experiments with 127 bytes from location 2. 63
Table 25 Results of transfer experiments with 127 bytes from location 4. 63
Table 26 Results of transfer experiments with 2 kbytes in location 0. 64
Table 27 Results of transfer experiments with 2 kbytes from location 1. 64
Table 28 Results of transfer experiments with 2 kbytes from location 2. 64
Table 29 Results of transfer experiments with 2 kbytes from location 4. 65
Abbreviations
ADC – Analog to Digital Converter
AFSK – Audio Frequency Shift Keying
APRS – Automatic Packet Reporting System
CD – Carrier Detect
CSMA – Carrier Sense Multiple Access
FCS – Frame Check Sequence
FSK – Frequency Shifted Keying
FSM – Finite State Machine
IEEE – Institute of Electrical and Electronics Engineers
GNU - GNU’s not Unix
GPLv2 – General Public License version 2
GPRS – General Packet Radio Service
IP – Internet Protocol
KTH – Kungliga Tekniska Högskolan
MCU – Microcontroller Unit
MTU – Maximum Transmission Unit
NBFM – Narrow Band Frequency Modulation
NMT – Nordic Mobile Telephone
OS – Operating System
OSI – Open Systems Interconnection
RF – Radio Frequency
RSSI – Receive Signal Strength Indicator
SLIP – Serial Line IP
TCP – Transmission Control Protocol
TFTP – Trivial File Transfer Protocol
TNC – Terminal Node Controller
TSLab – Telecommunication System Laboratory
UART – Universal Asynchronous Receiver/Transmitter
UDP – User Datagram Protocol
UHF – Ultra High Frequency
UI – Unnumbered Information
VHF – Very High Frequency
Authors and Supervisors
The main author of this thesis is Alp Sayin, who is a second year System-on-Chip Design student. All thesis work was completed by him. This includes codes, documentations, reports and hardware designs. The thesis was built on previous works on this field from sources like published papers and amateur radio community.
The supervisors are Robert Olsson and Björn Pehrson from KTH. The examiner is Hakan Olsson from KTH.
1 Background
The context of this thesis is the work at TSLab on Open Wireless Sensor Networks for environment monitoring. The system under development include sensors for environment monitoring connected to a sensor network node (mote), which can be interconnected to other similar motes to form a sensor network. This network can be placed in a remote area, with at least one of the motes being a sink node, i.e. connected to a gateway collecting the data and capable of delivering it via some sort of upstream connection to a central data repository. The purpose of this thesis is to explore different wireless upstream link options.
The WSN mote used in this thesis project is a Herjulf mote [1] based on the Atmel ATMega128RF-chip, which integrates an IEEE 802.15.4 [2] compliant 2.4 GHz radio transceiver, an MCU and an AD converter facilitating the connection of analog sensors. Motes broadcast packets with sensor data.
The mote software is based on the Contiki operating system [3].
The following sections discuss different aspects of the uplink from the WSN gateway and the experiments conducted to facilitate comparisons.
Detailed information about the structure of this report can be found in the following Thesis Structure chapter in page 13.
1.1 Wireless Sensor Network
A sensor network is a networked system of interconnected measurement nodes communicating and reporting their measurement data to a central repository. In a wireless sensor network (WSN) these nodes are connected to each other wirelessly, and the nodes are usually low-power microcontroller units with no significant memory storage.