ece 411 final presentation
TRANSCRIPT
![Page 1: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/1.jpg)
Assisted Living
Device Overview and Software Implementation
Cham Oh
December 5, 2005
![Page 2: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/2.jpg)
TOPICS
Medical Devices Overview RFID Devices Overview Cell Phone Programming
![Page 3: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/3.jpg)
Medical Devices
Criteria Wireless Technology Medical Features Pluggability Programmability Design Cost
![Page 4: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/4.jpg)
Nonin Pulse Oximeter
Bluetooth (30 ft range) SpO2, heart rate, plethysmographic
data Can be connected to any bluetooth-
enabled device Open communication protocols Development kit support $495 www.nonin.com
![Page 5: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/5.jpg)
RFID Devices
Long-range detection Tracking/locationing Programmability Design Cost
![Page 6: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/6.jpg)
RFID Products
RFIDeas Xtag IAutomate
![Page 7: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/7.jpg)
RFID Issue
Is it possible to exactly locate the tag?
![Page 8: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/8.jpg)
Cell Phone Programming
Embedded Runtime Environments BREW (Binary Runtime Environment for Wireless)
Developed by Qualcomm C/C++
J2ME (Java 2 Platform Micro Edition) Developed by Sun Java
![Page 9: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/9.jpg)
BREW vs. J2ME
BREW J2ME
C/C++
Better for complex apps.
Qualcomm-specific
Device-dependent
Costly
Java
Runs on VM (Slow)
Platform-independent
Device-independent
Free
Deal We don’t need a complex program. We want freedom in programming. We want it for free!
![Page 10: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/10.jpg)
Cell Phone Programming
Which cell phone do we need to purchase? Bluetooth J2ME SDK support
Motorola Bluetooth-enabled J2ME support Motorola SDK v5.2.1 for J2ME Device emulator support
![Page 11: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/11.jpg)
J2ME Development
J2ME IDE JDK 5.0 Update 6 NetBeans with Mobility Pack (
http://www.netbeans.org/downloads/index.html) CodeWarrior Wireless Studio 7.0 (
http://www.metrowerks.com) – pay toolkit
Java APIs Bluetooth Wireless Technology (JABWT), JSR082 Network APIs
![Page 12: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/12.jpg)
Bluetooth Stack
![Page 13: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/13.jpg)
Bluetooth Application
![Page 14: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/14.jpg)
Initialization
... private LocalDevice localDevice; // local Bluetooth Managerprivate DiscoveryAgent discoveryAgent; // discovery agent .../** * Initialize */public void btInit() throws BluetoothStateException{
localDevice = null;discoveryAgent = null;// Retrieve the local device to get to the Bluetooth Manager localDevice = LocalDevice.getLocalDevice();// Servers set the discoverable mode to GIAC localDevice.setDiscoverable(DiscoveryAgent.GIAC);// Clients retrieve the discovery agentdiscoveryAgent = localDevice.getDiscoveryAgent(); }
...
![Page 15: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/15.jpg)
DiscoveryAgent / DiscoveryListener
![Page 16: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/16.jpg)
Device Discovery State
![Page 17: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/17.jpg)
Service Discovery State
![Page 18: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/18.jpg)
Discovering Nearby Dervicespublic class BtClient implements DiscoveryListener {
...Vector discoveredDevices = new Vector();...// DiscoveryListener Callbacks ////////////////////////** * deviceDiscovered() is called by the DiscoveryAgent when * it discovers a device during an inquiry. */public void deviceDiscovered( javax.bluetooth.RemoteDevice remoteDevice, javax.bluetooth.DeviceClass deviceClass) {
// Keep track of discovered remote devices by inserting// them into a Vector
...}/** * inquiryCompleted() is called by the DiscoveryAgent when * a device discovery cycle finishes. */public void inquiryCompleted(int param) {
// Now that the inquiry has been completed, if any// devices were discovered trigger the search for services...
}
![Page 19: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/19.jpg)
Discovering Nearby Services/** * servicesDiscovered() is called by the DiscoveryAgent when * a service search finds services. * transID identifies the service search that returned results. * serviceRecord holds references to the services found.*/public void servicesDiscovered(int transID, javax.bluetooth.ServiceRecord[] serviceRecord) {
// Keep track of discovered services, adding them// to a Vector...}
/** * serviceSearchCompleted() is called by the DiscoveryAgent * implementation when a service search finishes. * transID identifies a particular service search. * responseCode indicates why the service search ended. */public void serviceSearchCompleted (int transID, int responseCode) {
// Now that the service discovery has been completed, // dispatch thread to handle the discovered services...
}
![Page 20: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/20.jpg)
UUID Class
Universally Unique Identifier required for each service
Represents short (16 or 32-bit) and long (128-bit) UUIDs
Use command uuidgen (Windows), or uuidgen –t (Linux)
Ex) 2d266186-01fb-47c2-8d9f-10b8ec891363
![Page 21: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/21.jpg)
SDDB and ServiceRecord Class
![Page 22: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/22.jpg)
Device ManagementLocalDevice Class
![Page 23: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/23.jpg)
RemoteDevice Class
![Page 24: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/24.jpg)
Bluetooth Communication
![Page 25: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/25.jpg)
Network APIs
CommConnection for serial interface HTTP connection HTTPS connection Socket Support UDP SSL
![Page 26: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/26.jpg)
Socket Connection
![Page 27: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/27.jpg)
Socket Connection
![Page 28: ECE 411 Final Presentation](https://reader035.vdocuments.net/reader035/viewer/2022062513/555b6058d8b42a932e8b4d07/html5/thumbnails/28.jpg)
References
Sun’s J2ME: http://java.sun.com/j2me Bluetooth Development Article:
http://developers.sun.com/techtopics/mobility/apis/articles/bluetoothintro/index.html
Network Implementation: http://developers.sun.com/techtopics/mobility/midp/articles/midp2network/
Motorola Developer Program: http://www.motocoder.com