Installation

General

This document will provide guidance on installing and configuring the BLE Connection Component.
The BLE Connection Component only works with Flow Mobile Clients (iOS/Android).

Prerequisites

System and Version

System
Version
IFS Applications
10
Novacura Flow Server
6.14
Novacura Flow Studio
6.14
Novacura Mobile Client (Android)
​Google Play Store​
Novacura Mobile Client (iOS)
​Apple App Store​
Connectors
Database, REST Service

Flow Connectors

IFS Connector

If you do not have a connector set up, you can see an example here.

REST Connector

REST - QuickChart

QuickChart is an open source chart image API for generating chart images, PDFs, and QR Codes.
A REST Connector Project must be set up to utilize QuickChart.
Create a new REST Service Connector named "Quick Chart" and import the configuration file "QuickChart API.ncrcp." For more information see Import a REST Configuration.
  • Enter a Base Address of https://quickchart.io
Review QuickChart's Documentation for additional information on how to utilize this service.

Flow Properties

Before installing the workflows, it is required to create several Global Flow Properties within Novacura Flow Studio.

Flow Text Properties

Flow Property
Example Value
Description
AppOwner
ifsapp
IFS environment application owner (Schema).

Installation

Make sure that you have created all connectors and Flow properties before importing the workflows.

1. Import Workflows

Import workflows in the file "BLE Connection Component".
For additional details see Import Workflows.

2. Setting up the Bluetooth Device

After importing the workflow, we need to setup the parameters for your Bluetooth device in flow so that the flow can read values from it.
  • Within the Server Contents window navigate to the Object Measurements folder and open the workflow (Double Click on) BLE Connection Component.
  • Click on the Pencil icon at the top left corner to edit the Flow
  • Scroll to the right until you find the Event Step Icon
  • Double click on the Event Step and a dialog box will appear. In the resulting dialog box, there are two fields with pre-filled values named Device Service UUID and Characteristic UUID.
  • To connect and read measurements from any Bluetooth device we need to replace these pre-filled UUID’s with actual UUID’s broadcasted by the Bluetooth device.
  • The Device Service UUID and Characteristic UUID can be specific to the type of device and its manufacturer. It’s also possible that one device advertising multiple services (multiple Service UUID’s). Hence its important to figure out the correct Service UUID and the relevant Characteristic UUID. There are many free apps available in both Android Play store and Apple App store which can help you to find this.
  • One such app that can be used is called LightBlue available for Android and iOS.
​
​
​
​
  • Download and install the LightBlue app on a mobile device before continuing.
  • After installing the LightBlue app, you will be prompted to switch-on bluetooth on the mobile device if it is not already turned on.
​
​
  • Now you should be inside the LightBlue app. In the initial screen the app will show a list of devices within its range, and you should see a CONNECT button right next to the device. If your Bluetooth device (which you are trying read the measurements from) is switched on it should be visible in this list. Click on CONNECT button to connect to the device.
​
​
  • As an example, we will connect to the wearable device named “Polar HR Sensor”. Once you are connected you will see a screen similar to this.
​
​
  • Scroll down and you will see services advertised by the connected Bluetooth device. Click on any of the service. For our example we will be selecting BATTERY SERVICE which is supposed to advertise the battery level of the device.
​
​
  • Once you selected the service you will be presented with a screen similar to this. Copy the Service UUID and Characteristic UUID values. These values will be used in the Flow app.
​
​
  • In this example the BATTERY SERVICE is supposed to broadcast the battery level of the device. To test, click on READ AGAIN button. As show in the screen capture the battery level of wearable is presented.
​
​
  • Now you should have the copied values for Service UUID and Characteristic UUID from the LightBlue app. Go back to Flow Studio and update the Service UUID and Characteristic UUID with the new values.
  • Select an appropriate data type.
The data types such as Signed 16-bit, 32-bit, 64-bit and Unsigned 16-bit, 32-bit, 64-bit expects an Array of Bytes. For Battery Service if you use any of those data types you might get the following error message when running the flow: Destination array is not long enough to copy all the items in the collection. Check array index and length. Parameter name: value. This occurs because the Battery Service is sending only one Byte whereas the flow app expecting an Array of Bytes if the data type is set to Signed 16-bit, 32-bit, 64-bit or Unsigned 16-bit, 32-bit, 64-bit.
  • Click OK to close the dialog box.
  • Commit the changes done to the Flow by clicking the Check Icon on the top left.
  • Provide a meaningful comment message to the revision and press Commit

3. Setting Menu Roles

Together with the imported workflows there will also be a menu. Connect the menu to your roles to make them available for users.
For details see Setting Menu Roles​

4. Publishing Workflows

Within the Server Contents Window right-click on the BLE Component folder and select “Publish”. This process can take a few minutes but once complete, a Publish Successful message will be displayed.
If you receive any errors during the publication of the workflow. Please review the error detail and consult your support contact with the relevant information.
For details see Publishing Workflows​