EYE SENSOR / BTSMP1
Introduction
Wireless solutions open up new horizons for your business and help to keep an eye on your assets. Discover our brand-new and certified Bluetooth Low Energy ID sensor model from Teltonika with robust waterproof casing and a long-lifetime battery. The model is designed for a low-cost fast and easy configuration and integration to save precious time, resources, and ensure accountability.
About BTSMP1
Perfect for traceability use cases, delivery tracking, monitoring of various movable objects in logistics (trailers, containers), agriculture (tractor attachments), and constructions (tools and inventory). Sensors data makes it especially suitable for cold chain refrigerator use cases. The built-in accelerometer can detect item movement, pitch and roll of the device. Magnet detection can be used for wireless open/close detection and notifications such as trailer door events, etc. EYE sensor supports iBeacon and Eddystone protocols. The device is fully compatible with the Teltonika firmware platform which provides extended functionality. Configure, scan, and update anytime anywhere with a dedicated Teltonika mobile app
Product Specification
Features
Functionalities |
---|
Beacon ID, LED, Temperature, Humidity, Accelerometer, Magnet detection |
Dimensions and weight | |
---|---|
Dimensions | 56,6 mm x 38 mm x 13 mm |
Weight | 18g |
Battery and power | |
---|---|
Model | CR2450 |
Type | Type Lithium, Manganese Dioxide |
Total Capacity | 600 mAh |
Replaceable | No |
Battery life (Tx=2 dBm; interval: 3 s) | 2.5+ years |
Battery life (Tx=2 dBm; interval: 5 s), default | 4+ years |
Battery life (Tx=2 dBm; interval: 10 s) | 5+ years |
Connectivity | |
---|---|
Bluetooth | Bluetooth 4.2 compliant,
Bluetooth 5.2 certified |
Range | 80 m |
Available transmission power levels | Up to 8 dBm |
Sensitivity | -88 dBm |
Casing | |
---|---|
Protection | IP67 |
Mounting | Two holes to screw/leash/strip, tape |
Customization | Custom logo upon request (Special conditions) |
Environmental Requirements | |
---|---|
Humidity (non-condensing) | From 0% to 100% |
Operational temperature | -20°C / +60°C (-4°F / +140°F) |
Protocols compatibility | |
---|---|
iBeacon | Yes
*iOS doesn't show devices with iBeacon protocol |
Eddystone | Yes |
EYE Sensor | Yes |
Dimensions
Mounting recomendations
EYE App Configuration
Devices work constantly and are ready to perform out of the box. Default basic Sensor settings are set to:
• Transmitting at 2 dBm power.
• Data advertising at 1 second intervals.
• Eddystone and Sensors protocol
If you would like to change these settings you will need to:
1) Download and install EYE APP - Teltonika application to change sensor settings.
Eye App Overview
With the application you will be able to scan for visible Teltonika EYE devices, check their statuses or connect for configuration or firmware update.
Devices in view
In this window you will see all visible devices. You have options to see devices in Short list or in default list. When looking at devices in default list you will be able to open Detailed view of devices and check transmitted data statuses. Additionaly if you are looking for specific devices you will be able to use Search function to filter search options. When in this window select a device of your choice to connect and after passing pin code (default pin code is 123456) you will go to device overview window.
Overview window
In overview window you can see device details, check firmware version and update if available , go to device configuration settings. If you select to Configure device new window will open with Basic and Advanced settings.
Configure window
In this window you can check and change device configuration settings. In main tab Basic Settings you can change main settings. Change Device name, Power signal strength, Advertising interval and Packet transmission type*. For more settings go to Advanced settings tab to enable various events.
Advanced configuration window
Advanced configuration: Beacon Settings
In Advanced settings tab you can can configure EYE beacon sensor parameters: Beacon information (iBeacon ID*, Eddystone ID). UUID/MINOR/MAJOR parameter can be changed for iBeacon ID*. Namespace ID/Instance ID can be changed for Eddystone ID. If you scroll down you will be able to adjust Sensor reading interval and event settings of the EYE Sensor Note: iOS doesn't show devices with iBeacon protocol
Advanced configuration: Sensor reading and events
FM Tracker Configuration
Teltonika configurator (Base firmware / advanced mode)
If you have firmware / configurator which does not support EYE sensor tab in Bluetooth 4.0 section, then you can still use Avanced BLE configuration to connect with EYE Sensors.
To configure FM with BTSMP1 EYE Sensor:
Requirements:
Firmware/configurator version with multiple custom IO fields per sensor, we recommend:
FMBXXX: 03.27.07.Rev.00/1.7.22_B.3.27_R.21 or newer
FMX640: 01.02.03/1.7.24_B.FM64_R.34 or newer (FMB640 does not support for BLE functionality)
Step 1: Check EYE App Settings:
- Make sure that name of the sensor is default length (10 symbols) in EYE App Basic Configuration window
- Note what Packet settings you have set in EYE App Basic Configuration window
Step 2: Configure FM device using Teltonika configurator:
- In System settings Enable Codec8 Extended;
- In GPRS settings Configure GPRS Settings and Server Settings
- In Bluetooth settings Enable Bluetooth, set this setting as either "Enable (hidden)" or "Enable (visible)", otherwise Bluetooth will be disabled;
- In Bluetooth 4.0 settings:
- set Non Stop Scan to "Disable", configure "Update Frequency" and "Scan duration" as 30 seconds. These settings will bring the best results for BLE scanning with our device;
- In Bluetooth 4.0 settings Advanced Mode Settings Load EYE Sensor preset according to packet settings in EYE app(if you do not have preset you can download them from below table)
- Configure MAC address of the sensor
- To receive data to server enable corresponding IO elements in FMB120 I/O settings
Advanced mode configuration:
EYE Sensor Packet Setting: | |||
Preset you should use: | EYE Sensors | EYE iBeacon | EYE Eddystone |
FMBXXX Preset download link: | |||
FMBXXX Configuration example download link: | |||
FMX640 Preset download link: | |||
Instructions how you can manually add a preset: link |
Preset Configuration:
If EYE Sensor Packet Settings is EYE Sensors or Eddystone and EYE Sensors:
If EYE Sensor Packet Settings is EYE Sensors or iBeacon and EYE Sensors:
IO element value descriptions:
NAME | DESCRIPTION |
---|---|
Custom1 | Flags(not supported with curent FMX640 preset) |
Temperature | Ambient temperature in Celsius |
Humidity | Ambient humidity in percent |
Custom2 | Movement and movement events count |
Custom3 | Angle |
Custom4 | Battery voltage (2000 + (VALUE * 10)) in mV |
Property ID in AVL packet | Property name | Bytes | Type | Min | Max | Multiplier | Units | Description |
---|---|---|---|---|---|---|---|---|
25 | BLE Temperature #1 | 2 | Signed | -4000 | 12500 | 0.01* | °C | Degrees ( °C ), -40 - +125;
Error codes: 4000 - abnormal sensor state 3000 - sensor not found 2000 - failed sensor data parsing |
26 | BLE Temperature #2 | 2 | Signed | -4000 | 12500 | 0.01* | °C | Degrees ( °C ), -40 - +125;
Error codes: 4000 - abnormal sensor state 3000 - sensor not found 2000 - failed sensor data parsing |
27 | BLE Temperature #3 | 2 | Signed | -4000 | 12500 | 0.01* | °C | Degrees ( °C ), -40 - +125;
Error codes: 4000 - abnormal sensor state 3000 - sensor not found 2000 - failed sensor data parsing |
28 | BLE Temperature #4 | 2 | Signed | -4000 | 12500 | 0.01* | °C | Degrees ( °C ), -40 - +125;
Error codes: 4000 - abnormal sensor state 3000 - sensor not found 2000 - failed sensor data parsing |
86 | BLE Humidity #1 | 2 | Unsigned | 0 | 1000 | 0.1* | %RH | Humidity |
104 | BLE Humidity #2 | 2 | Unsigned | 0 | 1000 | 0.1* | %RH | Humidity |
106 | BLE Humidity #3 | 2 | Unsigned | 0 | 1000 | 0.1* | %RH | Humidity |
108 | BLE Humidity #4 | 2 | Unsigned | 0 | 1000 | 0.1* | %RH | Humidity |
331 | BLE 1 Custom #1 | Variable | HEX | 0 | - | - | - | Custom IO element for BLE sensor |
463 | BLE 1 Custom #2 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
464 | BLE 1 Custom #3 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
465 | BLE 1 Custom #4 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
466 | BLE 1 Custom #5 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
332 | BLE 2 Custom #1 | Variable | HEX | 0 | - | - | - | Custom IO element for BLE sensor |
467 | BLE 2 Custom #2 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
468 | BLE 2 Custom #3 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
469 | BLE 2 Custom #4 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
470 | BLE 2 Custom #5 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
333 | BLE 3 Custom #1 | Variable | HEX | 0 | - | - | - | Custom IO element for BLE sensor |
471 | BLE 3 Custom #2 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
472 | BLE 3 Custom #3 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
473 | BLE 3 Custom #4 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
474 | BLE 3 Custom #5 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
334 | BLE 4 Custom #1 | Variable | HEX | 0 | - | - | - | Custom IO element for BLE sensor |
475 | BLE 4 Custom #2 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
476 | BLE 4 Custom #3 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
477 | BLE 4 Custom #4 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
478 | BLE 4 Custom #5 | 8 | UNSIGNED LONG INT | 0 | 4294967295 | - | - | Custom IO element for BLE sensor |
Teltonika configurator new functionalities (Evaluation firmware / EYE Sensor filtering by name)
Starting with firmware 03.28.04.Rev.207 there is additional tabs available in Bluetooth 4.0 section that allow for easier configuration to connect FM and EYE sensor or beacon.
It's now possible to connect up to 100 sensors at once just by entering one name in the configurator name list. It's required to enter at least 3 characters(case sensitive) in the name for FM to scan the sensors. Super easy to set up!
For example, the you may order Sensors with special configuration from factory where the EYE Sensor names would be TRAILER_1,TRAILER_2,...,TRAILER_99 and so on.
If you would enter TRAILERS in the EYE Fimrware FM configurator then sensors who meet this name condition, for example TRAILER_1, TRAILER_21 , TRAILER_17, would be scanned, while other sensors named Tools, MP1_123546, etc. will not be scanned. With this option, you can upload one configuration to FOTA web and it doesn’t matter which sensor from the list end user will mount, it will be scanned and sent to the server as long as it meets the name criteria.
Bluetooth 4.0
Functionalities were reorganized and transferred to Bluetooth 4.0 configuration tab with additional horizontal tabs selection for specific settings:
- Global - Parameters responsible for device scanning ability like power and duratations.
- EYE - Parameters to configure data reading from EYE sensors.
Common settings
- Non Stop Scan - Enable Non Stop Scan feature, the device will try to scan for the sensors all the time if any of them are configured.
- Sensors and Beacons Update frequency - changes sensors temperature/humidity/battery voltage data update frequency. Minimum value: 30s, maximum value: 65535s. Recommended value 30.
- BLE Scan Duration - Sensors data reading time. Recommended value 30.
- Scan retries until error - Scan retries count, till start to show the value as Error '3000' - sensor disconnected. Recommended value 30.
- BT Power Level - Telematics device Bluetooth power level setting.
- BLE Broadcasting service ID - Telematics device can broadcast configured ID.
- BLE connection control - Connection mode settings. If broadcasting ID is configured, parameter should be set to Prohibit.
Sensors
Sensor Configuration can be set to Custom Sensors, Eye Sensors or both.
With the Custom Sensors setting enabled, any BLE sensor can be configured.
When EYE Sensors is selected, Eye Sensor connectionless functionalities or EYE list search window will appear, depending on the selected EYE Sensor filter.
Name
When EYE Sensors Filter is set to Name, the Eye List search window will appear on the configurator. With this setting, separate EYE Sensor records (AVL ID: 11317) will be generated according to the configured parameters, which are described below:
- Data Clear period- defines how long the FM tracker waits when the Eye sensor is not detected before removing it from the Eye Sensor list and not sending the sensor values. If Data Clear Period is set to 0, then the EYE Sensor will not be removed from the EYE Sensor list and it will always be included in the periodic records.
- RSSI- Parameter defines the dBm threshold value of when the EYE sensor will be added to the sensor list. If the FM tracker detects the RSSI lower than the configured value, it will not be added to the EYE Sensor list.
- Record period - Defines how often the EYE Sensor record (AVL ID: 11317) will be generated when the FM tracker is operating On Stop or On Move modes, according to the configured movement source..
- EYE Sensor Settings - Define what sensor readings data is included in to the EYE Sensor Records. Sensor readings which are not needed can be disabled, to reduce data consumption.
- EYE Name list - Defines what EYE sensors will be added to EYE Sensor list. For EYE Sensors to be added to the list, only the beginning part of the EYE Sensor local name has to match. For example, if in the EYE name list “EYE_SENSOR” is added and the FM tracker detects EYE_SENSOR1, EYE_SENSOR2, EYE_SENSORXYZ, all these EYE Sensors will be added to EYE Sensor list. If the EYE name list is left empty, all the detected EYE Sensors will be included in the EYE Sensor list. NOTE: If EYE Sensor has a name that matches configured one in EYE Name List and if it has a MAC address, that matches configured one in EYE Sensors filtered by MAC address, then such sensor will not be added to EYE Sensor list, but it’s data will be added according EYE Sensor filtered by MAC IO elements.
Once Eye Sensor filtering by name list is selected, EYE Sensor records containing the AVL ID:11317 will start being generated. Below is an example of how EYE Sensor data is packed into AVL ID 11317
AVL ID 11317 structure
Eye Sensor #1 | |
---|---|
EYE Sensor #1 Data length | 1 byte |
1st Parameter ID | 1 byte |
1st Parameter Data Length | 1 byte |
1st Parameter Data | variable |
2nd Parameter ID | 1 byte |
2nd Parameter Data Length | 1 byte |
2nd Parameter Data | variable |
<...> | |
Nth Parameter ID | 1 byte |
Nth Parameter Data Length | 1 byte |
Nth Parameter Data | variable |
Eye Sensor #2 | |
Eye Sensor #2 Data length | 1 byte |
1st Parameter ID | 1 byte |
1st Parameter Data Length | 1 byte |
1st Parameter Data | variable |
2nd Parameter ID | 1 byte |
2nd Parameter Data Length | 1 byte |
2nd Parameter Data | variable |
<...> | |
Nth Parameter ID | 1 byte |
Nth Parameter Data Length | 1 byte |
Nth Parameter Data | variable |
Eye Sensor #N | |
... | ... |
Parameter IDs are used to identify what type of EYE Sensor information is included in the packet. Below is the table describing the possible EYE Sensor parameter IDs, along with their data type and data length.
Parameter ID | Name | Data type | Description | |
---|---|---|---|---|
5 | Eye Sensor Device Name | Array | Device’s name from Device Name List tab | |
6 | EYE Sensor Temperature | 2 byte signed integer | Temperature value measured by EYE Sensor from List Values from -32768 to +32768 with 0.01 C delta | |
7 | EYE Sensor Humidity | 1 byte unsigned integer | Humidity measured by EYE Sensor from List Values from 0 to 100% | |
8 | EYE Sensor Magnet presence | 1 byte unsigned integer | Magnet measured by EYE Sensor from List Values from 0 to1 | |
9 | EYE Sensor Movement presence | 1 byte unsigned integer | Movement measured by Eye Sensor from List Values | |
10 | EYE Sensor Movement count | 2 byte unsigned integer | Movement counts measured by EYE Sensor from List Values | |
11 | EYE Sensor Pitch | 1 byte signed integer | Pitch angle measured by Eye Sensor from list Values | |
12 | EYE Sensor Angle Roll | 2 byte signed integer | Roll Angle measured by EYE Sensor from List Values | |
13 | EYE Sensor Low battery indicator | 1 byte unsigned integer | Low battery state measured by EYE Sensor from List Values from 0 to1 | |
14 | EYE Sensor Battery voltage | 2 byte unsigned integer | Low battery state measured by EYE Sensor from List Values from 0 to1 | |
16 | EYE Sensor Magnet trigger count | 2 byte unsigned integer | Magnet trigger counts measured by EYE Sensor from List Values |
MAC
IF EYE Sensors are selected to be filtered by MAC address, separate EYE sensor records will not be generated; EYE sensor values will be included into regular records with their corresponding IO elements. Up to 4 EYE Sensors can be configured with different MAC Addresses.
In the case of filtering by MAC Address, more advanced configuration is possible, as EYE Sensors’ IOs’ Low, High level, Event Only and Operand parameters can also be configured separately for each IO.
- Working Mode - parameter has 2 options – Disabled and EYE Sensor. When it is disabled, EYE Sensor IO values will not be included into the records. When EYE Sensor is selected, EYE Sensor IO values will be included into records.
- MAC Settings - parameter specifies the MAC address of the EYE Sensor for the FM tracker to read, parse its data and put to corresponding IO elements. If the sensor is not found for set amount of scan retries, error values will be stored into IO elements.
- I/O elements - allows for advanced EYE sensor I/O elements configuration.
Table below describes I/O elements which were added for EYE sensor with the new functionalities release.
Property ID in AVL packet | Property name | Bytes | Type | Min | Max | Multiplier | Units | Description |
---|---|---|---|---|---|---|---|---|
11317 | EYE Sensor List | variable length | HEX | 0 bytes | 1024 bytes | - | - | EYE Sensor List |
10800 | EYE Temperature 1 | 2 | Signed | -32768 | 32768 | 0,01 | °C | Temperature measured by EYE sensor 1 |
10801 | EYE Temperature 2 | 2 | Signed | -32768 | 32768 | 0,01 | °C | Temperature measured by EYE sensor 2 |
10802 | EYE Temperature 3 | 2 | Signed | -32768 | 32768 | 0,01 | °C | Temperature measured by EYE sensor 3 |
10803 | EYE Temperature 4 | 2 | Signed | -32768 | 32768 | 0,01 | °C | Temperature measured by EYE sensor 4 |
10804 | EYE Humidity 1 | 1 | Unsigned | 0 | 100 | - | % | Humidity measured by EYE sensor 1 |
10805 | EYE Humidity 2 | 1 | Unsigned | 0 | 100 | - | % | Humidity measured by EYE sensor 2 |
10806 | EYE Humidity 3 | 1 | Unsigned | 0 | 100 | - | % | Humidity measured by EYE sensor 3 |
10807 | EYE Humidity 4 | 1 | Unsigned | 0 | 100 | - | % | Humidity measured by EYE sensor 4 |
10808 | EYE Magnet 1 | 1 | Unsigned | 0 | 1 | - | - | Magnet measured by EYE sensor 1 |
10809 | EYE Magnet 2 | 1 | Unsigned | 0 | 1 | - | - | Magnet measured by EYE sensor 2 |
10810 | EYE Magnet 3 | 1 | Unsigned | 0 | 1 | - | - | Magnet measured by EYE sensor 3 |
10811 | EYE Magnet 4 | 1 | Unsigned | 0 | 1 | - | - | Magnet measured by EYE sensor 4 |
10812 | EYE Movement 1 | 1 | Unsigned | 0 | 1 | - | - | Movement state and count measured by EYE sensor 1 |
10813 | EYE Movement 2 | 1 | Unsigned | 0 | 1 | - | - | Movement state and count measured by EYE sensor 2 |
10814 | EYE Movement 3 | 1 | Unsigned | 0 | 1 | - | - | Movement state and count measured by EYE sensor 3 |
10815 | EYE Movement 4 | 1 | Unsigned | 0 | 1 | - | - | Movement state and count measured by EYE sensor 4 |
10816 | EYE Pitch 1 | 1 | Unsigned | -90 | 90 | - | - | Pitch and Roll angles measured by EYE sensor 1 |
10817 | EYE Pitch 2 | 1 | Unsigned | -90 | 90 | - | - | Pitch and Roll angles measured by EYE sensor 2 |
10818 | EYE Pitch 3 | 1 | Unsigned | -90 | 90 | - | - | Pitch and Roll angles measured by EYE sensor 3 |
10819 | EYE Pitch 4 | 1 | Unsigned | -90 | 90 | - | - | Pitch and Roll angles measured by EYE sensor 4 |
10820 | EYE Low Battery 1 | 1 | Unsigned | 0 | 1 | - | - | Low Battery indication EYE sensor 1 |
10821 | EYE Low Battery 2 | 1 | Unsigned | 0 | 1 | - | - | Low Battery indication EYE sensor 2 |
10822 | EYE Low Battery 3 | 1 | Unsigned | 0 | 1 | - | - | Low Battery indication EYE sensor 3 |
10823 | EYE Low Battery 4 | 1 | Unsigned | 0 | 1 | - | - | Low Battery indication EYE sensor 4 |
10824 | EYE Battery Voltage 1 | 2 | Unsigned | 0 | 65535 | - | - | Battery Voltage of EYE sensor 1 |
10825 | EYE Battery Voltage 2 | 2 | Unsigned | 0 | 65535 | - | - | Battery Voltage of EYE sensor 2 |
10826 | EYE Battery Voltage 3 | 2 | Unsigned | 0 | 65535 | - | - | Battery Voltage of EYE sensor 3 |
10827 | EYE Battery Voltage 4 | 2 | Unsigned | 0 | 65535 | - | - | Battery Voltage of EYE sensor 4 |
10832 | EYE Roll 1 | 2 | signed | -180 | 180 | - | - | Roll value of EYE Sensor 1 |
10833 | EYE Roll 2 | 2 | signed | -180 | 180 | - | - | Roll value of EYE Sensor 2 |
10834 | EYE Roll 3 | 2 | signed | -180 | 180 | - | - | Roll value of EYE Sensor 3 |
10835 | EYE Roll 4 | 2 | signed | -180 | 180 | - | - | Roll value of EYE Sensor 4 |
10836 | EYE Movement Count 1 | 2 | unsigned | 0 | 65535 | - | - | Movement count value of EYE Sensor 1 |
10837 | EYE Movement Count 2 | 2 | unsigned | 0 | 65535 | - | - | Movement count value of EYE Sensor 2 |
10838 | EYE Movement Count 3 | 2 | unsigned | 0 | 65535 | - | - | Movement count value of EYE Sensor 3 |
10839 | EYE Movement Count 4 | 2 | unsigned | 0 | 65535 | - | - | Movement count value of EYE Sensor 4 |
Eye sensor parameters have error code values, which will written to the I/O value if parameter data is not received. From the error code value, it is possible to distinguish whether the issue is on the FM tracker side or the EYE Sensor. Below is a table describing these values.
Parameter | Data length
(bytes) |
Data type | Error codes | |
---|---|---|---|---|
Data Not Received by FM tracker | EYE Sensor indicates error | |||
Temperature | 2 | signed | 25000 | 25001 |
Humidity | 1 | unsigned | 250 | 251 |
Magnet | 1 | unsigned | 250 | 251 |
Magnet trigger count | 2 | unsigned | 65000 | 65001 |
Movement | 1 | unsigned | 250 | 251 |
Movement counter | 2 | unsigned | 65000 | 65001 |
Pitch | 1 | signed | 120 | 121 |
Roll | 2 | signed | 250 | 251 |
Low battery status | 1 | unsigned | 250 | 251 |
Battery voltage | 1 | unsigned | 250 | 251 |
Note: If you are using presets(firmware/configurator without EYE product support), then refer to BLE Sensors I/O elements table instead.
EYE Sensor Protocol overview
Sensor advertising
Beacon and sensors data
Protocol description
At the highest-level Bluetooth LE advertising packet consists of Advertising Indication and Scan Response. Both packets can be maximum of 31 bytes in size. Advertising Indication packet is always broadcasted when Scan Response is broadcasted only if Observer device requests it by using Active Scan.
BTSMP1 uses Advertising Indication to send beacon data which can be configured to select between iBeacon and Eddystone protocols or to be disabled at all. In that case, data which is shown as Scan Response in protocol overview will be sent as Advertising Indication without Scan Response following it.
Scan Response is used to send device name and manufacturer specific data. Manufacturer specific data includes Teltonika Company ID (0x089A) and protocol version (0x01). It is followed by Flag Encoded Data (Table 1) and Extended Data (Table 2). Later on, protocol will be highly configurable in and will allow to disable/enable sending of device name or any sensor value allowing to reduce size of the packet being sent.
Teltonika BTSX devices are transmitting one or two packets depending on the selected protocol. Broadcast packet + Scan response packet.
A scan response packet is sent when an active scan is used, within the BLE layer of communication. The default for our FM devices and many other applications for example our EYE Appication or nRF connect Application is an active scan.
There are three protocols, with the following packets:
1.iBeacon + EYE Sensors
2.Eddystone + EYE Sensors
For iBeacon + EYE Sensors and Eddystone + EYE Sensors protocols only iBeacon/Eddystone packet is broadcasted and will be seen by both active and passive scans, to see the EYE Sensors packet you need to use an active scan. In other words in an environment where no BLE devices are scanning with an active scan or in case when there are no scanning devices at all, only the iBeacon/Eddystone packet will be sent by the BTS device to conserve energy.
3. EYE Sensors
With EYE Sensors protocol, the EYE Sensor packet becomes broadcast. In other words, in an environment where no BLE devices are scanning with an active scan or in case when there are no scanning devices at all EYE Sensors packet will be sent by the BTS device.
More Information on
Active vs passive scans
Device Name has the following default value for Beacon – ID1_XXXXXXX
Data | Size (Bytes) | Description |
---|---|---|
Flags | 1 | Each set bit (0-7) means the presence of value (0-7). Bits:
|
Value 0 | 2 | Temperature
|
Value 1 | 1 | Humidity
|
Value 2 | 2 | Movement Sensor counter
|
Value 3 | 3 | Movement sensor angle
|
Value 4 | 1 | Battery Voltage
|
GATT Characteristics
Name | Service UUID | Characteristic UUID | Data Type | Min | Max | Default Value | Notes |
---|---|---|---|---|---|---|---|
Device Name | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0016-7df2-4d4e-8e6d-c611745b92e9 | ASCII | 0 | 11 | Unique for each device | - |
Tx Power Lever | 1804 | 00002a07-0000-1000-8000-00805f9b34fb | SINT8 | -14 | 8 | 2 | Possible values: -14, -11, -8, -5, -2, 2, 4, 8 |
Protocol Type | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0001-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 4 | 1 for EYE_Beacon, 4 for EYE_Sensor |
0 - iBeacon 1 - EddyStone 2 - EYE Sensor 3 - iBeacon + EYE Sensor 4 - Eddsytone + EYE Sensor |
Advertising Interval | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0002-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 20 | 10000 | 1000 | miliseconds |
Sub Advertising Interval | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0003-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 20 | 1000 | 100 | Used by repeats, miliseconds |
Advertising Repeats | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0004-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 1 | 10 | 1 | Repeats work only if Advertising Interval is more than 2000 ms and Repeats set to more than 1 |
iBeacon ID | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0005-7df2-4d4e-8e6d-c611745b92e9 | BYTE ARRAY | 20 bytes | 20 bytes | Unique for each device | 16 B - UUID 2 B - major 2 B - minor |
Eddystone ID | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0006-7df2-4d4e-8e6d-c611745b92e9 | BYTE ARRAY | 16 bytes | 16 bytes | Unique for each device | 10 B - Namespace 6 B - Instance |
Password | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0008-7df2-4d4e-8e6d-c611745b92e9 | BYTE ARRAY | 4 bytes | 4 bytes | 123456 | Always 6 Digits |
Sensor Interval | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0009-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 0 | 10000 | 1000 | miliseconds |
Event Interval | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000a-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 0 | 10000 | 1000 | miliseconds |
Event Duration | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000b-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 30 | 30 | seconds |
Temperature Event | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000c-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 2 | 2 | 0 - on entrance 1 - on exit 2 - no event |
Temperature Low | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000d-7df2-4d4e-8e6d-c611745b92e9 | INT8 | -40 | 85 | -20 | celsius |
Temperature High | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000e-7df2-4d4e-8e6d-c611745b92e9 | INT8 | -40 | 85 | 50 | celsius |
Humidity Event | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c000f-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 2 | 2 | 0 - on entrance 1 - on exit 2 - no event |
Humidity Low | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0010-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 100 | 15 | % |
Humidity High | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0011-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 100 | 50 | % |
Movement Event | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0012-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 2 | 2 | 0 - on entrance 1 - on exit 2 - no event |
Movement Start | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0013-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 0 | 300 | 5 | seconds |
Movement Stop | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0014-7df2-4d4e-8e6d-c611745b92e9 | UINT16 | 0 | 300 | 5 | seconds |
Magnetic Event | e61c0000-7df2-4d4e-8e6d-c611745b92e9 | e61c0015-7df2-4d4e-8e6d-c611745b92e9 | UINT8 | 0 | 2 | 2 | 0 - on entrance 1 - on exit 2 - no event |
Manufacturer | 180A | 2A29 | BYTE ARRAY | - | - | Not Configurable | Read Only. Ex. "Teltonika" |
Model | 180A | 2A24 | BYTE ARRAY | - | - | Not Configurable | Read Only. Ex. "BTSID1" |
Serial | 180A | 2A25 | BYTE ARRAY | - | - | Not Configurable | Not used |
Hardware | 180A | 2A27 | BYTE ARRAY | - | - | Not Configurable | Read Only. Ex. "Table:1 Volt:325 |
Firmware | 180A | 2A26 | BYTE ARRAY | - | - | Not Configurable | Read Only. Ex. "1.1.0-beta" |
System ID | 180A | 2A23 | BYTE ARRAY | - | - | Not Configurable | Not used |
MAC | 180A | 652143dc-dec6-4fb1-bd46-3e919d2410a6 | BYTE ARRAY | 6 | 6 | Not Configurable | Read Only. ex. 112233445566 -> 11:22:33:44:55:66 |
Scan Response Data | e61c0000-7df3-4d4e-8e6d-c611745b92e9 | e61c0001-7df3-4d4e-8e6d-c611745b92e9 | BYTE ARRAY | 17 | 17 | Not Configurable | Scan Response Data, see picture for detail view of data structure |
EYE Sensor Bluetooth frame parsing example
Unparsed data | ||
---|---|---|
0201061AFF4C000215FFFFFFFF0B8C404510C655AAB636EBEFBB700055020C094D50315F313233343536370EFF9A0801B708B4120CCB0BFFC767 |
Parsed data | |||
---|---|---|---|
Parameter | HEX Code Part | Actual Value | |
Length | 02 | ||
Type | 01 | ||
Flags | 06 | ||
Length | 1A | ||
Type | FF | ||
Apple company identifier (big endian) | 4C00 | ||
Beacon type | 0215 | ||
UUID | FFFFFFFF0B8C404510C655AAB636EBEF | ||
Major | BB70 | ||
Minor | 0055 | ||
Power | 02 | ||
Length | 0C | ||
Type | 09 | ||
Device name | 4D50315F31323334353637 | ||
Length | 0E | ||
Type | FF | ||
Teltonika company ID (big endian) | 9A08 | ||
Protocol version | 01 | ||
Flags | B7 | Raw value example 0xB7. Data has to be interpretated as binary value.
In this example would be (MSB)1011 0111(LSB) and is parsed from least significant byte(LSB).
1 – Humidity value presence. 1 Means device is reading and transmitting humidity value. 2 – Magnetic sensor presence. 1 Means device is reading and transmitting Magnetic sensor value. 3 – Magnetic sensor state (1 magnetic field is detected/0 magnetic field is not detected) Valid value is present only if bit 2 flag is set. 4 – Movement sensor counter. 1 Means device is reading and transmitting movement state and count values. 5 – Movement sensor angle. 1 Means device is reading and transmitting angle roll and pitch values. 6 – Low Battery indication. 0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %. 7 – Battery voltage value presence. 1 Means device is reading and transmitting battery voltage value. | |
Temperature | 08B4 | Raw value example 0x08B4 hex, 2228 dec.
Raw value needs to be divided by 100. Real temperature is 22,28 Celsius. | |
Humidity | 12 | Raw value example 0x12 hex, 18 dec.
Decimal value is humidity in percent. Humidity 18 % | |
Movement | 0CCB | (MSB)0000 1100 1100 1011(LSB) binary
0 - Most significant byte(MSB) represents Movement status. In this case device is not moving 0. If it was 1 device is moving. 000 1100 1100 1011 – represent detected movements count 3275 decimal value means device has detected total 3275 movement events, | |
Angle | 0BFFC7 | 0B – Most significant byte represents device pitch. Device pitch can be from -90 to 90 degrees.
In this example device pitch is 0000 1011 (2's complement) = 11° degrees.
In this example device Roll is 1111 1111 1100 0111 (2's complement) = -57° degrees | |
Battery voltage | 67 | Battery voltage – raw value example 0x67 hex. Decimal value of parameter 103. To calculate battery voltage need to use calculation 2000 + (VALUE * 10). In this case battery voltage value 2000+(103x10)= 3030 mV |
FM Packet parsing example (Base firmware / Advanced mode)
Unparsed data | ||
---|---|---|
Received data in hexadecimal stream: 00000000000000488E010000017CA6B6BFD8010F0E5188209AB482008600A80F0000000 00006000000020019090400560024000301CF0000001601D00000FF4D01D10000006D00000001014B0001B6010000CF7D
|
AVL Data Packet | ||
---|---|---|
AVL Data Packet Part | HEX Code Part | |
Zero Bytes | 00 00 00 00 | |
Data Field Length | 00 00 00 48 | |
Codec ID | 8E (Codec8 Extended) | |
Number of Data 1 (Number of Total Records) | 01 | |
AVL Data | Timestamp | 00 00 01 7C A6 B6 BF D8 (GMT: Friday, 22 October 2021 06:36:07) |
Priority | 01 | |
Longitude | 0F 0E 51 88 | |
Latitude | 20 9A B4 82 | |
Altitude | 00 86 | |
Angle | 00 0A | |
Satellites | 0E | |
Speed | 00 00 | |
Event IO ID | 00 00 | |
N of Total ID | 00 06 | |
N1 of One Byte IO | 00 00 | |
N2 of Two Bytes IO | 00 02 | |
ID | 00 19 (25 = BLE Temperature #1) | |
Value | 09 04 (2308=23.08°C) | |
ID | 00 56 (86 = BLE Humidity #1) | |
Value | 00 36 (24 %RHT) | |
N4 of Four Bytes IO | 00 03 | |
ID | 01 CF (463 - BLE 1 Custom #2 = Movement status and movement events count) | |
Value | 00 00 00 16 (Currently not moving events count 22) | |
ID | 01 D0 (464 - BLE 1 Custom #3 = Angle ) | |
Value | 00 00 FF 4D (Pitch = 0°, Roll = -179°) | |
ID | 01 D1 (465 - BLE 1 Custom #4 = Battery Voltage) | |
Value | 00 00 00 6D (109 = 2000 + 109 * 10 mV = 3090 mV) | |
N8 of Eight Bytes IO | 00 00 | |
NX of X Bytes IO | 00 01 | |
N’th IO ID - AVL ID. | 01 4B (331 - BLE 1 Custom #1 = Flags) | |
Length of Variable Length IO | 00 01 | |
Value of Variable Length IO | B7 = (MSB)11011 0111(LSB)
It's parsed from least significant byte(LSB):
1 Means device is reading and transmitting temperature value.
1 Means device is reading and transmitting humidity value.
1 Means device is reading and transmitting Magnetic sensor value.
1 magnetic field is detected/0 magnetic field is not detected) Valid value is present only if bit 2 flag is set.
1 Means device is reading and transmitting movement state and count values.
1 Means device is reading and transmitting angle roll and pitch values.
0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %.
1 Means device is reading and transmitting battery voltage value. | |
Number of Data 2 (Number of Total Records) | 01 | |
CRC-16 | 00 00 CF 7D |
FM EYE Sensor record parsing example with the new firmware (Evaluation firmware / EYE Sensor filtering by name)
Parsing EYE Sensor records example
Below You will find an example on how to parse EYE Sensor record with two EYE Sensors present.
Unparsed data | ||
---|---|---|
Received data in hexadecimal stream: 00000000000000908E0100000183407a2beb000f0e3fe3209ab40e008801290d00002c350001000000000 000000000012c3500630130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc 30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90 010000fef4
|
AVL Data Packet | ||
---|---|---|
AVL Data Packet Part | HEX Code Part | |
Zero Bytes | 00 00 00 00 | |
Data Field Length | 00 00 00 90 | |
Codec ID | 8E (Codec8 Extended) | |
Number of Data 1 (Number of Total Records) | 01 | |
AVL Data | Timestamp | 00 00 01 83 40 7a 2b eb(GMT: Tuesday, 18 June 2019 08:25:22.001) |
Priority | 00 | |
Longitude | 0f 0e 3f e3 | |
Latitude | 20 9a b4 0e | |
Altitude | 00 88 | |
Angle | 01 29 | |
Satellites | 0d | |
Speed | 00 00 | |
Event IO ID | 2c 35 (11317) | |
N of Total ID | 00 01 | |
N1 of One Byte IO | 00 00 | |
N2 of Two Bytes IO | 00 00 | |
N4 of Four Bytes IO | 00 00 | |
N8 of Eight Bytes IO | 00 00 | |
NX of X Bytes IO | 00 01 | |
N’th IO ID - AVL ID. | 2c 35 (11317) | |
Length of Variable Length IO | 00 63 (99 bytes) | |
Value of Variable Length IO 11317 |
0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc 30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90 | |
Number of Data 2 (Number of Total Records) | 01 | |
CRC-16 | 00 00 fe f4 |
Parsing AVL ID 11317 data
AVL ID 11317 Unparsed data | ||
---|---|---|
0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc 30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90
|
Parsing the data | ||
---|---|---|
AVL Data packet part | HEX Code Part | |
Constant | 01 | |
Eye Sensor #1 data length | 30 (48 bytes) | |
Parameter ID | 05 (Eye Sensor Device name) | |
AVL Data | Parameter data length | 0f (15 bytes) |
Parameter data | 4d 50 31 5f 42 45 32 41 41 35 00 00 00 00 00 | |
Parameter ID | 06 (Eye Sensor #1 temperature) | |
Parameter data length | 02 (2 bytes) | |
Parameter data | d6 08 (With firmware 03.28.04.rev.203 the value is little endian, converted to decimal and multiplied by 0.01C = 22.42C. With firmware 03.28.04.rev.204 the value is big endian) | |
Parameter ID | 07 (Eye Sensor #1 Humidity) | |
Parameter data length | 01 (1 byte) | |
Parameter data | 2f (converted to decimal = 47%) | |
Parameter ID | 08 (Eye Sensor #1 Magnet) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 00 (no magnet detected) | |
Parameter ID | 09 (EYE Sensor #1 Movement presence) | |
Parameter data length | 01 (1 byte) | |
Parameter data | 00 (none detected) | |
Parameter ID | 0a (parameter ID #10, EYE Sensor #1 Movement count) | |
Parameter Data length | 02 (2 bytes) | |
Parameter data | 4e 00 (converted to dec = 19968) | |
Parameter ID | 0b (Parameter ID #11 Eye Sensor #1 Pitch) | |
Parameter Data length | 01 (1 byte) | |
Parameter data | f9 (converted to decimal = 159 degrees) | |
Parameter ID | 0c (Parameter ID #12 Eye sensor #1 Roll) | |
Parameter data length | 02 (2 bytes) | |
Parameter data | 5a ff (With firmware 03.28.04.rev.203 the value is Little endian, converted to decimal signed 2's complement =-166 degrees With firmware 03.28.04.rev.204 the value is Big Endian) | |
Parameter ID | 0d (parameter ID #13 low battery voltage indicator) | |
Parameter data length | 01 (1 byte) | |
Parameter data | 00 (low battery voltage not detected) | |
Parameter ID | 0e (Eye Sensor #1 battery voltage) | |
Parameter data length | 02 (2 bytes) | |
Parameter data | 0b cc (Converted to decimal = 3020 mV) | |
Eye Sensor #2 data length | 30 (48 bytes) | |
Parameter ID | 05 (Eye Sensor Device name) | |
Parameter data length | 0f (15 bytes) | |
Parameter Data | 09 (EYE Sensor #1 Movement presence) | |
Parameter ID | 06 (Eye Sensor #1 temperature) | |
Parameter data length | 02 (2 bytes) | |
Parameter Data | cb 08 (little endian, converted to decimal and multiplied by 0.01C = 22.51C) | |
Parameter ID | 07 (Eye Sensor #1 Humidity) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 30 (converted to decimal = 48%) | |
Parameter ID | 08 (Eye Sensor #1 Magnet) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 00 (no magnet presence detected) | |
Parameter ID | 09 (EYE Sensor #1 Movement presence) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 00 (no movement presence detected) | |
Parameter ID | 0a (parameter ID #10, EYE Sensor #1 Movement count) | |
Parameter data length | 02 (2 bytes) | |
Parameter Data | 63 00 (converted to decimal = 25344) | |
Parameter ID | 0b (Parameter ID #11 Eye Sensor #1 Pitch) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 00 (converted to dec = 0 degrees) | |
Parameter ID | 0c (Parameter ID #12 Eye sensor #1 Roll) | |
Parameter data length | 02 (2 bytes) | |
Parameter Data | af 00 (Little endian, converted to decimal signed 2's complement =175 degrees) | |
Parameter ID | 0d (parameter ID #13 low battery voltage indicator) | |
Parameter data length | 01 (1 byte) | |
Parameter Data | 00 (low battery voltage not detected) | |
Parameter ID | 0e (Eye Sensor #1 battery voltage) | |
Parameter data length | 02 (2 bytes) | |
Parameter Data | 0b 90 (Converted to decimal = 2960mV) |
Safety information
This message contains information on how to operate BTSID1 safely. By following these requirements and recommendations, you will avoid dangerous situations. You must read these instructions carefully and follow them strictly before operating the device!
1. To avoid mechanical damage, it is advised to transport the device in an impact-proof package.
2. In case of malfunction contact yours Teltonika account manager or write to technical support team over VIP helpdesk.
Certification & Approvals
Certificates | |
---|---|
E-Mark (EU) | YES |
FCC (USA) | YES |
CE/RED (EU) | YES |
RoHS (EU) | YES |
REACH (EU) | YES |
Anatel(EU) (PR) | YES |
IP rating | YES |
SIRIM QAS | YES |
HS | YES |
SDPPI POSTEL | YES |
TELEC | YES |
External Links
Product Page
https://teltonika-gps.com/eye/
Product Change Notifications
The latest Product Change Notifications can be found: Product Change Notifications
Compatibilty with other Teltonika Devices
Teltonika Networks: https://wiki.teltonika-networks.com/view/Bluetooth_EYE_Sensor_and_EYE_Beacon_support
Partner Providers Supporting Software
Frequently asked questions (FAQ)
- Questions about Power and Electrical characteristics
- Questions about EYE Accessory configuration (EYE APP)
- Questions about FMBxxx compatibility with EYE Accessories
- Questions about Protocols
- Other questions (Questions without category)