Bluetooth Gateway Heartbeats

If you are rolling out many gateways, there comes a time when you start wondering if all of them are working and connected. While it’s possible to write a server side script/code to detect whether or not data has been received from the gateway in the last n seconds/minutes, this doesn’t work when there aren’t any Bluetooth devices in the vicinity of some gateways which won’t be sending payloads.

iGS01S Bluetooth WiFi Gateway

The INGICS gateways have a way of setting up a heartbeat that’s a dummy payload used to indicate a gateway is working and connected. It’s set up by telnet to the gateway and issuing the following command followed by a reboot:

> SYS HEARTBEAT 1
> REBOOT

The ‘1’ signifies every 1 minute and allows setting up to 255 minutes. A $HBRP data payload is to the server in the form:

$HBRP,FECE97089146,FECE97089146,-127,00000000

The heartbeat functionality is available on firmware IGS01-v2.0.0 and IGS01S-v2.0.0 or later.

INGICS Bluetooth Gateway MQTT Service Levels

The INGICS iGS01S (WiFi) and iGS02E (Ethernet) gateways support MQTT to send data to a server.

iGS01S Bluetooth LE WiFi Gateway

MQTT defines three levels of Quality of Service (QoS) that relate to whether requests are resent if not acknowledged:

  • 0 – The broker/client will deliver the message once, with no confirmation.
  • 1 – The broker/client will deliver the message at least once, with confirmation required.
  • 2 – The broker/client will deliver the message exactly once by using a four step handshake.

The INGICS gateways only support QoS level 0. This is because these gateways have lower memory and processing capability. They don’t have enough memory to queue unacknowledged requests required of other QoS levels. The extra processing would also significantly impact the performance and hence throughput.

If you need a higher MQTT service level then try the Minew G1 that supports QoS levels 0 and 1.