Changes

Jump to: navigation, search

Phonegap Healthcare Adapter

2,443 bytes removed, 20:51, 26 January 2014
no edit summary
[[category: NexJ Current Projects]][[category: NexJ Express SQLite]]{{Admon/obsolete}}
<big><big> PhoneGap Healthcare Adapter for NexJ </big></big>
''''' NexJ Medical Peripheral Mobile Adapter '''''
will be designed to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth peripherals.
== Project Goal ==: ''{{See Also|Phonegap Healthcare Adapter Questions|Phonegap Healthcare Adapter Backlog}}''Develop an adapter to enable : ''{{Category See Also|NexJExpress Research}}''s Mobile Healthcare solutions to interact with Bluetooth peripherals.
{{TOC limit}}
== Contributors ==
 
* [[User:Cwdesautels|Carl Desautels]]
* [[User:Wei.song | Wei Song]] == Problem == [[File:NexjMobile.png|thumb|right]] NexJ's mobile health solution requires its smartphone health coach application to have the ability to read medical measurement data from Bluetooth-capable devices, The devices included in the initial project proposal are as follows: blood pressure device, glucose level measuring device and a weight measuring device. The health coach application will be designed to use PhoneGap, a rising technology that blurs the line between mobile operating systems. Implementing native Bluetooth adapters becomes only part of the solution. The health coach application will interact with a unified API in JavaScript to retrieve data from Bluetooth-capable medical peripherals.
The unified JavaScript API will be developed to utilize PhoneGap's JavaScript API to make native code calls. These native calls will focus on a medical Bluetooth device adapter which also must be implemented. This Bluetooth adapter will be extended for each supported measuring device and implemented on each supported mobile operating system.
 
== Project Scope ==
 
* Not responsible for communication with the server.
* Responsible for communication with Bluetooth peripherals.
== Supported Versions ==
 
* [http://phonegap.com/download PhoneGap] 2.0.0, released July 20, 2012
 
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS OSX] ===
 
* Xcode 4.3 +
* OSX 10.7 +
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android Android] ===
 
* Eclipse 3.6.2 +
* ADT Latest
* Bluetooth SPP capable
== [[Phonegap_Healthcare_Adapter_Backlog|Project Status]] ==
== Project Status==* '''Current Sprint''' : [[Phonegap_Healthcare_AdapterPhonegap_Healthcare_Adapter_Backlog#Investigation | Investigation]]
== [[:Category:NexJ_Express_Research|Research]] ==
== Project Backlog ===== Investigation ======= iOS ====* Bluetooth can work on simulators.communication outline: [[Phonegap_Healthcare_Adapter_Bluetooth_Spec|Spec]]* Deploy to devices, requiring enrollment in the Bluetooth native implementation: [https://developer.apple.com/programs/ios/ developer program[Phonegap_Healthcare_Adapter_Bluetooth_Implementation|Details]].* Understand Objective C.Project Design: [[Phonegap_Healthcare_Adapter_Design|Design Page]]* Understand iOS best practice development.* Understand iOS PhoneGap Phonegap cross platform plugin best practices.solution: [[Phonegap_Healthcare_Adapter_Plugin_Implementation|Tutorial]]
==Project Repository == Android ====* Bluetooth does '''not''' work on the emulator.* Understand ADK best practice development.* Understand ADK PhoneGap plugin best practices.
=== The Problem ===NexJ's * https://bitbucket.org/cwdesautels/nexj-mobile health solution requires its smartphone health coach application to have the ability to read medical measurement data from Bluetooth-capable devices, The devices included in the initial project proposal are as follows: blood pressure device, glucose level measuring device and a weight measuring device.bluetooth-adapter
The health coach application will be designed to use PhoneGap, a rising technology that blurs the line between mobile operating systems. Implementing native Bluetooth adapters becomes only part of the solution. The health coach application will interact with a unified API in JavaScript to retrieve data from Bluetooth-capable medical peripherals.=== Mercurical HowTo ===
The unified JavaScript API will be developed to utilize Phonegap's JavaScript API to make native code calls* [https://developer. These native calls will focus on a medical Bluetooth device adapter which also must be implemented. This Bluetooth adapter will have be extended for each supported measuring device and implemented on each supported mobile operating systemmozilla.org/en-US/docs/Mercurial Mozilla Mercurial Docs]
=== Branching Rules ===
[[File:nexjMobile.png]]
 
=== PhoneGap API ===
* Design a unified API in JavaScript that will allow the NexJ application to interact with Bluetooth devices.
* Define a project architecture that facilitates multiple device compatibility.
 
=== Blood Pressure Device ===
==== iOS ====
* Create native Bluetooth adapter for this device.
 
==== Android ====
* Create native Bluetooth adapter for this device.
 
=== Glucose Level Device ===
==== iOS ====
* Extend native Bluetooth adapter for this device.
 
==== Android ====
* Extend native Bluetooth adapter for this device.
 
=== Weight Scale Device ===
==== iOS ====
* Extend native Bluetooth adapter for this device.
==== Android ====
* Extend native Bluetooth adapter for this device.
 
 
== Process Description of Bluetooth Communication ==
 
=== Bluetooth Profile ===
Serial Port Profile (SPP).
=== Bluetooth protocols ===
RFCOMM and Service Discovery protocols.
=== Pairing ===
Secure Simple Pairing
=== Data transmission ===
Measurement date/time, measurement values, Bluetooth Id of remote unit, mode, and serial number of A&D PBT Series.
=== Master devices ===
A&D Bluetooth® devices PBT series, including blood pressure meter, blood glucose meter, and weight scale.
=== Slave devices/Access Points ===
mobile devices, including iOS and Android smartphones/tablets.
 
[[File:NexjPhoneGap.png]]
 
=== Communication Process Description for unpaired devices in brief:===
*Enable Bluetooth on the mobile device and set the device to discoverable mode (as slave device).
*Make a measurement on selected A&D Bluetooth device such as weight scale. Upon the completion of measurement, the device (as master device) searches slave devices and initials Bluetooth communication.
*The mobile device receives the signal of the A&D Bluetooth device and prompts user to enter a PIN/passkey.
*Once the PIN is matched, the A&D Bluetooth device sends the measurement data to the mobile device using the specified format such as weight scale packet followed by the Confirmation Packet Response.
*Upon the success of connection, the two devices are paired. Then PIN code is no longer needed afterward.
 
=== Communication Process Description for paired devices in brief: ===
*Enable Bluetooth on the mobile device and set the device to discoverable mode.
*Make a measurement on selected A&D Bluetooth device. Upon the completion of measurement, the A&D Bluetooth device checks its memory for previously paired address of mobile device and directly sends the measurement data to the mobile device using the specified format, followed by the Confirmation Packet Response.
 
=== Blood Pressure Device Specification ===
=== Glucose Device Specification ===
=== Weight Scale Specification ===
 
== Project Repository ==
* https://bitbucket.org/cwdesautels/nexj-mobile-bluetooth-adapter
=== Mercurical HowTo ===
* [https://developer.mozilla.org/en-US/docs/Mercurial Mozilla Mercurial Docs]
=== Branching Rules ===
* Nobody commits to ''default''.
** ''default'' is the master branch we will use to generate submissions back to NexJ
== Resources ==
* Research
** [[:Category:NexJ_Express_Research|Notes]]
* Dowloads:
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS PhoneGap: Getting Started with iOs]
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android PhoneGap: Getting Started with Android]
* Documentation:
** Bluetooth Developer Portal:
*** [http://developer.bluetooth.org/KnowledgeCenter/Pages/White-Papers.aspx Bluetooth White papers]
*** [http://developer.bluetooth.org/DevelopmentResources/Pages/Introduction-to-Bluetooth-Application-Development.aspx Development Resources]
** iOS Developer Resource
*** [http://developer.apple.com/library/ios/#technotes/tn2295/_index.html Bluetooth on Simulators]
*** [http://hiediutley.com/2011/03/30/phonegap-tutorial-series-4-using-a-third-party-plugin/ PhoneGap Tutorial]

Navigation menu