Yes – You Can Successfully Integrate TimerCap’s iCap and iSort into your Mobile Application!
Along with our TimerCap Devices (iCap and iSort), we provide mobile application developers and integrators iOS and Android Libraries/Frameworks, as well as Demo Applications that make it easy to integrate our Bluetooth LE devices into new or existing mobile applications.
Don’t Know Bluetooth Low Energy (BLE), No Problem
We make it easy to include our TimerCap Bluetooth Connected products in both iOS and Android Apps easy. You are free to completely ignore all 2700 plus pages of the Bluetooth Core protocol including all of these layers and protocols: PHY, LL, HCI, L2CAP, GAP, SM, ATT, GATT.
We handle all of these protocols transparently and behind the scenes. We will guide you through the few very high-level concepts you need to know, such as: Advertising, Connecting, and the Device Number.
In addition, to the standard Bluetooth LE functionality, we have added an Application Layer which performs the following functions automatically:
- CONNECTION – Once instantiated, we automatically and securely connect with TimerCap Devices either during the LINK MODE (onboarding) or LINKED MODE (already LINKED with the Application and Medication). This makes the TimerCap Devices easy to work with, and filters out all irrelevant devices and communications.
- END POINT IDENTIFICATION – Our library validates that the device is an authorized TimerCap Device and that the Library/Application is an authorized Application. This reduces the risks due to man-in-the-middle and other iOT Security Issues.
- OPEN/CLOSE HISTORY GATHERING – We gather not only the most recent Open/Close from the TimerCap Devices, but also any Open/Close History we may have missed, if the devices were out of range from each other. This allows you to always make sure you are giving the correct and most up to date feedback to your users.
- MONITOR OPEN/CLOSE – We also monitor Opens and Closes, and instantly notify your App, while the phone and the TimerCap Devices are connected. This allows you to give the user instant feedback on their actions.
Example of the Application Layer and It’s Automatic Actions:
|iCap or iSort||iPhone or Android Library|
|I am a TimerCap Device (Advertising)|
|I see a TimerCap Device to Connect to, so,|
Issue a Connect
|I see a Connect Request, so,|
|(Bluetooth handles encryption)||(Bluetooth handles encryption)|
|Challenge – Is this a valid TimerCap Device?|
|Answer the challenge as a valid TimerCap Device using Cryptography and Proprietary Algorithm|
|Validate the TimerCap Device using the same Cryptography and Proprietary Algorithm|
|Identify Myself as a valid TimerCap or (your name here) App using Cryptography and Proprietary Algorithm|
|Validate the App using the same Cryptography and Proprietary Algorithm|
|If not validated, provide only minimal functionality (is the Device Open or Closed?).|
If validated, allow updating of Scheduling, Alarms, and retrieving of Open/Close History
|Send me the most recent Open/Close History Record|
|Send the latest record (sequential)|
|If we are missing any History, then request the missing records|
|Send missing records|
|Monitor Open / Close of the TimerCap Device|
|If I have a new Schedule or new Actions (LED’s), send them now|
|Update Schedule and Actions if requested|
Use Your Existing Development Environment and Language
As an Android or iOS Developer, you work in your natural environment (Android Studio or XCode), and using your familiar language (Java or Objective-C / Swift). We provide the objects to use and inherit from, so that you can focus on the integration of the application into your App, and not on Bluetooth LE Technology.
What you normally want to control:
- When the iPhone / Android listens for the TimerCap Devices
- The schedule that the TimerCap Devices use to Advertise, Blink their LEDs (including the frequency, length and color).
What is Included in the Library?
- The Library automatically handles encryption as well as end point identification.
- You create the Medication Schedule (say 8am and 8pm), as well as the Dosage Allowance (say 30 min), and then our library will send down the correct schedule to the TimerCap Device, so it blinks and advertises at the appropriate times.
- You don’t have to be within range of the TimerCap device in order to gather an Open/Close history record. The next time the TimerCap Device and the iOS/Android App communicate, it will make you aware of the missing records.
- The Library provides error logging so you can compare your results to the results of our provided Demo App to gain an understanding if they are not behaving the same. Additionally, you can export the logging when required to debug any issues with your App, or consult with us if you encounter issues. You can provide this functionality to your customer, so they can upload the log, so you and/or TimerCap can debug any issues.
- We allow you to modify the various TimerCap Device Actions such as LED colors, pauses, blink timings if you desire, or you can simply use the defaulted ones that we supply.
The Library is Layered
- There is quite a bit of automatic proven functionality that allows you to use the Library, in an automatic fashion, and from a very high level. It is suitable for more purposes.
- Additionally, we provide access to low level functions which sit directly on the GATT Bluetooth LE layer, and allow you to control the TimerCap device more finely if that’s what’s required.
A Demo Application is Provided
We provide a Demo application for both iOS and Android devices, which exercises the main features. You can simply compile and test with the Demo Apps, and validate your understanding of how all of the features work. You can then either then write an Application around our Demo App, or just incorporate core pieces of the Demo App into your existing Application, depending on your requirements.
How is the Library Supplied?
- Android – as an AAR (.aar) JAR (Java Archive) file
- iOS – As .framework and .bundle files