ZigWarehouse Endpräsentation Projekt Ubicomp Anton Biller, Matthias Gsteu, Sylvia Nischkowski, Florian Schmid 10-Feb-03
Agenda Überblick Mobile Geräte Backoffice Sensoren Probleme 28.03.2017
Überblick Überblick Mobile Geräte Backoffice Sensoren Probleme Mögliche Aufteilung Hi-Tech: Anbindung ggf. mit Kabel oder ZigBee (mehr Daten werden erzeugt wegschaufeln) Eigenes Lager? Finanzielle Mittel gegeben? 28.03.2017
Überblick Ursprüngliche Zielsetzung Überblick Mobile Geräte Backoffice Sensoren Probleme Überblick Ursprüngliche Zielsetzung Schnitt durch alle Systemteile Backoffice Persistenz Synchronisierung mit mobilen Geräten Mobile Geräte Usability Synchronisierung mit Backoffice Empfangen von Sensordaten Paketsensoren Sensordaten weitergeben Protokollierung Konfiguration 28.03.2017
Mobile Geräte Überblick Mobile Geräte Backoffice Sensoren Probleme Mögliche Aufteilung Hi-Tech: Anbindung ggf. mit Kabel oder ZigBee (mehr Daten werden erzeugt wegschaufeln) Eigenes Lager? Finanzielle Mittel gegeben? 28.03.2017
Mobile Geräte Auswahlkriterien Überblick Mobile Geräte Backoffice Sensoren Probleme Mobile Geräte Auswahlkriterien Windows Mobile 5 Barcodescanner WLAN Bluetooth RFID (optional) 3,8“ Touchscreen Robuste Bauweise Gewicht: 709 g ca. 16h Akkubetrieb Tastatur (optional) Motorola MC9090g Auswahlkriterien des Geräts bereits erläutert: Touchbedienbarkeit wichtig , Barcode-Scanner, Bauform (Pistolengriff), Robustheit, WLAN, Akkulaufzeit, etc. Was haben wir bei der Recherche festgestellt? Microsoft Plattform (WinCE, WinMobile) „Quasi-Standard“ bei diesen Geräten. Sicherlich auch durch ehem. Marktführer „Symbol“ (jetzt Motorola) vorgegeben. => sehr gute Entwicklungsplattform 28.03.2017
Mobile Geräte Charakteristik der Applikation Überblick Mobile Geräte Backoffice Sensoren Probleme Mobile Geräte Charakteristik der Applikation Keine permanente Verbindung zum Netzwerk daher nicht möglich, direkt auf DB zu arbeiten Lösung: lokaler Datenbank-Cache permanent auf dem Gerät verfügbar bei Bedarf mit DB synchronisieren (nicht trivial) bekanntes Problem Welche bestehenden Technologien / Frameworks gibt es hierzu bereits? 28.03.2017 Seite 7
Frameworks für Synchronisierung Gegenüberstellung Überblick Mobile Geräte Backoffice Sensoren Probleme Frameworks für Synchronisierung Gegenüberstellung Was spricht sonst noch für MS Sync Services? lt. Fachzeitschrift „dotnet pro“ fixer Bestandteil von CF 3.5 Wird aber eigentlich erst mit SQL Server CE 3.5 installiert verschiedene Synchronisierungsstrategien möglich (Snapshot, Incremental download, Upload only, Bidirectional) 28.03.2017 Seite 8
Microsoft Sync Services Belange Überblick Mobile Geräte Backoffice Sensoren Probleme Microsoft Sync Services Belange Soll das clientseitige Schema angelegt werden oder ein bestehendes verwendet werden? Welche Tabellen und Spalten sollen synchronisiert werden? (Tradeoff: Implementierungsaufwand Performance) Welche Synchronisierungsstrategie soll verwendet werden? Welche Konflikte können auftreten? Wie werden diese behandelt? Sollen nur bestimmte Daten synchronisiert werden? (Filter Einfluss auf Performance und Konflikte) Two-Tier oder N-Tier Modell? bei 3. Trade-off: Implementierungsaufwand <-> Performance 28.03.2017
Microsoft Sync Services Architektur Überblick Mobile Geräte Backoffice Sensoren Probleme Microsoft Sync Services Architektur 28.03.2017 Seite 10
Microsoft Sync Services Fazit Überblick Mobile Geräte Backoffice Sensoren Probleme Microsoft Sync Services Fazit Wizards generieren bereits vieles Notwendige Erweiterungen für DB (zusätzl. Spalten, Tombstone-Tables) Beteiligte Klassen werden erzeugt (nur noch parametrisieren) Providers für SQL Server + SQL Server CE N-Tier Modell: Robust gegen plötzliche Verbindungsabbrüche Generierung des clientseitigen Datasets schwach! Zu viel generierter Code erschwert Fehlersuche N-Tier Modell: Client kann Konflikte nicht erkennen (2. “Kanal” nötig) Installationsreihenfolge beachten!!! Generierung des Datasets: Identity column => kein Autoincrement, IDs verursachen Fehler; Exception wenn Felder (die null sein dürfen) null sind; Relations werden nicht erzeugt 28.03.2017 Seite 11
Usability Paper Prototype Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Paper Prototype 28.03.2017 Seite 12
Usability Umsetzung der GUI 1/2 Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Umsetzung der GUI 1/2 vlt. „Highlights“ erläutern: eigene Controls, Touchscroll Liste, Filter (ToggleButtons und Volltextfilter)
Usability Umsetzung der GUI 2/2 Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Umsetzung der GUI 2/2 vlt. „Highlights“ erläutern: eigene Controls, Touchscroll Liste, Filter (ToggleButtons und Volltextfilter)
Usability Entscheidungen 1/2 Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Entscheidungen 1/2 1. Ansatz: Synchronisierung durch Benutzer angestoßen VT: Benutzer kann entscheiden, wann synchronisiert wird VT: Bei Bedarf Update vom Server holen NT: Verantwortung für Datenaktualität bei Benutzer NT: Benutzer wird damit konfrontiert, dass lokale Daten eine Kopie sind Für Benutzer sollte es sich so anfühlen, als arbeitete er auf den Echtdaten! 2. Ansatz: Synchronisierung transparent im Hintergrund Bei Änderung durch Benutzer: Scheduling eines SyncTasks SyncTask wird durchgeführt, wenn Verbindung zum Netzwerk besteht
Usability Entscheidungen 2/2 Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Entscheidungen 2/2 Applikation startet bei Power-On Applikation kann nicht einfach beendet werden (kein Button) Forms einheitlich aufgebaut Beim Starten: Initialer Sync Benutzer kann keine Optionen festlegen Inbetriebnahme Explizite Entscheidungen gegen WinMobile UI Guidelines (für Bedienung durch Stylus ausgelegt) Einheitliche Funktion von Softkey(s): keine verschachtelten Menüs Einheitliche Forms: macht es auch hin und wieder schwer zu erkennen, wo man sich gerade befindet Optionen: jeder soll jedes Gerät in die Hand bekommen können und sich zurechtfinden UI Guidelines: min. 38x38 Pixel f. Controls, hingegen iPhone min. 44x44 Pixel
Usability Verbesserungen Überblick Mobile Geräte Backoffice Sensoren Probleme Usability Verbesserungen Unterschiedliche Farbschemen pro „Pfad“ Zwischen „Pfaden“ hin- und herspringen (kein wiederholtes Betätigen von Zurück-Button) Filter asynchron anwenden (Volltextfilter bremst sehr stark): Responsiveness
Backoffice Überblick Mobile Geräte Backoffice Sensoren Probleme Mögliche Aufteilung Hi-Tech: Anbindung ggf. mit Kabel oder ZigBee (mehr Daten werden erzeugt wegschaufeln) Eigenes Lager? Finanzielle Mittel gegeben? 28.03.2017
Backoffice Desktop-Applikation Überblick Mobile Geräte Backoffice Sensoren Probleme Backoffice Desktop-Applikation Auftragsverwaltung vollständigkeitshalber implementiert Paketeinlagerung und Sensorenkonfiguration Vollständigkeitshalber implementiert Konflikt-Management Auflösung von Konflikten zwischen Aufträgen Auflösung von Konflikten zwischen Auftragspositionen Auswirkung auf Prozess: Eigene Person für Konflikt-Management notwendig Theoretisch zwei Fälle: nie Konflikt dauernd Konflikte 28.03.2017 Seite 19
Backoffice Konflikt-Management Überblick Mobile Geräte Backoffice Sensoren Probleme Backoffice Konflikt-Management . 28.03.2017 Seite 20
Backoffice Entscheidungen Überblick Mobile Geräte Backoffice Sensoren Probleme Backoffice Entscheidungen Konflikt-Management im Backoffice: Zu komplex für Mobiles Gerät Lagerarbeiter verfügt nicht über die nötige Kompetenz Lagerarbeiter soll nicht mit für ihn unnötigen Tätigkeiten belastet werden Usability: Farbiges Hinterlegen von Aufträge und Auftragspositionen in Konflikt stehend nicht in Konflikt stehend gelöster Konfliktpositionen Exklusive Selektion von Werten Fertigstellen erst nach Bearbeitung aller Konfliktpositionen möglich 28.03.2017 Seite 21
Backoffice Verbesserungen Überblick Mobile Geräte Backoffice Sensoren Probleme Backoffice Verbesserungen Konfliktkennzeichnung in Konflikt-Management mit Icons erweitern Wichtig wegen Rot-Grün-Blindheit Beispiel-Icons: Entwicklungshilfe: Schwarz-Weiß-Modus für Oberfläche Keine Selektion einer Zeile am Anfang Besseres Erkennen, ob Konflikte vorhanden Konflikt Konflikt gelöst Entwicklungshilfe: Oberfläche aus sicht von Rot-Grün-Blinden sichtbar 28.03.2017 Seite 22
Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 23
Sensoren Anforderungen Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Anforderungen Drahtlose Übertragung in schwierigem Umfeld Möglichst lange Laufzeit 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 24
Sensoren AVR Raven Stromverbrauch: PicoPower Familiy Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren AVR Raven Stromverbrauch: PicoPower Familiy 16mbit Serial Dataflash Demoapplikation vs. BitCloud Ideales Gerät: Ohne Display Temperaturfühler herausgeführt 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 25
Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren AVR Raven AT90USB1287: steuert AT86RF230 funk-modul demoapplikation: text-messages schicken, temp auslesen stromverbrauch: beide aus AVR picoPower family => minimal power consumption and operation down to 1.8 volts; knopfbatterien; aber auch jede 5-12 volt externe Gleichstromquelle; keine sleep-modes implementiert in demo app bitcloud: sleep-modes implementiert; zusammenspiel mit raven 28.03.2017 Seite 26
Sensoren Konfiguration Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Konfiguration AT90USB1287: steuert AT86RF230 funk-modul demoapplikation: text-messages schicken, temp auslesen stromverbrauch: beide aus AVR picoPower family => minimal power consumption and operation down to 1.8 volts; knopfbatterien; aber auch jede 5-12 volt externe Gleichstromquelle; keine sleep-modes implementiert in demo app bitcloud: sleep-modes implementiert; zusammenspiel mit raven 28.03.2017 Seite 27
Sensoren Konfiguration: Message Format Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Konfiguration: Message Format Testformat: Endgültiges Format: 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 28
Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Daten AT90USB1287: steuert AT86RF230 funk-modul demoapplikation: text-messages schicken, temp auslesen stromverbrauch: beide aus AVR picoPower family => minimal power consumption and operation down to 1.8 volts; knopfbatterien; aber auch jede 5-12 volt externe Gleichstromquelle; keine sleep-modes implementiert in demo app bitcloud: sleep-modes implementiert; zusammenspiel mit raven 28.03.2017 Seite 29
Sensoren Live Daten: Message Format Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Live Daten: Message Format Testformat: Endgültiges Format: 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 30
Sensoren Log Daten: Message Format Überblick Mobile Geräte Desktop-Applikation Sensoren Probleme Verbesserungen Sensoren Log Daten: Message Format Testformat: Endgültiges Format: 802.15.4; 2 8-Bit microcontroller und 1 funk-modul; rzusbstick: 1 mc, 1 funk-modul 3290P: steuert display, audio, joystick, tempsensor; 1284P: steuert AT86RF230 funk-modul; mit USART mit 3290P verbunden 28.03.2017 Seite 31
Sensoren Lebensdauer Simulations-Scripte von Atmel für Stromverbrauch Bottom-Up (Physikalische und MAC-Schicht) Top-Down (Gesamtes Board) Top-Down Script ausgelegt für: AT86RF230 (Funk) ATmega1281 (Logik) Anpassung für: ATmega3290P (Logik) ATmega1284P (Logik) Ohne LCD, Speaker und Mikrofon Lebensdauer: ~5 Monate
Sensoren Stromverbrauchsberechnung Eckdaten für einfache Simulation Geschätzte Kapazität: 200 mAh (2 x Knopfzellen) Sleep-Mode Zyklus: ~5s Applikationslaufzeit (Übernommen): 58 ms Sendezeit (Übernommen): 1 ms PHY-Payload: 40 Bytes Stromverbrauch per Zyklus: 243.864 uA/s Lebensdauer: 0.4735 Jahre (5 Monate)
Überblick Mobile Geräte Backoffice Sensoren Probleme Sensoren Fazit … ... …. 28.03.2017
Probleme xxx … …. Überblick Mobile Geräte Backoffice Sensoren Probleme 28.03.2017 Seite 35
Probleme xxx … Überblick Mobile Geräte Backoffice Sensoren Probleme 28.03.2017 Seite 36
Vielen Dank für eure Aufmerksamkeit! Diskussion Vielen Dank für eure Aufmerksamkeit! 28.03.2017 Seite 37