This guide explains how to use the BLE expansion card (https://cloudgateuniverse.com/docs/ble-card ) on CloudGate.
To follow this guide, you need to have LuvitRED installed first. During development it is advised to use the latest version of LuvitRED, to avoid running into bugs that already have been fixed. The latest version of LuvitRED can be found on CloudGate Universe, here. (Login to CloudGate Universe required)
The default firmware on the BLE expansion card only supports scanning of nearby iBeacon devices. Different firmwares can be flashed onto the BLE card to get different behavior. These firmwares can be requested from OPTION.
An example flow in LuvitRED can be found below. This is how it works. We start by reading the serial port of the BLE card. To activate the data stream from this serial port, you need to set the DTR line momentarily. This is done with the trigger node that is triggered by an inject node that fires a message when the flow is started.
Once the serial port is opened, it will output all discovered iBeacon devices via this port.
When several dozens of iBeacon devices are in close proximity, or if multiple devices are broadcasting at sub-second intervals, some iBeacon messages might not be displayed or even lost in transmission.
The function node (named 'decode' in the examples below) can be used to filter messages out based on the UUID, Major or Minor used by the discovered iBeacon devices.
The serial port to use depends on the BLE expansion card used in your CloudGate Gateway.
When using a CG1119-12096 card, you need to use the /dev/ttyBLE port in the serial node:
When using a CG2126-12194 card (obsolete), you need to use the /dev/ttyCG2126BLE port in the serial node:
The LuvitRED flow displayed above can be found here: