Empatica Programming Interfaces
Empatica research products are currently compatible with three programming interfaces: Android and iOS SDKs and a Windows based Bluetooth Low Energy (BLE) Server. All three of these solutions are designed to allow for real-time time connections to the E4’s data stream.
In order to build your own applications using the Empatica API, you need an API Key and the SDK(s) for your platform(s) of choice. The key is used to authenticate your applications for accounting purposes. You can read the guide: Develop your own app.
There are no REST APIs at this time so access to data that has been uploaded to the Empatica Connect web application is only accessible through the use of the GUI.
Empatica provides developers SDKs for mobile development, both for Android and iOS platforms.
You can find info on how to develop your mobile application using the Empatica SDK for iOS tutorial. Sample projects are provided that demonstrate single and multiple Empatica E4 wristbands connections from your iOS device.
Also check our API reference.
For development in Java on your prefered environment, EmpaLink for Android offers developers access to real-time data-streams from within your Android application. E4 data can be retrieved using the following methods:
|void||didReceiveAcceleration(int x, int y, int z, double timestamp)||This method is invoked when a new acceleration value is available|
|void||didReceiveBatteryLevel(float level, double timestamp)||This method is invoked when a new battery level value is available|
|void||didReceiveBVP(float bvp, double timestamp)||This method is invoked when a new BVP value is available|
|void||didReceiveGSR(float gsr, double timestamp)||This method is invoked when a new GSR value is available|
|void||didReceiveIBI(float ibi, double timestamp)||This method is invoked when a new interbeat interval (IBI) value is available|
|void||didReceiveTemperature(float temp, double timestamp)||This method is invoked when a new temperature value is available|
Note that button press/event mark timing is not yet available on the Android platform.
You can find additional info, including a complete tutorial, on the Empatica SDK for Android tutorial.
A sample console app that demonstrates how to establish a streaming connection to the E4 wristband can be found on the Empalink Sample Project for Android GitHub project. For simplicity the project demonstrates EDA streaming for ten-seconds - all other arguments are commented out.
Stream data from one or more E4 wristbands into your Windows-based application with the Empatica BLE Server for Windows. Empatica’s Windows BLE Server solution operates exclusively with the BlueGiga BLED112 Bluetooth Smart Dongle.
The Empatica BLE Client application, developed in C#, is an demonstration console that works in conjunction with the BLE Server in the Windows platform. Instructions and client source-code available at: Empatica BLE client GitHub project.
The Empatica BLE Server is a Windows application that can connect to multiple Empatica E4 devices using Bluetooth and stream data to local endpoint using multiple socket connections. Instructions about the Empatica BLE server are available at Empatica BLE server documentation.
Support or Contact
Having trouble with Empatica developer's software? Contact support and we’ll help you sort it out.