-
Notifications
You must be signed in to change notification settings - Fork 14
Introduction
This SDK facilitates the development of iOS apps that utilize Wearable or Nearable Devices. It helps developing those apps in just a fraction of the time and requiring only minimal knowledge of the Wearable/Nearable domain. It handles these key aspects of utilizing these devices:
- Connecting to the Wearable/Nearable Devices.
- Retrieving data from a specific sensor.
- Making the data available in a standard way regardless of the sensor's make.
- Interpreting raw data and identifying meaningful situations that can be acted upon.
Domain | Features | Details |
---|---|---|
Device Connectivity | Device Connectivity SDK | 1. Facilitates connectivity with Bluetooth Smart (also known as Bluetooth Low Energy or BLE) devices. |
2. Retrieves the raw data of the devices’ sensors. | ||
Ready-made connectors to the following devices: | 1. Texas Instruments SensorTag | |
2. Microsoft Band | ||
3. GemSense | ||
4. Future: Apple Watch | ||
Extensibility | 1. A developer can utilize the SDK to build a custom connector in order to connect with other BLE devices. | |
2. A code sample is provided. | ||
Data dictionary | Allows standardized utilization of inconsistently formatted data coming from different sensors while minimizing the burden on the developer. | |
Data Interpretation | Interpretation SDK | Facilitates the identification of real world phenomena from raw data. |
Ready-made interpreters | 1. Fall Detection | |
2. TBD | ||
Extensibility | 1. A developer can utilize the SDK to build a custom interpretation algorithm in order to identify different types of phenomena. | |
2. A code sample is provided. | ||
Future: Gesture Recognition algorithm engine | Employs a cloud service to analyze a recorded flow of data and generate an algorithm for identifying when the recorded gesture takes place. |
Xcode 7.1 or higher
Each device connector supports a specific physical Wearable/Nearable device. For example, the device connector `SensorTag` class supports the Texas Instruments SensorTag device.
let sensorTag = SensorTag()
[eh:]
Each device can have several sensors. The `sensors` class defines a number of types as variables for connecting to and collecting and processing data from the different sensors. For example the `accelerometer` sensor measures acceleration. It is supported by the `SensorTag()` device and it may be supported by other devices as well.
controller.sensors.accelerometer.registerListener(accelerometerDataListener)
Each interpretation algorithm processes the sensors' data using an interpretation algorithm for identifying a specific situation. For example, the `FallDetection()` class identifies a device fall event based on analysis of motion data coming from an accelerometer sensor.
controller.registerInterpretation(FallDetection(), withListener: fallDetected)
The `BaseInterpretation` class provides methods that help building interpretation algorithms. The `FallDetection()` class, for example, is a subclass of the `BaseInterpretation` class.
[eh:]
[eh:]