# GPS-мониторинг стационарных объектов с BLE-метками

Любой объект можно интегрировать в Интернет вещей. Платформа позволяет отслеживать не только подвижные объекты, но и стационарные, такие как тяжелая техника, сельскохозяйственная техника, груз, товары или охранное оборудование. Установка GPS-устройств на каждый из этих объектов может быть очень дорогостоящей. Вместо этого более экономично установить одно устройство на транспортное средство или объект и отслеживать все остальные с помощью более дешевых BLE-меток.

В этом руководстве мы расскажем, как организовать отслеживание стационарных объектов, какие GPS-устройства и метки помогут собрать необходимые данные и как настроить их на примере прицепов для грузовиков. Мы также рассмотрим, как получить информацию о поездках и времени использования для последующих сервисных работ и какие API-вызовы предоставят информацию о метках. Кроме того, мы поделимся другими вариантами использования, основанными на реальных ситуациях.

## Что нужно для отслеживания стационарных объектов

Различные устройства способны считывать данные с BLE-маяков: Galileosky, Quecklink, Ruptela, Teltonika, TopFlyTech\*.\* Мы опишем на примере [Teltonika FMB920](https://www.navixy.com/devices/teltonika/teltonika-fmb920/) модели и BLE-маяка [Eye Sensor](https://teltonika-gps.com/products/accessories/sensors-beacons/eye).\
Чтобы начать отслеживание стационарных объектов, вам понадобятся следующие компоненты:

1. GPS-устройство, которое может считывать BLE-метки и поддерживается платформой.
2. BLE-метки, совместимые с GPS-устройством.\
   Стоит отметить, что многие BLE-метки могут передавать информацию о температуре и влажности, а также о заряде батареи. Это расширяет возможности отслеживания информации с помощью этих меток, но в нашем случае мы сосредоточимся именно на стационарных объектах.
3. API платформы, которое предоставляет информацию о том, рядом с каким GPS-устройством находится та или иная метка. Чтобы создавать собственные решения для ваших пользователей с использованием API, вам понадобятся разработчики. Клиенты обычно нанимают собственных разработчиков или привлекают сторонние команды.

Теперь рассмотрим процедуру реализации реального сценария — отслеживания прицепов для грузовиков с целью получения информации о поездках и времени использования, а также для последующих сервисных работ.

## Как настроить устройство

Выполните следующие шаги, чтобы настроить устройство на передачу данных BLE-маяка на платформу:

1. Скачайте [Teltonika Configurator](https://wiki.teltonika-gps.com/view/Teltonika_Configurator_versions). Это приложение позволяет быстро настроить сразу множество параметров. Вы можете сохранить предустановку и использовать ее в FOTA Web для настройки других устройств, что делает процесс более удобным.
2. На вкладке System установите Data Protocol в значение Codec 8 Extended. Это позволит устройству работать с BLE-метками.\
   ![How to configure your device](/files/9872f0c85d578a1d2d96a1610737c278a4c49749)
3. Включите Bluetooth в настройках Bluetooth и выберите либо "Enable (hidden)", либо "Enable (visible)". В противном случае Bluetooth будет отключен.\
   ![How to configure your device](/files/0c8ac4ed055f1b78df24d80d3a360c30f59fba55)
4. В настройках Bluetooth 4.0 отключите Non-Stop Scan и установите Update Frequency и Scan Duration на 30 секунд. Эти параметры оптимизируют сканирование BLE устройством.
5. В разделе Advanced Mode Settings настроек Bluetooth 4.0 загрузите предустановку EYE Sensor в соответствии с параметрами пакета в приложении EYE.
6. Настройте MAC-адрес датчика.

Теперь устройство готово передавать данные с находящихся поблизости меток на платформу.

## Как получить информацию о BLE-маяках рядом с GPS-устройством

На стороне платформы есть объект записи данных BLE-маяка:

```json
{
  "tracker_id": 10181654,
  "hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
  "rssi": -101,
  "get_time": "2023-04-17 17:14:42",
  "latitude": 50.3487321,
  "longitude": 7.58238,
  "ext_data": {
    "voltage": 3.075,
    "temperature": 24.0
  }
}
```

Из него можно прочитать следующую информацию:

* `tracker_id` - int. Идентификатор трекера (он же "object\_id").
* `hardware_id` - string. Идентификатор маяка.
* `rssi` - int. RSSI означает indicator of received signal strength и представляет мощность принятого сигнала на устройстве. По этому параметру можно понять, насколько далеко находится маяк от трекера.
* `get_time` - [дата/время](https://www.navixy.com/docs/navixy-api/user-api/backend-api#data-types). Когда эти данные были получены.
* `latitude` - float. Широта.
* `longitude` - float. Долгота.
* `ext_data` - object. Дополнительные данные маяка.

### API-вызовы для получения информации о BLE-метках

Существует два API-вызова, которые позволяют получить всю необходимую информацию о BLE-маяках:

1. Первый вызов получает [исторические данные с устройств](https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/beacon/index#read). Вы можете задать параметры "from" и "to" для получения данных за определенный период о подключенных BLE-маяках. Поскольку нам нужна информация с точки зрения BLE-меток, то есть прицепов, запросим сведения с использованием параметра "beacons".\
   Пример запроса:

{% code overflow="wrap" %}

```sh
curl -X POST 'https://api.navixy.com/v2/beacon/data/read' \
    -H 'Content-Type: application/json' \
    -d '{"hash":"59be129c1855e34ea9eb272b1e26ef1d","from": "2023-04-17 17:00:00","to": "2023-04-17 18:00:00","beacons": ["7cf9501df3d6924e423cabcde4c924ff"]}'
```

{% endcode %}

Это покажет, какие устройства находились поблизости от данного BLE-маяка в этот период.

Ответ:

```json
{
  "list": [
    {
      "tracker_id": 10181654,
      "hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
      "rssi": -101,
      "get_time": "2023-04-17 17:05:42",
      "latitude": 50.3487321,
      "longitude": 7.58238,
      "ext_data": {
        "voltage": 3.075,
        "temperature": 24.0
      }
    },{//other objects per period
    },
    {
      "tracker_id": 10181654,
      "hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
      "rssi": -101,
      "get_time": "2023-04-17 17:40:22", //a last point per period
      "latitude": 55.348890,
      "longitude": 6.59403,
      "ext_data": {
        "voltage": 3.075,
        "temperature": 24.0
  }
  ],
  "success": true
}
```

2\. Второй вызов получает информацию о [текущих подключенных маяках](https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/beacon/index#last-values) к конкретному устройству. Например, если вы хотите узнать, какой прицеп сейчас находится рядом с устройством, используйте следующий запрос:

Пример запроса:

{% code overflow="wrap" %}

```sh
curl -X POST 'https://api.navixy.com/v2/beacon/data/last_values' \
    -H 'Content-Type: application/json' \
    -d '{"hash":"59be129c1855e34ea9eb272b1e26ef1d", "trackers": [10181654], "skip_older_than_seconds": 1200}
```

{% endcode %}

Это предоставит информацию о том, что рядом с устройством находится прицеп "7cf...".

Ответ:

```json
{
  "list": [
    {
      "tracker_id": 10181654,
      "hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
      "rssi": -101,
      "get_time": "2023-04-17 17:40:22",
      "latitude": 55.348890,
      "longitude": 6.59403,
      "ext_data": {
        "voltage": 3.075,
        "temperature": 24.0
    }
  ],
  "success": true
}

```

## Как получить информацию о времени использования и деталях поездки

Мы уже собрали исторические данные с помощью первого из представленных API-вызовов, который показал, на каких устройствах прицеп отображался в определенный момент времени. Чтобы получить информацию о поездках и времени использования этого прицепа, нам достаточно воспользоваться одним из двух API-вызовов:

1. API-вызов [track/list](https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/track/index#list) для получения информации о поездках за период. Это предоставит общую информацию о поездках, например, где и когда они начались и закончились, максимальную скорость, пробег и многое другое.\
   Запрос:

{% code overflow="wrap" %}

```sh
curl -X POST 'https://api.navixy.com/v2/track/list' \
    -H 'Content-Type: application/json' \
    -d '{"hash": "59be129c1855e34ea9eb272b1e26ef1d", "tracker_id": 10181654, "from": "2023-04-17 17:00:00","to": "2023-04-17 18:00:00", "split": true, "limit": 3000, "filter": true, "include_gsm_lbs": true}'
```

{% endcode %}

Ответ:

```json
{
    "id": 11672,
    "start_date": "2023-04-17 17:05:42",
    "start_address": "10470, County Road, Town of Clarence, Erie County, New York, United States, 14031",
    "max_speed": 62,
    "end_date": "2023-04-17 17:40:22",
    "end_address": "Fast Teddy's, 221, Main Street, City of Tonawanda, New York, United States, 14150",
    "length": 18.91,
    "points": 59,
    "avg_speed": 49,
    "event_count": 3,
    "norm_fuel_consumed": 6.32,
    "type": "regular",
    "gsm_lbs": false
}
```

Из этих данных мы видим, что поездка длилась почти 35 минут (end\_date - start\_date), средняя скорость составила 49 км/ч, а максимальная — 62 км/ч. Длина поездки составила 18,91 км. Эта информация позволяет определить, сколько платить водителю за перевозку груза, была ли превышена договорная скорость, и получить другие сведения. Кроме того, длину поездки можно в дальнейшем использовать для расчета количества километров до следующего технического обслуживания прицепа. 2. Если вам нужен подробный трек прицепа, на котором установлен маяк, например для отображения в отчете, вы можете использовать [track/read](https://www.navixy.com/docs/navixy-api/user-api/backend-api/resources/tracking/track/index#read) запрос. Это даст нам данные обо всех точках, полученных платформой во время поездки.\
Запрос:

{% code overflow="wrap" %}

```sh
curl -X POST 'https://api.navixy.com/v2/track/read' \
    -H 'Content-Type: application/json' \
    -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 10181654, "from": "2023-04-17 17:00:00","to": "2023-04-17 18:00:00", "filter": true}'
```

{% endcode %}

Ответ:

```json
{
    "success": true,
    "limit_exceeded": true,
    "list": [
        {
        "address": "10470, County Road, Town of Clarence, Erie County, New York, United States, 14031",
        "satellites": 10,
        "mileage": 0,
        "heading": 173,
        "speed": 42,
        "get_time": "2023-04-17 17:05:42",
        "alt": 0,
        "lat": 43.0318683,
        "lng": -78.5985733
        },
        {//other point objects per this trip
        }
    ]
}
```

Вы можете использовать эти точки вместе с предпочитаемым вами API карт для отображения на карте.

## Другие примеры использования BLE-меток и API Navixy

Вот еще несколько примеров того, как можно использовать BLE-метки с кратким алгоритмом для получения нужного результата:

### Детские кресла

Детские кресла обязательны для пассажиров, путешествующих с детьми. Если вы или ваш пользователь предоставляете услуги пассажирских перевозок, знание того, есть ли в автомобиле детское кресло, поможет быстро определить, какие водители подходят для определенных пассажиров, и избежать напрасной траты времени и топлива. Вы также можете узнать, у какого водителя в данный момент установлено детское кресло в автомобиле. Кроме того, важно учитывать пассажиров с двумя и более детьми и определять автомобили, оборудованные более чем одним детским креслом.

Чтобы решить эту задачу, вам нужно установить BLE-маяк на каждое детское кресло. Далее предположим, что ваше приложение для бронирования транспорта должно запрашивать информацию у всех водителей, у которых установлено детское кресло. Для этого используйте API-вызов beacon/last\_values, чтобы собрать информацию о том, каким водителям можно назначить конкретный заказ.

Вы также можете использовать параметр RSSI, чтобы определить, находится ли кресло в салоне автомобиля или в багажнике. Для этого потребуется провести несколько тестов. Например, если значение RSSI ниже в пассажирском салоне, чем в багажнике, вероятно, кресло находится в багажнике. В результате вы можете выстроить приоритет в поиске автомобилей — сначала с детским креслом в салоне, а затем с детским креслом в багажнике. Такой подход гарантирует, что вы эффективно подберете пассажиров к подходящим автомобилям и водителям.

### Сельскохозяйственная техника

Предположим, у вашего клиента есть сельскохозяйственная техника, которая может подключаться к различному оборудованию. Как отследить, какой трактор использует сеялку, а какой — плуг? Эта информация поможет понять частоту и интенсивность использования орудий, а также определить их текущее местоположение. Так сотрудники смогут проводить больше времени в поле, а не в поисках оборудования. Чтобы этого добиться, установите устройства на трактора и комбайны, а также в местах хранения инвентаря. Разместите по одному BLE-маяку на каждом орудии в надежном месте, откуда его трудно снять, чтобы оно не потерялось во время работы. Далее, чтобы определить, как долго орудия использовались, выполните запрос к `beacon/read` API-вызову. Информация из ответа будет полезна, как и в случае с прицепами в нашем подробном примере. Чтобы определить местоположение конкретного орудия, выполните запрос к `beacon/last_values` с поиском по маякам, чтобы определить, где и на каком устройстве установлено орудие. Такой подход обеспечивает эффективное отслеживание и использование вашей сельскохозяйственной техники, в конечном счете повышая производительность.

### Использование на строительных площадках

На строительных площадках часто бывает множество инструментов и дорогостоящего оборудования. Хотя установка маяка для отслеживания полезна, возникает и другой вопрос — как обеспечить частое отслеживание оборудования и чтобы GPS-трекер не разрядился? Для контроля использования и местоположения оборудования BLE-маяки также могут быть весьма полезны.

Решение для строительных площадок может быть аналогично решению для сельскохозяйственной техники — установите устройства на технику, а также на местах хранения. Такой подход позволяет эффективно отслеживать ценное оборудование, обеспечивая его рациональное использование и минимизируя риск потери или неправильного размещения. Внимательно следя за инструментами и техникой, вы сможете повысить производительность на строительной площадке.

### Внутреннее отслеживание

Вы можете эффективно отслеживать объекты в помещении с помощью платформы и BLE-меток. Все, что нужно сделать, — это установить GPS-устройства в разных частях склада или здания и пометить объекты, которые вы хотите отслеживать. Вот несколько примеров:

* **Отслеживание сотрудников в различных зонах склада или магазина**: Это позволяет узнать, в какой зоне находится сотрудник, или сколько продавцов-консультантов находится рядом с информационной стойкой. Наличие этой информации помогает повысить эффективность и обеспечивает нахождение персонала там, где это необходимо.
* **Отслеживание товаров или техники в разных зонах склада**: Знание местоположения товаров или оборудования экономит время, поскольку вам не нужно искать их по всему складу. Это упрощает процесс поиска, делая ваши операции более эффективными.

### Отслеживание товаров с помощью BLE-маяков

Использование BLE-маяков для отслеживания может значительно помочь транспортным компаниям, позволяя им в любой момент определить, какой грузовик перевозит конкретный поддон с товарами. Этот метод не только позволяет отслеживать маршруты грузов, но и помогает точнее рассчитывать транспортные расходы.

Применяя этот инновационный подход, транспортные компании могут улучшить свои операции, сделав их более эффективными и точными. В конечном итоге это приводит к более качественному обслуживанию клиентов и более отлаженным бизнес-процессам.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://navixy.com/docs/expert-center/ru/faq-and-troubleshooting/access-iot-data/gps-tracking-of-stationary-assets-with-ble-tags.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
