Aufbau der Vorlesung Ubiquitous Computing (Ubiquitäre Informationstechnologien) Vorlesung im WS 02/03 Michael Beigl Universität Karlsruhe Institut für Telematik Telecooperation Office www.teco.uni-karlsruhe.de 1 2 3 4 7 Grundlagen mobil, persönlich, eingebettet Wearable Vernetzung Kontext Anwendungen reale Welt 6 Interaktion 5 6 7 Kontext Information Interaktion Anwendungen 2 4 (vorverarbeitete) Information 5 3 Vernetzung digitale Welt Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-2 Gestaltung Affordance Konzept Don Norman Human-centered design: The Design of Everyday Things, 1988 affordance refers to the perceived and actual properties of the thing Idee Gestaltung von (alltäglichen Dingen) unter Ausnutzung der Affordance Eigenschaft 3 Prinzipien zur Gestaltung Mache nutzbare Eigenschaften sichtbar Benutze natürliche Assoziationen zur Verdeutlichung Gib Feedback Quelle: jnd.com Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-3 Gestaltung Affordances Gegenstände/Umgebungen legen ihre Benutzung/Funktion dem Menschen durch ihre Erscheinung nahe Empfundene Eigenschaften Beispiel: Türklinke animiert zum Drücken, Tasse zum Trinken, Absperrungen zum nicht-überschreiten Zum Teil anerzogene, zum Teil angeborenes Wissen über Funktion-zu- Erscheinungszuordnung Rahmenbedingungen ergeben sich aus Physikalische Eigenschaften? Große Dinge passen nicht in kleine Dinge? Sehr kleine Tasten müssen mit einem Hilfsmittel bedient werden Semantische Eigenschaften? Man fährt in Fahrtrichtung sitzend, also Lenkrad in Fahrtrichtung Kulturellen Bedeutungszuordnung? Rote Hervorhebung bedeutet Wichtigkeit Logische Eigenschaften Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-4? Die letzte Schraube ist für das letzte Loch gedacht
Appliance Konzept Appliance das Anwenden, die Anwendung, der Apparat, die Bedienung, das Gerät, das Hilfsmittel, die Verbrauchseinrichtung, die Vorrichtung (Quelle: dict.leo.org) A device or instrument designed to perform a specific function, especiallyan electrical device (American Heritage Dic.) Information Appliance D. Norman: An appliance specializing in information.... A distinguishing feature of inform. Appliances is the ability to share information among themselves Beispiel: Digicam, Taschenrechner Teil II Gestaltung: Affordances Benutzerschnittstelle Energie 3 Axiome für Information Appliances 1. Einfachheit: der Bedienung für Benutzer (so einfach wie dies die Aufgabe erlaubt!) 2. Vielseitigkeit: erlaubt und fördert Kreativität 3. Vergnüglichkeit: sollen erfreulich sein, Spaß machen Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-5 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-6 Betriebssystem Palm OS Eigenschaften Für persönliche low-power, low-cost kooperatives Multithreading, Semaphore, priorisierte Interrupts... Basiert auf AMX RTOS, aber kein Realtime Minimal 500 kb ROM, 35 kb RAM, Normal: 2 MB RAM OS Application Application Toolbox System Libraries, z.b. IP, Java JavaCard Smart Card Smart Cards sprechen über APDU (Application Protocol Data Units) Standard: ISO 7816 SmartCard ist Slave, Host ist Master Javacard: Jede ADPU ein Applet, ADPU wählt Applet/Methode über Class Byte und Instruction Byte aus Verschiedene Klassen für ADPI Kommunikation, Crypto Applet... usw. Industry Add on Classes Applet Driver & System & Kernel Abstraction Layer Standards PC/SC von Microsoft JavaCard: Schlumberger/Sun OpenCard: Integration Javacard Framework Javacard VM OS & Native Functions Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-7 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-8
Teil II Modell zur Charakterisierung Gestaltung: Affordances Benutzerschnittstelle Energie Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-9 Charakteristisch für Ubicomp Unterschiedliche Systeme mit unterschiedlichen Ausprägungen: Bereiche können als eigene Schichten ausgeprägt oder zusammengefaßt sein Quantitativ größte Gruppe: Zusammengefaßte - bzw. schichten direkte Reflektion von Entwurfsentscheidungen auf Umwelt / Benutzer, Technologie und HCI wichtig! Sensoren Aktuatoren reale Welt Interaktion Anwendung Kontextverarb. OS, Netzwerk Sensorik Prozessoren Energieversorgung Vernetzung Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-10 digitale Welt Merkmale Interaktion Bandbreite: keine Interaktion... Text/Grafik... Multimedia/ multimodal Häufigkeit: nie... gelegentlich... regelmäßig... permanent Interaktionsdauer: kurze oder lange Sitzungen Wahrnehmung: peripher... zentral Kommunikation offline vs. online, lokal vs. global Häufigkeit, Verbindungsdauer, Bandbreite Kontext eingebettete Systeme: Interaktion mit Host weitergehende Wahrnehmung der Umwelt (Lokation, Situation) klassen Mobile mit direkter Benutzerschnittstelle? PDA, Mobiltelefone, Spielekonsolen, Digitale Kamera, TabletPC, Set- Top Box Stationäre mit dauerhafter Stromversorgung? Spielekonsolen digitale Haushaltsgeräte,digitale Consumergeräte (DVD) Parasitäre? SmartCards RF-ID Tags Mobile, eingebettete? (eingebettete) Sensorknoten Unterschiede Spezialisierung, Integration, Anzahl interner Komponenten Wichtig: Energieverbrauch: verwendete Komponenten, Prozessortyp, Taktfrequenz, Busse!, Kommunikation Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-11 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-12
Typischer Aufbau von Embedded Systeme Einheiten auf einem Modul/Chip Beispiele? Java/Smart-Karten? Dallas 1 button? Beck-IPC? Smart Dust? Smart-Ist? PDA Prozessoren Von Neumann vs. Hardvard Spezielle Prozessorkerne? PIC Quelle:java.sun.com Smart Card Beispiel SmartXA, Philips viel ROM, RAM, Flash, EEPROM nur Digitale I/O In Zusammen- Arbeit mit Anderem Prozessor Leistungsfähige CPU (16/32 bit, 1-6MHz) Spezial Co-Prozessoren & Schaltung z.b. Crypto: RSA 1024 bit in 400 ms Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-13 : Smart Card Beispiel SmartXA Eigenschaften Sehr sicher: Anwendung und Daten nach Programmierung nicht von außen veränderbar Hauptanwendung: Kryptographie SmartXAccelerator für beschleunigte Java-Ausführung? Zusatzregister und Logik, die Java -Befehle unterstützt? kein Java-Bytecode, sondern weiterhin kompilierter/interpretierter Code Multi-tasking Hybrider Zugriff: ISO 7816 (SmartCard) und USB 1.1 Durch interne Logik relativ niedriger Energieverbrauch 0.18 µm Fertigung Quelle:java.sun.com Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-15 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-14 Quelle:www.philips.com Java Board: TINI TINI Java Board von Dallas/Maxim z.b. Model 390, 512kB SRAM, 512k Flash ROM 8 bit DS80C390 Microcontroller @ 36 MHz (eigentlich für CAN Anwendungen entwickelt) Interne 40-bit Accumulator, 32- and 16-bit Mult., Dividierern, 10-bit stack pointer (gut für Java!) Java APIs erlauben Zugriff auf Peripherie? RS232? 1-Wire Netz (ibutton)? CAN (Controller Area Network)? I2C? Digitale I/O... aber kein natives Java! Größe 32x103mm 10 Mbit Ethernet Anschluß Verbrauch: 250mA@5V typisch Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-16 Quelle: www.ibutton.com
TINI Java Board Beck IPC Charakteristik Alle Busse Modul- intern Weniger Stromverbrauch als extern... aber mehr als auf einem Die sehr kompakt: 22 x 44 x 9,5mm 200 ma@5v DRAM 512kbyte DMA Flash 512 kbyte Watch dog Interner Bus im Chip CPU 80186 UART Ethernet MAC Core Logic Adress Data Int TxD, RxD CTS, RTS TX/RX I/O Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-17 Quelle: www.ibutton.com Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-18 Smart Dust Aufbau Übertragung Funk / Laser Verschiedene Sensorik Eingebetteter Microcontroller +Externer SRAM +A/D Wandler Charakteristik Alle Busse Modul- intern, einige im embedded Microprocessor Quelle: U.of California, Berkely Smart-Its Charakteristik Trennung von Kommunikation und Sensorik mit eigenem Bus alle anderen Busse Prozessorintern Daten-RAM, Programmspeicher, A/D, I/O im Prozessor Prinzip: Minimierung externer Kommunikation spart Energie RF external connectors MPU power supply bat. sensor board 1 sensor 1... sensor n sensor board m external connectors MPU power supply external connectors MPU power supply Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-19 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-20
Smart-Its PDA Design... trotzt großer Anzahl von Sensoren Power Supply Unit (Back) Piezo Speaker Aktuator Additional I/O Connector for Sensors and Actuators Light Intensity sensor Microphone Unit Serial Line I2C Bus Microprocessor Temperature Sensor External power out connector for additional sensor boards 2 axis Acceleration Sensor Pressure Sensor Real Time Clock Quarz Newton MessagePad Externe Daten/ Adressenbusse Auf direkte und graphische Benutzerschnittstelle optimiert kompakter, aber ähnlich PC / Workstation Aufbau Stromverbrauch stark von Benutzerschnittstelle und Nutzerverhalten abhängig PCMCIA Infrared ARM 610 ROM SRAM Runt ASIC LCD Serial I/O ADC Tablet Serial Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-21 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-22 Integrierter Mobiltelefon + PDA Treo von Handspring Palm PDA + Wismo GSM Modul = Treo 2 Prozessoren? common purpose Dragonball@33 MHz für Organizer, Spiele etc. Anwendungen? Spezieller Mobiltelefon-Prozessor für Telefongrundfunktionalität Kommunikation über spezielle Schnittstelle + = Häufig verwendete Prozessorhardware Typen embedded Arizona Microchip PIC 16xxx, 17xxx, 18xxx (RISC) Reihe Atmel 8051 sowie RISC Architektur (und weitere 8051er Derivate) Hitachi H8/3294 (RCX) Typen PDA 68000 Derivate (insb. Information Appliances) 80x86 Derivate (Steuerung, PC 104, embedded Web-Server) ARM, StrongARM: Info-Applicances Leistungsparamenter RAM: von <16 byte bis mehrere MB ROM: ab 1 k byte Geschwindigkeit: 32 khz bis >200 MHz (dual Mode) On Board I/O, oft A/D, PWM, D/A, Treiberstufen Schnittstellen: Seriell, I2C, SPI, CAN Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-23 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-24
Prozessoren Harvard vs. Von Neuman Unterscheidung (multi-purpose) Prozessoren? z.b. PC, großer Befehlssatz, hohe Taktraten? festverdrahtet und/oder Microcode, heute oft Mix? RISC+CISC eingebettete Prozessoren? RISC oder RISC- like? integrierter RAM, Program-RAM, A/D, I/O, WDT,... Spezialprozessoren? GSM, DSP, spezifisch (Waschmaschine etc.)? basieren inzwischen oft auf eingebetteten Prozessoren Allgemeine Typen von Neumann? häufig bei multi-purpose Prozessoren Harvard Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-25? häufig bei eingebetteten Prozessoren Arizona Microchip PIC PIC 16F876 Harvard Architectur, RISC (35 Instruktionen), bis 20 MHz, 5 MIPS, breite Betriebsspannung (2-5.5V) Low Cost (6 Euro), Low Power (900 na-15 ma) Einfache interne Rechenstruktur, komplexe I/O (viel I/O viel Kontext) Alles auf einem Chip: z.b. A/D, Power-Up (fast) keine ext. Bauteile notwendig Programmierung: C, Assembler Program Memory Processor Power-Up WDT Brown Out RAM Timer Port A (A/ D) Port B (INT) Port C (I/O, SPI, I2C, Ser) Von Neuman oft flüchtiger Haupt-speicher, viel Energie für Speicher (SRAM 1MB ca 15mA) flexibel Harvard Daten flüchtig, Prg. fix (ROM, Flash, EEPROM) kein Bootloaden, schnelles Boot keine versehentliches Überschreiben von Prg. Keine Energie für Speichern Programme typ. Energieverbrauch <10mA schneller durch 2 Busse Memory Data Memory Prg. Memory Addr. Data Addr. CPU Program Counter CPU Data Addr. Program Counter Instructions Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-26 Teil II Gestaltung: Affordances Benutzerschnittstelle Energie Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-27 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-28
Vergleich Prozessoren Typ Programm Speicher (Byte) Daten Speicher (Byte) max Takt MHz I/ O Verbrauch Max/t yp 16F84A 1792 68 10 13 2mA/20 ua 16F877 (16F876) 14336 368 20 33 (22) 2mA/30 ua 16F828 3584 224 20 16 2mA/30 ua Beck-IPC 512k 512k 20 8 200mA/ 100mA MN10L200 2 MB 128k 10 - -. - (OnHandpc) NC68EZ328 2-8 MB 2-8 MB 16 - - - (3Com PalmPilot) Größe (mm) 1,1x1 2,3x2,3 (1,1x2,3) 1,1x1 40x50(M odul) Intelkompatible Typ.: Typ.: > - >1A 70x50 mini- mini- 66 (Modul) (>i486) mum 32 mum 32 MB MB Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-29 Energieversorgung Batterietechnologie langsamer Fortschritt (nur 20% mehr Kapazität in 10 Jahren) Hoffnungsträger: Brennstoffzellen, geringere Strukturgrößen, also weniger Verbrauch aber: mehr Transistoren = mehr parasitäre Kapazität Energieverbrauch Desktop-Rechner ~10²W Laptop ~10W Single-Board Comp. ~1W Low-power Microcontr. ~10 - ³W Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-30 Energiesparen Energieversorgung Technologie-Ebene Kapazität minimieren, minimale Chipfläche, möglichst wenig externe Verbindungen architektur hohe Verlustleistung in Bussen, Treibern, Multiplexern einsparen durch Lokalisierung von Operationen anwendungsspezifische Co-Prozessoren (am Prozessor vorbei, weniger Verkehr auf dem Bus) (Vorsicht: mehr Prozessoren) Cachehierarchien (häufige Operationen in der Nähe des Prozessors gespeichert) Kommunikation Minimierung der Netzwerkzeit (Piconetze: Hören so teuer wie Senden!) Fixe Slots Master-Slave Zuweisung Zwischenpuffern über Infrastruktur Subscribe/Notify Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-31 Beispiel Mediacup Prozessor und Peripherie? geringe Taktrate (4 oder 1 MHz)? Schlafmodus so oft wie möglich? Anschalten bei Gebrauch Bewegungsmessung? Kugelschalter statt Beschleunigungssensor? ermöglicht Interrupts statt Polling? keine Bewegung keine Messung Berührungsloses Aufladen? Kondensatoren, 2F? kein Batteriewechsel Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-32
Energieversorgung Energieversorgung Unbemerkte Energiezufuhr Beispiel Infrarot-Lokationssystem? Dienstnehmer sendet Anfragesignal? Bake antwortet mit Ortsinformation? Energiesparendes Protokoll: Minimierung von Sende- und Empfangszeiten Objekt O i p req req Bake B j Der Mensch als Energiequelle Kraftwerk im Schuh Joe Paradiso? autonome Energieversorgung der Baken (Solarzellen und Kondensatoren) req T>p loc j O sendet O hört B hört B sendet t Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-33 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-34 Energieproduktion ist ein Kontext: Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-35 Ubiquitous Computing WS 02/03 Michael Beigl, TecO 4-36