210 likes | 335 Views
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.
E N D
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
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 Sensor Gateway Blutdruck • Bidirektionale Kommunikation • Übertragung nach Messung • Konfiguration • Wartet nach Messung auf Anfrage vom Master Blutzucker
Protokoll Abstraktion Für jeden Sensor Betriebssystemspezifische Implementation für jeden Sensor in Programmiersprache Problem: Deployment der Treiber Herstellerübergreifend Standard ist in Betriebssystemen integriert und wird mit ausgeliefert
IEM devicesends 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
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
Bluetooth Protokolle Audio Verwaltung NW-Anw. vCal/vCard Telefonie Medizinische Sensoren SDP Con-trol TCP/UDP OBEX AT modern commands Propriätere Serielle Sensor-Protokolle IP BNEP PPP RFCOMM (serial line interface) Audio Logical Link Control and Adaption Protocol (L2CAP) Link Manager Baseband Radio 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.
Protokollanalyse / Paketsniffer Mitschneiden von Bluetoothübertragungen
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: • Baseband - 3.0 +HS • LMP - 2.1 +EDR • HCI - 2.1 +EDR • L2CAP eL2CAP • SDP - 2.1 +EDR • RFCOMM - 1.1 • TCS - 1.1 • OBEX - 1.0 • AVDTP Media - 1.0 Profiles: • A2DP - 1.2 • AVRCP - 1.4 • AVRCP Browsing -1.4 • FAX - 1.1 • Hands Free - 1.5 • HCRP - .95 • HDP - 1.0 • Headset - 1.1 • HID - 1.0 • AVDTP Recover - 1.2 • AVDTP Report - 1.2 • BNEP - 1.1 • AT Commands • AMP Manager - 1.0 • AVCTP - 1.0 • AVDTP Signaling - 1.2 • AVDTP - 1.2 • MCAP - 1.0 • BIP - .95 • BPP - 1.2 • FTP - 1.1 • OPP - 1.1 • PBAP - 1.0 • SYNC - 1.0 • SAP - 1.0 • SPP - 1.1
Abfrage mit Android Problematik Einrichten der Entwicklungsumgebung Bluetooth und seine Probleme Die „fertige“ Anwendung
Problematik BodyTel Konfiguration Messwerte SiDiary Server
Einrichten der Entwicklungsumgebung • Software: • Eclipse IDE for Java Developers • Android ADT Plug-in • Android SDK • Java SDK • Hardware: • T-Mobile G2 Touch • HTC Desire
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
Abfrage mit C / Linux Bluez ver. 4.78 Linux Stack Serielle Kommunikation via rfcomm voreingestelltes Paring Kommunikation über D-Bus C System unabhängig Kommunikation mit der Schnittstelle