Vom Smart Dust zum Smart Phone:
Verfügbare Sensing- Plattformen
Adrian Friedli
adrianfriedli@student.ethz.ch
Verteilte Systeme Seminar, ETH Zürich, 24. Februar 2009
Übersicht
Sensornetze
Mobiltelefone
Sensornetze
Ad-hoc-Netz von Sensorknoten
Typischerweise ortsgebunden
Überwachung der Umgebung
Verhalten von Mensch und Tier
Warnsystem für Gefahren
Typische Anforderungen:
Lange Laufzeit
Schwer zugängliche Montageorte Energieverbrauch ist kritisch
Mögliche Klassifikation von Sensorknoten [1]
Spezialisierte Sensorknoten
Generische Sensorknoten
Gateways
Spezialisierte Sensorknoten
Speziell für eine Aufgabe hergestellt
z.B. Temperaturmessung + Kommunikation der Daten
Geringe Grösse
Geringe Leistungsfähigkeit
Beispiel: Spec Chip
Entwickelt von J. Hill, Berkley Universität von Kalifornien
2 x 2.5 mm klein
Eingebauter Funksender
Geringer Energieverbrauch
Wenige mW bei Aktivität
Wenige W im Ruhezustand
Generische Sensorknoten
Durch eigene Sensoren erweiterbar
Dadurch flexibel einsetzbar
Leistungsfähiger als spezialisierte Knoten
Betriebssystem Tiny OS [2]
Auf den meisten generischen Sensorknoten läuft das Betriebssystem Tiny OS
Eigens für Sensorknoten entwickelt
Eigene Programmiersprache: nesC
Komponenten-basierte Architektur minimiert Code-Grösse
Ereignisgesteuerte Ausführung ermöglicht gezieltes Power-Management
Beispiel: BTnode
An der ETH entwickelt
Enthält zwei Funkmodule
Hardware:
Grösse beträgt 58 x 33 mm
Mikrocontroller mit 8 MIPS
64 kB SRAM
128 kB Flashspeicher
Betriebssystem ist Nut/OS
Programmiersprache ist C
Beispiel: Sun SPOTs
Wird in Java ME programmiert
VM läuft direkt auf der Hardware
Hardware:
180 MHz-Prozessor
512 kB RAM / 4 MB Flashspeicher
Eingebaute Sensoren:
3D-Beschleunigung
Temperatursensor
Lichtsensor
Gateways
Brücke zwischen Sensornetz und der Aussenwelt
Kommunikation mit dem Internet
Interaktion mit Benutzern
Daten des Netzes kommen hier zusammen
Mobiltelefone
Im Gegensatz zu Sensornetzen:
Mobiler
Personalisierter
Energieverbrauch ist nicht irrelevant
Mögliche Sensoren
Bluetooth, WLAN, GPS
Kamera und Mikrofon
Helligkeitssensor
Beschleunigungssensor
Mögliche Klassifikation von Mobiltelefonen
Smartphone Massenmarkt-
Mobiltelefon
Massenmarkt-Mobiltelefone
Wenige Sensoren
Bluetooth, Mikrofon, evtl. Kamera
Nur eingeschränkt programmierbar
Meist nur Java ME
Zugriff auf Kamera oft nicht möglich
Begrenzter Speicherplatz
Nokia 6230 besitzt nur 3 MB Speicher
Smartphones
Mehr Sensoren eingebaut
Betriebssystem kommt meist von Drittanbieter
Deutlich leistungsfähiger
Speicher und Rechenleistung
z.B. das Nokia N95 8G:
332 MHz ARM CPU 256 MB Speicher
Verbreitung
Steigende Verkaufszahlen *
2008: rund 28 % mehr Smartphones verkauft als im Jahr 2007
Entspricht 13 % des Marktes
Trotzdem noch geringe Verbreitung
Anteil deutlich unter 10 %
* Marktanalyse von Canalys.com, 3.Quartal 2008
Marktanteil von
Betriebssystem-Anbietern
Symbian Apple (iPhone) RIM (Blackberry) Microsoft Linux Andere
0 5 10 15 20 25 30 35 40 45 50
Beispiel: iPhone 3G
Konnte Marktanteil im Jahr 2008 markant ausbauen (plus 14 %)
OS X iPhone als Betriebssystem
Programmierung erfolgt in Objective-C
Weitere Sprachen werden nicht unterstützt
Diverse Sensoren:
Bluetooth, WLAN und GPS
Annäherungs- und Umgebungslichtsensoren
3D-Beschleunigungssensor
Beispiel: Nokia N95 8G
Verwendet Symbian OS als Betriebssystem
Vorhandene Sensoren:
5 Megapixel Kamera mit Autofokus
Bluetooth, WLAN und GPS
3D-Beschleunigungssensor
Hardware:
332 MHz ARM CPU
256 MB Speicher
Symbian OS
Von der Firma Symbian entwickelt
Multitasking, Threads, Speicherschutz
Unterstützte Programmiersprachen
Symbian C++ und Open C/C++
Java
Python
Webtechnologien (Javascript, Flash Lite, ...)
Android-Plattform
Von Google entwickelt
Open-Source
Programmierung erfolgt in Java
Dalvik VM als Virtuelle Maschine
Die von Google selbst entwickelte Dalvik VM basiert auf einer Registermaschine. Die Java VM basiert dagegen auf einer Stapelmaschine.
Fazit
Sensornetze sind flexibel aber typischerweise ortsgebunden
Mobiltelefone sind für Mobile-Sensing besser geeignet
Massenmarkt-Mobiltelefone nur eingeschränkt Programmierbar aber weit verbreitet
Smartphones deutlich leistungsfähiger
Programmierung der Smartphones meist in diversen Sprachen möglich
Referenzen
[1] R. K. Jason Hill, Mike Horton and L. Krishnamurthy.
The Platforms Enabling Wireless Sensor Networks.
Communications of the ACM, SPECIAL ISSUE: Wireless sensor networks, 47(6):41–46, Juni 2004.
[2] Betriebssystem Tiny OS:
http://www.tinyos.net/
[3] Canalys. Marktanteile von Smartphones im Jahr 2008.
http://www.canalys.com/pr/2008/r2008112.htm [4] The Sensor Network Museum
http://www.snm.ethz.ch