搜索附件  
头雁微网 附件中心 专业技术 天线工程 Mobile Phone Programming - and its Application to Wireless Networking - Aug 2007: Mobile Phone Programming-and its Application to Wireless Networking.part1.rar
板块导航
附件中心&附件聚合2.0
For Discuz! X3.5 © hgcad.com

Mobile Phone Programming - and its Application to Wireless Networking - Aug 2007: Mobile Phone Programming-and its Application to Wireless Networking.part1.rar

 

Mobile Phone Programming - and its Application to Wireless Networking - Aug 2007:


© 2007 Springer
No part of this work may be reproduced, stored in a retrieval system, or transmitted
in any form or by any means, electronic, mechanical, photocopying, microfilming, recording
or otherwise, without written permission from the Publisher, with the exception
of any material supplied specifically for the purpose of being entered
and executed on a computer system, for exclusive use by the purchaser of the work
Foreword
Saila Laitinen
Nokia
The technology evolution has been once and for all beyond comparison during
the past decade or two. Any of us can nowadays do numerous things with
numerous devices to help in everyday life. This applies not least to mobile
phones. If we compare the feature set of a mobile phone model in 1995 with
the latest smartphone models the most visible difference is of course in the
user interface, the mp3 player, integrated camera, and the access to the mobile
Internet.
This evolution is a result of multiple members in the entire mobile ecosystem:
(1) device manufacturers have managed to bring richer devices into
markets, (2) operators have invested in network enablers heavily, (3) developers
have found mobile platforms fancy to innovate on, and last but not least
(4) consumers have discovered the benefits of using the rich feature set of
mobile devices and they have welcomed them into their lives.
This book gives a thorough picture of all options a developer can choose
from when developing mobile applications or other content. It explains Python;
that is especially suitable for scripting, supports procedural programming, and
object-oriented programming. Java, an object-oriented programming language
developed by Sun Microsystems. Symbian C++, a programming language tailored
to mobile programming. Open C provides the familiar standard C function
libraries in mobile development. Qtopia’s greenphone is a Linux mobile
development device open for innovation. Maemo Linux, an embedded Linux
development environment for mobile innovation. Windows Mobile, a compact
operating system combined with a suite of basic applications for mobile
devices based on the Microsoft Win32 API.
In addition to the above, the book focuses on mobile application design
for wireless communication systems. Besides the well-known cellular architecture
also the peer-to-peer and cooperative networking is introduced. Concepts
such as cross-layer design and the convergence of wireless sensors with mobile
phones are introduced and examples are given. Furthermore the energy consumption
of mobile phones is addressed and designing rules to develop energyefficient
mobile applications are presented. I truly see that once the wireless
viii Foreword
internet really goes live all around the world; there are only winners in this
industry.
I highly recommend reading this book, start the real mobile innovation so
that together we can make people all around the world connected with each
other without compromising in our mobility.
Helsinki, Finland Saila Laitinen
April 2007 Head of Regional Operations, Forum Nokia
Preface
The main source of motivation to write this book is the beauty of the mobile
phones as an inspiring platform for research as well as teaching activities.
To prove an idea or a concept in the research domain, there are mainly
three possibilities, namely analytical evaluation, simulative evaluation, and
implementation on an appropriate platform. The problem with the analytical
and the simulative evaluation is that analytical derivations become more and
more complicated reducing the possible audience or that the chosen simulation
environment is not fully transparent. Therefore we need to implement
our proof of concept on omnipresent platforms to introduce it to a larger
audience. The mobile phones are omnipresent entities and are suitable as
proof-of-concept platforms as they have two advantages over any other platform;
first they are not that cost-intensive and second mostly everybody owns
one mobile phone by themselves or at least has had experience with it. As we
will show throughout this book, the degree of freedom to implement whatever
idea in the world of wireless networking is nearly infinite and sometime only
restricted on purpose by the mobile phone manufacturer. Of course a mobile
phone has some limitations in the memory capacity, the processing power,
and the limited energy due to the battery-driven entity. But those limitations
should not be understood as a disadvantage, but more as setting design rules
for new solutions in the real world.
To use the mobile platform in student and master projects we started
to introduce mobile phone programming within our teaching activities. This
topic is mostly new to students and they come with heterogeneous knowledge
of programming languages. Different courses cover Python, JAVA, and
Symbian/C++. Within the book we have extended the group of programming
languages and deployment environments with topics such as Windows Mobile,
Maemo, Qtopia, and Open C. In addition to the programming teaching, we
encourage students to use their new knowledge within future research projects
and to make their own mobile applications.
The importance of mobile applications introducing new kinds of services
has been and is still underestimated. With the introduction of the second
x Preface
generation networks, new services were provided to the customers namely
mobile speech services, roaming between different countries, low data rate IP
connection, and more advanced security. The introduction of the third generation
did not bring de facto revolutionary new services, which may explain
why this generation of mobile communication systems is not having the same
success as its forerunner had when it was introduced. Thus services are the
key for successful communication networks.
We sincerely hope that this book is a contribution to enable a new wave
of exciting mobile applications that enrich our lives, and that gives students
a great start ramp to launch their future careers.
Planet Earth Frank H.P. Fitzek
April 2007 Frank Reichert
Contents
Foreword
Saila Laitinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Part I Introduction
1 Introduction to Mobile Phone Programming
Frank H.P. Fitzek, Frank Reichert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Evolution of the Mobile Phones, Networks, and Services . . . . . . . . . 3
1.1.1 Mobile Phone Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 The Flexible Mobile Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Wireless Technologies and Architectures . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Cellular Communication Systems . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Short-Range Communication Systems . . . . . . . . . . . . . . . . . . . 11
1.3 Mobile Application Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Structure of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Part II Mobile Phone Programming Languages
2 Python for Symbian Phones
J¨urgen Scheible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Python for S60 Installation and Resources . . . . . . . . . . . . . . . . . . . . . 24
2.2.1 Software Installation on the Phone . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 Software Installation on the PC (for S60 Platform Device
Emulator Use) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Writing a Python Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 How Python Runs Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2 Three Basic Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.3 The First Script Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
xii Contents
2.4 A Short Python Syntax Lesson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5 Overview of Python for S60 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 Modules – and How to Program Python for S60 Scripts . . . . . . . . . . 29
2.6.1 Messaging Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.2 Appuifw Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.3 Application Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.6.4 Audio Module: Sound Recording and Playing . . . . . . . . . . . . 37
2.6.5 Variable Scope: Local, Global . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.6 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6.7 Inbox Module: Reading Incoming SMS . . . . . . . . . . . . . . . . . . 40
2.6.8 Graphics Module and the Use of Keyboard Keys . . . . . . . . . 41
2.6.9 Image Composition Application: MobileArtBlog . . . . . . . . . . 43
2.6.10 3D Graphics: gles and glcanvas Modules . . . . . . . . . . . . . . . . 44
2.6.11 Camera Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.6.12 Video Download and Playing – the Use of Content Handler 46
2.6.13 File Upload to a URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.6.14 Mobile Photo Blogging Application . . . . . . . . . . . . . . . . . . . . . 48
2.6.15 File Handling and Data Storing . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.16 Socket Module: Bluetooth, TCP/IP, and SSL . . . . . . . . . . . . 49
2.6.17 sysinfo Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.6.18 Location Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.6.19 Telephone Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.6.20 Contact Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.7 Creating Stand-Alone Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.8 Symbian Platform Security and Python for S60 . . . . . . . . . . . . . . . . . 59
2.9 Creating Python Extensions in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.10 Further Reading Sources on Python for S60 . . . . . . . . . . . . . . . . . . . . 60
2.11 Code Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.12 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3 Java 2 Micro Edition
Gian Paolo Perrucci, Andreas H¨aber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1 Java Family Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2 J2ME Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.1 Less Capable Devices: Targeting CLDC . . . . . . . . . . . . . . . . . 66
3.2.2 More Capable Devices: Targeting CDC . . . . . . . . . . . . . . . . . 67
3.2.3 Networking Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.4 Optional Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.2.5 Java Technology Standardization . . . . . . . . . . . . . . . . . . . . . . . 71
3.3 Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.1 Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.2 NetBeans IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.3 Developing MIDP Applications for CLDC . . . . . . . . . . . . . . . 77
3.3.4 Developing CDC Applications . . . . . . . . . . . . . . . . . . . . . . . . . 82
Contents xiii
3.4 Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4.1 Wireless Messaging API: Sending SMS . . . . . . . . . . . . . . . . . . 87
3.4.2 Mobile Multimedia API: Audio Player . . . . . . . . . . . . . . . . . . 88
3.4.3 Communication: Downloading Documents with GCF . . . . . 90
3.4.4 XML Parsing: Parsing RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4 Symbian/C++
Morten V. Pedersen, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.2 Setting up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2.1 Additional Installation Requirements . . . . . . . . . . . . . . . . . . . 97
4.2.2 Overview of the SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.2.3 Overview of the Carbide.c++ Express IDE 1.1 . . . . . . . . . . . 99
4.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.3 Symbian OS in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.3.1 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.3.2 Exception Handling and Resource Management . . . . . . . . . . 112
4.3.3 Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.3.4 Active Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.4 Wireless Communication Technologies . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.4.1 Using TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.4.2 Bluetooth OBEX, SMS, and Email . . . . . . . . . . . . . . . . . . . . . 135
4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5 Open C
Eero Penttinen, Antti Saukko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.2 What is Open C? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3 Setting up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.4 Getting Started with Open C: Hello World . . . . . . . . . . . . . . . . . . . . . 144
5.5 Open C and Symbian/S60 Interaction . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.5.1 Open C DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.5.2 String/Descriptor Conversions . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.5.3 GLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.6 Guidance for Porting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.6.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.6.2 Configuring and Making the Source on Linux . . . . . . . . . . . . 157
5.6.3 Modifying Configuration Files in the S60 Development
Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.6.4 Modifying the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
xiv Contents
6 Qtopia Greenphone
Thomas Arildsen, Morten L. Jørgensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.1 The Greenphone and Qtopia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.2 Setting up the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.3 FTP File Transfer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7 Maemo Linux
Matti Sillanp¨a¨a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
7.2 Scratchbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
7.2.1 Under the Hood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
7.2.2 Getting Started with Scratchbox . . . . . . . . . . . . . . . . . . . . . . . 180
7.2.3 Your First Cross-Developed Program . . . . . . . . . . . . . . . . . . . 182
7.3 The Nokia 770 Internet Tablet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
7.3.1 Maemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3.2 Installing Maemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
7.3.3 Setting up the X Windowing Environment . . . . . . . . . . . . . . 194
7.4 Using Eclipse with Scratchbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
7.4.1 Setting up Eclipse with Scratchbox Support . . . . . . . . . . . . . 196
7.4.2 Creating a Scratchbox Project . . . . . . . . . . . . . . . . . . . . . . . . . 199
7.4.3 Debugging Inside Scratchbox . . . . . . . . . . . . . . . . . . . . . . . . . . 202
7.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8 Windows Mobile Programming
Rico Wind, Christian S. Jensen, Kristian Torp . . . . . . . . . . . . . . . . . . . . . . 207
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
8.2 .Net and C# in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
8.3 .Net Compact Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
8.3.1 Using the Windows Mobile Emulator . . . . . . . . . . . . . . . . . . . 213
8.3.2 Installing Programs on Mobile Devices . . . . . . . . . . . . . . . . . . 214
8.4 Using the Windows Mobile Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.4.1 Controls in the System.Windows.Forms Namespace . . . . . . . 215
8.4.2 Controls Specific to Windows Mobile . . . . . . . . . . . . . . . . . . . 218
8.5 Network Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
8.5.1 Network Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
8.6 Visual Studio IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.6.1 An Overview of Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.6.2 Using Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8.6.3 Using Databases with ADO.Net . . . . . . . . . . . . . . . . . . . . . . . . 230
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Contents xv
Part III Infrastructure-Based Communication
9 Service Discovery
Andreas H¨aber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.1 Service Discovery in Real Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.1.1 Active and Passive Service Discovery . . . . . . . . . . . . . . . . . . . 240
9.2 Service Discovery in Computer Networks. . . . . . . . . . . . . . . . . . . . . . . 240
9.2.1 Where to Send a Packet to? . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
9.2.2 Address Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
9.2.3 Basic Service Discovery in Computer Networks . . . . . . . . . . . 242
9.3 Universal Plug & Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
9.3.1 UPnP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
9.3.2 UPnP Device Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
9.3.3 Libraries for UPnP Development . . . . . . . . . . . . . . . . . . . . . . . 254
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Part IV Peer-to-Peer Communication
10 Digital Ownership for P2P Networks
Michael Stini, and Martin Mauve, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . 259
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
10.2 Digital Content and Its Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
10.3 Basic Elements of Digital Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . 262
10.4 Digital Ownership Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
10.5 Digital Ownership Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
10.6 First Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
10.7 An Example for DRM Usage: iTunes . . . . . . . . . . . . . . . . . . . . . . . . . . 268
10.8 Conclusions and Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
11 SMARTEX: The SmartME Application
Morten V. Pedersen, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
11.2 The Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
11.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
12 The Walkie Talkie Application
Morten V. Pedersen, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
12.2 The Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
12.2.1 UI Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
12.2.2 The Control/Push-To-Talk Protocol Layer . . . . . . . . . . . . . . 277
12.2.3 Bluetooth and Audio Modules . . . . . . . . . . . . . . . . . . . . . . . . . 277
12.3 Bluetooth-IP Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
xvi Contents
12.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Part V Cooperative Communication
13 Cooperative Wireless Networking: An Introductory
Overview
Marcos D. Katz, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.2.1 Increasing Demand of Energy/Power . . . . . . . . . . . . . . . . . . . 286
13.2.2 Spectrum Scarcity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
13.2.3 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
13.2.4 Appealing Services and Applications . . . . . . . . . . . . . . . . . . . . 288
13.2.5 Demanding Communicational Capabilities . . . . . . . . . . . . . . . 288
13.3 Cooperative Principles in Wireless Networks: An Introduction . . . . 289
13.3.1 Communicational Cooperation . . . . . . . . . . . . . . . . . . . . . . . . . 289
13.3.2 Operational Cooperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
13.3.3 Social Cooperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
13.4 Cooperation in Heterogeneous Networks:
The Emergence of a Novel Paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . 293
13.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
14 The Medium is the Message
Anders Grauballe, Ulrik Wilken Rasmussen, Mikkel Gade Jensen,
Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
14.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
14.2 Identification of the Needed Functionality . . . . . . . . . . . . . . . . . . . . . . 301
14.2.1 Functionality Available in Python . . . . . . . . . . . . . . . . . . . . . . 301
14.2.2 Adding Functionality to Python . . . . . . . . . . . . . . . . . . . . . . . . 301
14.3 Realization of the Idea with Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
14.4 Measurement Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
14.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
15 Peer-to-Peer File Sharing for Mobile Devices
Imre Kel´enyi, Gergely Cs´ucs, Bertalan Forstner, Hassan Charaf . . . . . . . 311
15.1 Peer-to-Peer File Sharing in General . . . . . . . . . . . . . . . . . . . . . . . . . . 311
15.1.1 Gnutella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
15.1.2 BitTorrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
15.2 Thoughts on the Mobile Implementation . . . . . . . . . . . . . . . . . . . . . . . 316
15.2.1 Separating the User Interface from the Application
Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Contents xvii
15.2.2 Accessing the Mobile Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
15.3 Symella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
15.4 SymTorrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
15.4.1 The Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
15.4.2 Using the Class Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
15.4.3 The Tracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
15.5 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
16 Energy Saving Aspects and Services
for Cooperative Wireless Networks
Leonardo Militano, Gergely Cs´ucs, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . 325
16.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
16.2 Test-bed Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
16.3 Description of the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
16.4 Measurement Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
16.5 The BitTorrent Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
16.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Part VI Cross-Layer Communication
17 Cross-Layer Protocol Design for Wireless Communication
Thomas Arildsen, Frank H.P. Fitzek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
17.2 Cross-Layer Protocol Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
17.2.1 The Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
17.2.2 Communication Across Protocol Layers . . . . . . . . . . . . . . . . . 348
17.2.3 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
17.3 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
18 Cross-Layer Example for Multimedia Services
over Bluetooth
Morten V. Pedersen, Gian Paolo Perrucci, Thomas Arildsen, Tatiana
Kozlova Madsen, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
18.2 Adaptive Header Compression for Bluetooth . . . . . . . . . . . . . . . . . . . 364
18.3 Groundwork for Cross-Layer Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
18.3.1 Symbian Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
18.3.2 Packet Selection Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
18.3.3 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
18.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
xviii Contents
Part VII Sensor Networks
19 Convergence of Mobile Devices and Wireless Sensor
Networks
Frank H.P. Fitzek, Stephan Rein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
19.2 Classification of Different Convergence Forms . . . . . . . . . . . . . . . . . . . 376
19.3 First Demonstrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
20 Using In-built RFID/NFC, Cameras, and 3D
Accelerometers as Mobile Phone Sensors
Paul Coulton, Will Bamford, Fadi Chehimi, Paul Gilberstson, Omer
Rashid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
20.1 Using RFID/NFC on Mobile Phones . . . . . . . . . . . . . . . . . . . . . . . . . . 381
20.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
20.1.2 Overview of JSR-257 (Contactless Communication) . . . . . . . 382
20.1.3 Programming with Nokia NFC and RFID SDK . . . . . . . . . . 385
20.1.4 Using Nokia NFC and RFID API . . . . . . . . . . . . . . . . . . . . . . 385
20.2 Using Cameras on Mobile Phones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
20.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
20.2.2 Programming the Camera in J2ME . . . . . . . . . . . . . . . . . . . . . 386
20.2.3 Programming the Camera in S60 . . . . . . . . . . . . . . . . . . . . . . . 389
20.3 Motion Interfaces using 3D Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
20.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
20.3.2 Programming 3D Motion Sensors in Symbian . . . . . . . . . . . . 394
20.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
21 Sensor Networks for Distributed Computing
Stephan Rein, Clemens G¨uhmann, Frank H.P. Fitzek . . . . . . . . . . . . . . . . . 397
21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
21.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
21.2.1 Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
21.2.2 Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
21.3 Software Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
21.3.1 Medium Access Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
21.3.2 Research in Signal Processing: the Problem . . . . . . . . . . . . . . 405
21.3.3 The Stack: An Embedded Calculator . . . . . . . . . . . . . . . . . . . 406
21.4 Distributed Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
21.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Contents xix
22 Parking Assistant Application
Janne Dahl Rasmussen, Peter Østergaard, Jeppe Jensen, Anders
Grauballe, Gian Paolo Perrucci, Ben Krøyer, Frank H.P. Fitzek . . . . . . . 411
22.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
22.2 Mounting the Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
22.3 JAVA Realization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
22.3.1 Install Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
22.3.2 Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.3.3 Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
22.4 Python Realization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
22.5 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Part VIII Power Consumption in Mobile Devices
23 Energy Efficiency of Video Decoder Implementations
Olli Silv´en, Tero Rintaluoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
23.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
23.2 Mobile Video Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
23.3 Mobile Video Codec Implementations/Platforms . . . . . . . . . . . . . . . . 426
23.3.1 Software-based Decoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
23.3.2 Hardware-based Decoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
23.4 Software Interfacing Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
23.4.1 Operating System Costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
23.4.2 The Cost of a Multimedia Software Framework . . . . . . . . . . 433
23.4.3 Internal Interface Overheads . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
23.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
23.6 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
24 External Energy Consumption Measurements on Mobile
Phones
Frank H.P. Fitzek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
24.2 Measurement Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
24.3 Example of Energy Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
25 Optimizing Mobile Software with Built-in Power Profiling
Gerard Bosch Creus, Mika Kuulusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
25.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
25.2 S60 Power Profiling Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
25.3 Carbide.c++ Power-Performance Profiling . . . . . . . . . . . . . . . . . . . . . 456
25.4 Energy-Efficient Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
25.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
List of Contributors
Anders Grauballe
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
agraubal@es.aau.dk
Andreas H¨aber
Agder University College
Faculty of Engineering and Science
Grooseveien 36
Servicebox 509
N-4898 Grimstad
Norway
andreas.haber@hia.no
Antti Saukko
Nokia
It¨amerenkatu 11–13
FIN-00180 Helsinki
Finland
antti.saukko@nokia.com
Bertalan Forstner
Budapest University of Technology
and Economics
H-1111 Budapest, Goldmann Gy¨orgy
t´er 3. Hungary
bertalan.forstner@aut.bme.hu
Ben Krøyer
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
bk@es.aau.dk
Christian S. Jensen
Aalborg University
Department of Computer Science
Fredrik Bajers Vej 7E
DK-9220 Aalborg Øst
csj@cs.aau.dk
Clemens G¨uhmann
Technische Universit¨at Berlin
Einsteinufer 17
10587 Berlin, Germany
clemens.guehmann@tu-berlin.de
Eero Penttinen
Nokia
It¨amerenkatu 11–13
FIN-00180 Helsinki
Finland
eero.penttinen@nokia.com
Fadi Chehimi
Informatics
Infolab21
Lancaster University
Lancaster, LA1 4WA, UK
f.chehimi@lancaster.ac.uk
xxii List of Contributors
Frank H.P. Fitzek
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
ff@es.aau.dk
Frank Reichert
Agder University College
Faculty of Engineering and Science
Grooseveien 36
Servicebox 509
N-4898 Grimstad, Norway
frank.reichert@hia.no
Gerard Bosch i Creus
Nokia Research Center
It¨amerenkatu 11–13
FIN-00180 Helsinki
Finland
gerard.bosch@nokia.com
Gergely Cs´ucs
Budapest University of Technology
and Economics
H-1111 Budapest, Goldmann Gy¨orgy
t´er 3. Hungary
gergely.csucs@aut.bme.hu
Gian Paolo Perrucci
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
gpp@es.aau.dk
Hassan Charaf
Budapest University of Technology
and Economics
H-1111 Budapest, Goldmann Gy¨orgy
t´er 3. Hungary
hassan@aut.bme.hu
Imre Kel´enyi
Budapest University of Technology
and Economics
H-1111 Budapest, Goldmann Gy¨orgy
t´er 3. Hungary
imre.kelenyi@aut.bme.hu
Janne Dahl Rasmussen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
jannedr@es.aau.dk
Jeppe Jensen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
jeppe85@es.aau.dk
J¨urgen Scheible
University of Art and Design
Helsinki Media Lab
H¨ameentie 135C
FI-00560 Helsinki, Finland
jscheib@uiah.fi
Kristian Torp
Aalborg University
Department of Computer Science
Fredrik Bajers Vej 7E
DK-9220 Aalborg Øst
torp@cs.aau.dk
Leonardo Militano
University Mediterranea of Reggio
Calabria
Faculty of Engineering, Department
DIMET
Via Graziella, Loc. Feo di Vito
89100 Reggio Calabria, Italy
leonardo.militano@unirc.it
Marcos Katz
VTT
Kaitov¨ayl¨a 1, Oulu
P.O.Box 1100
FI-90571 Oulu
FINLAND
List of Contributors xxiii
Martin Mauve
Heinrich-Heine-University
Universit¨atsstr. 1
D-40225 D¨usseldorf, Germany
mauve@cs.uni-duesseldorf.de
Matti Sillanp¨a¨a
Nokia Research Center
It¨amerenkatu 11–13
FIN-00180 Helsinki
Finland
matti.jo.sillanpaa@nokia.com
Michael Stini
Heinrich-Heine-University
Universit¨atsstr. 1
D-40225 D¨usseldorf, Germany
stini@cs.uni-duesseldorf.de
Mika Kuulusa
Nokia Technology Platforms
It¨amerenkatu 11–13
FIN-00180 Helsinki
Finland
mika.kuulusa@nokia.com
Mikkel Gade Jensen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
mgade@es.aau.dk
Morten L. Jørgensen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
mljo@es.aau.dk
Morten V. Pedersen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
mvpe@es.aau.dk
Olli Silv´en
Department of Electrical
and Information Engineering
P.O.B. 4500
FI-90014 University of Oulu, Finland
Olli.Silven@ee.oulu.fi
Omer Rashid
Informatics
Infolab21
Lancaster University
Lancaster, LA1 4WA, UK
m.rashid@lancaster.ac.uk
Paul Coulton
Informatics
Infolab21
Lancaster University
Lancaster, LA1 4WA, UK
p.coulton@lancaster.ac.uk
Paul Gilbertson
Informatics
Infolab21
Lancaster University
Lancaster, LA1 4WA, UK
p.gilbertson@lancaster.ac.uk
Peter Østergaard
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
petero@es.aau.dk
Rico Wind
Aalborg University
Department of Computer Science
Fredrik Bajers Vej 7E
DK-9220 Aalborg Øst
rw@cs.aau.dk
Stephan Rein
Technische Universit¨at Berlin
Einsteinufer 17
10587 Berlin, Germany
stephan.rein@tu-berlin.de
xxiv List of Contributors
Tatiana Kozlova Madsen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
tatiana@kom.aau.dk
Tero Rintaluoma
Hantro Products Oy
Kiviharjunlenkki 1
FI-90220 Oulu, Finland
Tero.Rintaluoma@hantro.com
Thomas Arildsen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
tha@es.aau.dk
Ulrik W. Rasmussen
Aalborg University
Department of Electronic Systems
Niels Jernes Vej 12
DK-9220 Aalborg, Denmark
wilken@es.aau.dk
Will Bamford
Informatics
Infolab21
Lancaster University
Lancaster, LA1 4WA, UK
w.bamford@lancaster.ac.uk
:11bb
:11bb
:11bb


[hide]

[/hide]
本帖最后由 huangfeihong88 于 2009-10-21 19:10 编辑

感谢楼主分享
:11bb :11bb
thank you very much!
大力支持一下
感謝樓主分享
對於做硬件工程師而言
有軟件的書籍參考查詢
執行案件可真是如虎添翼哦
感谢搂主分享好书:11bb :11bb
本帖最后由 huangfeihong88 于 2009-10-21 19:10 编辑

:27bb :30bb
支持楼主,学习一下:12bb :12bb
本帖最后由 huangfeihong88 于 2009-10-21 19:09 编辑

:53bb
本帖最后由 huangfeihong88 于 2009-10-21 19:10 编辑

:11bb :11bb
不错的东西!~~~~~~~~~~~~~~~~~
本帖最后由 huangfeihong88 于 2009-10-21 19:09 编辑

多谢多谢:27bb :27bb
thanks..............
本帖最后由 huangfeihong88 于 2009-10-21 19:10 编辑

好书,哈哈。下啦,谢谢分享!
本帖最后由 huangfeihong88 于 2009-10-21 19:10 编辑

:27bb :29bb
不错啊 不错啊支持啊
:13bb{:5_210:}
谢谢楼主分享想学习
还差第三个压缩文件啊
谢谢楼主的分享。:18bb:18bb
:30bb:30bb
支持 感谢搂主分享好书
thanks, I like it
支持一下,谢谢
:27bb 7# 00d44
本帖最后由 huangfeihong88 于 2009-10-21 19:08 编辑

:48bb
感謝樓主分享
對於做硬件工程師而言
有軟件的書籍參考查詢
好东西啊,呵呵
感谢楼主分享
have a look,thanks
等了2天,终于能回帖了~~
thank you very much
不错的:17de
:12bb收下了!
我要我要
超感謝的
對我有很大的幫助
hello following
thank you very much
谢谢,祝你身体健康。
gpp
aaaaaaaaaaa
谢谢楼主 感谢分享
:53bb:51bb
好书,哈哈。下啦,谢谢分享!
:15bb
thanks a lot!!!!!!!!!!!!!!!!!!!!!!!!!!
好贴~谢谢楼主~
好好
好资料!!
哈哈哈 还啊
thank you very much
thanks~
谢啦 学习

thank you very much!
The technology evolution has been once and for all beyond comparison during the past decade or two. Any of us can nowadays do numerous things with numerous devices to help in everyday life. This applies not least to mobile phones. If we compare the feature set of a mobile phone model in 1995 with the latest smartphone models the most visible difference is of course in the user interface, the mp3 player, integrated camera, and the access to the mobile Internet.
感謝分享!{:soso_e100:}
这是本好书,可惜软件已经丢了好多年,呵呵~~~
谢谢楼主分享!
哈,不错的书啊。
谢谢斑竹啊,下下来学习。
thansk very much
非常感谢!!!!
不错 看看了
Measurements
谢谢分享
谢谢拉。。。
昨天,中午我收到一条短信:请将钱打入这个账号XXX。半个小时后我回:已打入五千元,请查收。第二天,我收到:“都跑银行三趟了,你这个骗子”。

真~~~~~~~~~~
谢谢分享
谢谢搂主了,学习学习
看看。。。。。。。。。。。。
谢谢楼主
谢谢啊
谢谢 楼主 学习了
感谢楼主啊!
谢谢分享相当不错
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
客服中心 搜索
关于我们
关于我们
关注我们
联系我们
帮助中心
资讯中心
企业生态
社区论坛
服务支持
资源下载
售后服务
推广服务
关注我们
官方微博
官方空间
官方微信
返回顶部