> 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).

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

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

<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>

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

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

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

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

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

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

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

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

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

* Если значение датчика находится в заданных границах (в установленном вами диапазоне min/max), 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,
* true/false,
* on/off,
* open/close,
* armed/disarmed,
* state 1/state 2/state 3,
* key 1/key 2/key 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 dynamically by asking a question.

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

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
