→Summary of Bluetooth communication test between Android and A&D BTP devices
==== Summary of Bluetooth communication test between Android and A&D BTP devices ====
* After the efforts of weeks, we have successfully built Bluetooth communication test programs
of both Android native and PhoneGap (plugin on Android) framework applications.
** The two versions of the test code, through Android Bluetooth APIs, make the Android devices work as Bluetooth server and perform SPP communication of Bluetooth.
Mobile devices: Android. The minimum version of Android is targeted at Android 2.2 and the test devices are HTC Desire (Android 2.3.3) and MOTOROLA XT885 (Android 4.04).
** Medical devices: A&D BTP series which are SPP and SDP conformable. We use A&D UC-321PBT(Weight scale) and UA-767PBT (Blood Pressure Monitor)
* Important points
obtained from the test practice:
** Use the right Bluetooth service name and application UUID (00001101-0000-1000-8000-00805f9b34fb).
** Set Android device to 'discoverable' state for the first medical measurement even through
, for paired device , it is not required** About the Android Bluetooth server (for some medical sensors) work only after rebooting the Android device. This is the first issue we met on the tests. After search on the Internet, We condemned the medical devices uses the fixed RFCOMM port number - #1; and this conclusion was "confirmed" by documentation in the A&D Blackberry code from NexJ, which ask to the port #1 to build Bluetooth server socket. This conclusion could be right form A&D early products. But A&D BTP series current market products (at least UC-321PBT and UA-767PBT) are DSP conformable and use any RFCOMM port number provided by Bluetooth server. The reason of "Android Bluetooth server worked only after rebooting the Android device" is: when the application exited by click the "back" button, it became inactive but its Bluetooth server thread kept receiving signals from medical devices. So the newly started applications could not receive data. Therefore, the issue of "A&D medical devices use fixed Bluetooth port#" is actually not the case.** Unreadable data from medical devices may affect the Bluetooth communication. In the tests, we found inappropriate process of unreadable data from medical devices will interrupt the Bluetooth communication, leading to these measurement records accumulated within medical device's memory (up to 40 records). Each time a new measurement is made, unreadable records will sent to Bluetooth server first, and these records will cause the communication failure. The solution for this issue is that the Bluetooth server accepts these wrong data instead of giving exceptions to interrupt the process , then let applications to deal with these invalid data.