Bluetooth-Anbindung medizinischer Sensoren an ein Smartphone Projektwoche 2010, Projekt Nr.110 Projektleitung: Prof. Dr.-Ing. Ralf Tönjes Daniel Kümper, M.Sc.
Gliederung Einleitung Bluetooth Protokollanalyse / Paketsniffer Abfrage mit Android Abfrage mit C / Linux 25.03.2017
Automatisierte Sensorkonfiguration und Dokumentation 25.03.2017
BT Kommunikation über Sensorgateway Verbindung durch Sensorgateway, wenn Brustgurt sichtbar Permanentes Senden aktueller Daten durch Brustgurt (Frequenz, Batteriestand) Permanente Pulsmessung Nach Messung wird eine Verbindung zum Sensorgateway hergestellt Datensatz wird übertragen Bei Verbindungsfehlern werden Daten zwischengespeichert Blutdruck Sensor Gateway Bidirektionale Kommunikation Übertragung nach Messung Konfiguration Wartet nach Messung auf Anfrage vom Master Blutzucker 25.03.2017
Protokoll Abstraktion Für jeden Sensor Betriebssystemspezifische Implementation für jeden Sensor in Programmiersprache Problem: Deployment der Treiber der Sensordaten Protokoll zur Abfrage Profil/Protokoll (Serial Device Profile) Schnittstelle (Bluetooth) Schnittstelle zum Sensor Herstellerübergreifend Standard ist in Betriebssystemen integriert und wird mit ausgeliefert 25.03.2017
25.03.2017 IEM device sends ATE0 <CR> <LF> Remote device answers <CR><LF> OK <CR><LF> IEM device sends AT+CMGS=…with a SMS in PDU Mode Remote device should answer <CR><LF>+CMGS: <CR><LF> if the parsing of the SMS was successful. If there are more measurements stored, The IEM device will send the next AT+CMGS… string with next measurements afterwards. 10 Example SMS in PDU mode Here’s an example of a Stabil-O-Graph: AT+CMGS=44 25.03.2017
Anforderungen 25.03.2017 Parsen von Datenpaketen eines Sensors Auslesen und Interpretation von Bits/Bytes in z.B. Hexadezimal oder Binär Feste u. dynamische Feld-längen Analyse der Relevanten Daten zur Visualisierung Bidirektionale Kommunikation Reaktion auf Kommandos Bestätigen einer Übertragung Verarbeitung und Berechnung von Daten Berechnung von Prüfsummen 25.03.2017
Bluetooth Universelles Funksystem für drahtlose Ad-hoc-Verbindungen Verknüpfung von Computer mit Peripherie, tragbaren Geräten, PDAs, Handys Günstige Einbettung in andere Geräte Kleine Reichweite (10 m), niedrige Leistungsaufnahme, lizenzfrei im 2,45 GHz-ISM-Band Sprach-und Datenübertragung, ca. 1 Mbit/s Bruttodatenrate Frequenzsprungverfahren: Nutzung von 69 Kanälen 25.03.2017
Bluetooth Protokolle Radio Baseband Audio Logical Link Control and Adaption Protocol (L2CAP) Link Manager BNEP PPP IP TCP/UDP NW-Anw. vCal/vCard Telefonie AT modern commands Medizinische Sensoren Propriätere Serielle Sensor-Protokolle Verwaltung SDP Con-trol OBEX RFCOMM (serial line interface) AT: attention sequence OBEX: object exchange TCS BIN: telephony control protocol specification – binary BNEP: Bluetooth network encapsulation protocol SDP: service discovery protocol RFCOMM: radio frequency comm. 25.03.2017
Bluetooth Sicherheit 25.03.2017
Protokollanalyse / Paketsniffer Mitschneiden von Bluetoothübertragungen 25.03.2017
Protokollanalyse / Paketsniffer Information zum Sniff-Programm Frontline FTS4BT / Version 10.4.20.2 Erlaubt das Mitschneiden von Datenübertragungen Benötigt Bluetooth-Modul Darstellung der unterschiedlichen Bluetooth-Layer Leichte Bedienung Protocols: • AVRCP - 1.4 • AVCTP - 1.0 • Baseband - 3.0 +HS • AVRCP Browsing -1.4 • AVDTP Signaling - 1.2 • LMP - 2.1 +EDR • FAX - 1.1 • AVDTP - 1.2 • HCI - 2.1 +EDR • Hands Free - 1.5 • MCAP - 1.0 • L2CAP eL2CAP • HCRP - .95 • BIP - .95 • SDP - 2.1 +EDR • HDP - 1.0 • BPP - 1.2 • RFCOMM - 1.1 • Headset - 1.1 • FTP - 1.1 • TCS - 1.1 • HID - 1.0 • OPP - 1.1 • OBEX - 1.0 • AVDTP Recover - 1.2 • PBAP - 1.0 • AVDTP Media - 1.0 • AVDTP Report - 1.2 • SYNC - 1.0 • BNEP - 1.1 • SAP - 1.0 Profiles: • AT Commands • SPP - 1.1 • A2DP - 1.2 • AMP Manager - 1.0 25.03.2017
Protokollanalyse / Paketsniffer 25.03.2017
Protokollanalyse / Paketsniffer 25.03.2017
Protokollanalyse / Paketsniffer 25.03.2017
Abfrage mit Android Problematik Einrichten der Entwicklungsumgebung Bluetooth und seine Probleme Die „fertige“ Anwendung 25.03.2017
Problematik BodyTel Konfiguration Messwerte SiDiary Server 25.03.2017
Einrichten der Entwicklungsumgebung Software: Eclipse IDE for Java Developers Android ADT Plug-in Android SDK Java SDK Hardware: T-Mobile G2 Touch HTC Desire 25.03.2017
Bluetooth und seine Probleme Bluetooth-Unterstützung ab Android 2.0 Ab Android 1.5 über backport-library Abstürze mit backport-library Nicht voll kompatibel 25.03.2017
Die „fertige“ Anwendung 25.03.2017
Abfrage mit C / Linux Bluez ver. 4.78 C Linux Stack Serielle Kommunikation via rfcomm voreingestelltes Paring Kommunikation über D-Bus C System unabhängig Kommunikation mit der Schnittstelle