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

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

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

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>

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

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

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

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

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

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

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

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

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

* Если значение датчика находится в заданных границах, для платформы оно равно 1. А 1 соответствует Вашему значению A.
* Если значение датчика выходит за пределы этих границ, значение виртуального датчика для платформы равно 0. А 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-датчики могут передавать на платформу разные числовые значения. Например, у нас есть грузовик с CAN-датчиком состояния PTO, который может выдавать только следующие значения:

* 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/). Инструмент виртуальных датчиков позволяет работать с частями телематических значений, тем самым декодируя данные, передаваемые GPS-оборудованием.

Например, передаваемое значение — 011. Сначала мы должны прочитать эту информацию в little-endian в соответствии с протоколом:

* 1 показывает состояние ремня водителя: 0 — пристегнут, 1 — не пристегнут. Бит 0.
* 1 отображает состояние двери водителя: 0 — закрыта, 1 — открыта. Бит 1.
* 0 указывает на состояние капота: 0 — закрыт, 1 — открыт. Бит 2.

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

Для датчика, который в нашем примере показывает состояние капота автомобиля, Вам нужно

1. Задать имя датчика
2. Выбрать вход в соответствии с документацией устройства
3. Выберите **Индекс бита** в качестве метода расчета
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.
