> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/ru/guide/devices-and-settings/vehicle-sensors/virtual-sensors.md).

# Виртуальные датчики

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

Виртуальные датчики позволяют эффективнее обрабатывать телеметрические данные. Сопоставляя напряжение бортовой сети, они помогают рассчитывать моточасы на основе заданных условий и значений. Кроме того, они позволяют преобразовывать несколько точек данных с разных датчиков, подключенных к устройству, в более понятные индикаторы, такие как «горячо», «холодно», «открыто» и «закрыто», независимо от производителя или модели устройства.

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_clvf66ikbi.png" alt="Virtual sensor interface"><figcaption><p>Интерфейс виртуального датчика</p></figcaption></figure>

## Доступность

Доступно, если у устройства есть входы или состояния, на основе которых можно получать значения. Каждое устройство поддерживает до 100 виртуальных датчиков.

## Как создать виртуальный датчик

Виртуальные датчики можно создать через **Датчики и кнопки** блок, расположенный в **Управление устройствами** модуле. Чтобы создать виртуальный датчик:

1. Перейдите в раздел «Управление устройствами»
2. Выберите GPS-устройство
3. Нажмите **+** кнопка
4. Выберите **Виртуальный датчик**

На каждом устройстве может быть до 100 виртуальных датчиков.

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_73sv6rayqh.png" alt="Virtual sensor adding in sensors and buttons block" width="375"><figcaption><p>Добавление виртуального датчика в разделе «Датчики и кнопки»</p></figcaption></figure>

Следующие шаги зависят от сценария использования, который нужно решить с помощью виртуального датчика. Ниже вы найдете примеры и инструкции для разных методов расчета.

## Методы расчета

У виртуальных датчиков есть три разных типа расчета:

* Значение в диапазоне
* Исходное значение
* Индекс бита

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

В этом разделе описано, как работают разные методы расчета. Нажмите на название метода расчета, чтобы развернуть его.

### **Значение в диапазоне**

Этот тип виртуального датчика помогает клиентам поддерживать важные параметры, такие как виртуальное зажигание, температура, влажность и уровень топлива, в заданном диапазоне.

Вот как это работает:

* Если значение датчика находится внутри заданных границ (минимального/максимального диапазона, который вы задали), Navixy считает его равным 1 (то есть условие активно) и отображает вашу метку A.
* Если значение датчика находится вне этого диапазона, Navixy считает его равным 0 (условие неактивно) и отображает вашу метку B.

### Пример виртуального зажигания

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

Чтобы создать этот датчик:

1. Сначала задайте ему название.
2. Укажите в качестве входа **Бортовое напряжение** или, при необходимости, любой другой датчик.
3. Включить **Считать как состояние зажигания** в настройках.
4. Выберите «Значение в диапазоне» в качестве метода расчета.
5. Укажите минимальное значение диапазона, например 13,2 В. Максимум здесь не нужен, поскольку бортовое напряжение может меняться при включенном зажигании.
6. Наконец, задайте значения состояний 0 и 1. Обычно это **включено** и **выключено,** соответственно.

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_7qx9prhhxc.png" alt="Example configuration for virtual ignition" width="375"><figcaption><p>Пример настройки виртуального зажигания</p></figcaption></figure>

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

Кроме того, это зажигание используется для определения поездок и стоянок с учетом зажигания.

### Пример с аналоговым датчиком

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

Предположим, у вас есть аналоговый датчик, который собирает данные о температуре. Допустим, он выдает 1020 для -10 °C, а 1900 = 0 °C. Данные, поступающие с аналоговых датчиков, не откалиброваны, поэтому для виртуального датчика их тоже нужно указывать в таком виде.

Диапазон можно настроить: все, что находится между 1020 и 1900, будет отнесено к «холодно» (1), а все, что выше 1900, будет считаться «горячо» (0).

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_kgzvrsdzb1.png" alt="Example configuration for reading temperature from analog sensor" width="563"><figcaption><p>Пример настройки чтения температуры с аналогового датчика</p></figcaption></figure>

### **Исходное значение**

С помощью виртуальных датчиков вы можете назначить свое определение любым полученным значениям. Этот метод работает с предопределенными наборами значений и строк, что упрощает работу со статическими значениями без необходимости задавать разные диапазоны. Кроме того, он может работать с любыми данными, которые вам нужны. Например:

* 0/1,
* истина/ложь,
* вкл./выкл.,
* открыто/закрыто,
* поставлено на охрану/снято с охраны,
* состояние 1/состояние 2/состояние 3,
* ключ 1/ключ 2/ключ 3 и т. д.

Режим работает так:

* когда приходит значение 1, это значение A.
* когда приходит значение 2, это значение B.
* а когда поступает значение 3, это значение C и так далее.

Давайте рассмотрим этот тип функциональности на конкретном примере.

### Пример с показаниями CAN автомобиля

Некоторые CAN-датчики могут передавать на платформу Navixy разные числовые значения. Например, грузовик с датчиком состояния PTO по CAN может выдавать только следующие значения:

* 0: Выкл.
* 1: Удержание
* 2: Дистанционное удержание
* 3: Режим ожидания
* 4: Дистанционный режим ожидания
* 5: Установлено
* 6: Замедление
* 7: Возобновить
* 8: Ускорение

Чтобы настроить этот датчик:

1. Введите его название.
2. Выберите вход.
3. **Считать как состояние зажигания** должен быть выключен.
4. Выберите **Исходное значение** в качестве метода расчета.
5. Заполните таблицу своими значениями слева и соответствующими значениями датчика справа. Добавьте строки, нажав **+** кнопку с изображением корзины.

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_xlxdl1ak9e.png" alt="Configuration example for source value calculation method" width="563"><figcaption><p>Пример настройки метода расчета по исходному значению</p></figcaption></figure>

### Считывание аппаратных ключей для водителей, оборудования и прицепов

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

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

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_vw7hkgdl0n.png" alt="Configuration example for source value calculation method for hardware key or state field sensor reading" width="563"><figcaption><p>Пример настройки метода расчета по исходному значению для считывания аппаратного ключа или датчика состояния</p></figcaption></figure>

### **Индекс бита**

Некоторые устройства могут передавать в своих пакетах расширенные данные, иногда объединяя несколько параметров [в одно значение](https://www.navixy.com/blog/sensor-parameters-avl/). Инструмент «Виртуальные датчики» позволяет работать с отдельными битами в этих объединенных значениях, расшифровывая, что означает каждая позиция согласно протоколу устройства.

Например, передаваемое значение — 011. Такие устройства кодируют несколько состояний в одном числе с использованием побитовой структуры, читаемой справа налево (в порядке little-endian, как определено в протоколе устройства):

* Бит 0 (крайний справа разряд): значение 1 означает, что ремень водителя не пристегнут (0 = пристегнут, 1 = не пристегнут).
* Бит 1 (средний разряд): значение 1 означает, что дверь водителя открыта (0 = закрыта, 1 = открыта).
* Бит 2 (крайний слева разряд): значение 0 означает, что капот закрыт (0 = закрыт, 1 = открыт).

Каждая позиция бита кодирует состояние отдельной системы автомобиля. Чтобы настроить и отобразить их, создайте один виртуальный датчик для каждого параметра, который вы хотите отслеживать.

Для датчика, который показывает состояние капота автомобиля в этом примере:

1. Укажите название датчика
2. Выберите вход согласно документации устройства
3. Выберите **Индекс бита** в качестве метода расчета (это означает, что Navixy считывает одну позицию бита из объединенного значения)
4. Выберите бит 2 для этого поля (позицию, которая кодирует состояние капота)

Ниже приведен пример датчика, который показывает состояние капота автомобиля.

<figure><img src="https://www.navixy.com/wp-content/uploads/2024/03/browser_2qcam8zclk.png" alt="Configuration example for Bit index calculation sensor" width="563"><figcaption><p>Пример настройки датчика с расчетом по индексу бита</p></figcaption></figure>

После настройки виртуального датчика и получения данных от связанного датчика устройства его можно просматривать в **виджете показаний датчиков** на вкладке **Информация устройства** вкладку.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/user/ru/guide/devices-and-settings/vehicle-sensors/virtual-sensors.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
