Skip to content
English
  • There are no suggestions because the search field is empty.

Apollon-Q T/R/TR Quickstart Guide

You are looking for the Apollon-Q T/R/TR Quc

📄 You can view the PDF above or download it here .
Table of Contents
  1. NFC Setup and Location of the NFC Tag
  2. Mounting Options
  3. Payload Decoder Apollon-Q Series

1. NFC Setup and Location of the NFC Tag

  1. Activation is performed via the NFC app. A smartphone is required for this. The app can be downloaded from the respective app store. Search for Sentinum LinQs and install the application.
Figure 1: Sentinum LinQs app.
  1. First, locate the NFC tag on the sensor and then the NFC reader on your smartphone. The position of the NFC tag is shown in the following figures.
Position des NFC-Tags
Figure 2: Position of the NFC tag on the sensor.
  1. Open the app and activate the sensor. In the start menu, select the "Activate Sensor" button and hold your smartphone up to the sensor's NFC tag.
Figure 3: Activating the sensor via NFC.
Note:
When the sensor is activated, you'll see "Sensor Updated!". You can then continue activating additional sensors.
​‌

2. Mounting Options

Montagearten
Figure 4: Overview of available mounting options for the Apollon-Q sensor.
​‌

3. Payload Decoder Apollon-Q Series


// Up-to-date Apollon decoder
function Decoder(bytes, port) {

    // Conversion of signed integers
    function uncomplement(val, bitwidth) {
        var isnegative = val & (1 << (bitwidth - 1));
        var boundary = (1 << bitwidth);
        var minval = -boundary;
        var mask = boundary - 1;
        return isnegative ? minval + (val & mask) : val;
    }

    var decoded = {};

    if (port === 1) {

        // Attributes
        decoded.base_id = bytes[0] >> 4;
        decoded.major_version = bytes[0] & 0x0F;
        decoded.minor_version = bytes[1] >> 4;
        decoded.product_version = bytes[1] & 0x0F;

        // Telemetry
        decoded.up_cnt = bytes[2];
        decoded.battery_voltage = ((bytes[3] << 8) | bytes[4]) / 1000.0;
        decoded.internal_temperature = bytes[5] - 128;
        decoded.alarm = bytes[6] ? "ALARM" : "NO ALARM";
        decoded.master_value = ((bytes[7] << 8) | bytes[8]);

        var byte_cnt = 9;

        // Onboard ToF
        if (bytes[1] & 0x01) {
            decoded.tof_status = bytes[byte_cnt++];
            decoded.tof_distance = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);
            decoded.tof_index = bytes[byte_cnt++];
        }

        // Onboard radar
        if (bytes[1] & 0x02) {
            decoded.radar_status = bytes[byte_cnt++];
            decoded.radar_no_peaks = bytes[byte_cnt++];
            decoded.radar_distance_1 = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);      
            decoded.radar_amplitude_1 = uncomplement(
                (bytes[byte_cnt++] << 8) | bytes[byte_cnt++], 16
            );

            decoded.radar_distance_2 = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);  
            decoded.radar_amplitude_2 = uncomplement(
                (bytes[byte_cnt++] << 8) | bytes[byte_cnt++], 16
            );

            decoded.radar_distance_3 = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);  
            decoded.radar_amplitude_3 = uncomplement(
                (bytes[byte_cnt++] << 8) | bytes[byte_cnt++], 16
            );
        }

        // Onboard ACC
        if (bytes[1] & 0x04) {
            decoded.acc_status = bytes[byte_cnt++] ? "Error" : "OK";
            decoded.acc_orientation = bytes[byte_cnt++];
            decoded.acc_open = bytes[byte_cnt++];
            decoded.acc_open_cnt = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);
            decoded.acc_impact = bytes[byte_cnt++] ? "Vandalism" : "OK";
        }

        // Hall sensor
        if (bytes[1] & 0x08) {
            decoded.hall_open = bytes[byte_cnt++];
            decoded.hall_open_cnt = ((bytes[byte_cnt++] << 8) | bytes[byte_cnt++]);
        }
    }

    return decoded;
}


Supported radio technologies
trash bin Logo