> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/hacking-tools/enumeration/ruview-wifi-sensing.md).

# RuView WiFi Sensing

Заметки RuView WiFi Sensing о том, как информация о состоянии канала (Channel State Information) может использоваться для изучения присутствия, движения, жизненных показателей и активности в комнате без камер.

[RuView](https://github.com/ruvnet/RuView) — это экспериментальная платформа для Wi‑Fi-сенсинга. Вместо камеры она изучает, как меняются Wi‑Fi-сигналы, когда кто-то двигается, сидит, дышит или проходит через комнату.

<figure><img src="https://raw.githubusercontent.com/ruvnet/RuView/main/assets/v2-screen.png" alt="RuView WiFi DensePose observatory showing a room sensing demo with vital signs and presence panels"><figcaption><p>Демонстрация RuView Observatory из официального репозитория.</p></figcaption></figure>

{% hint style="info" %}
Используйте RuView только в авторизованных лабораториях или помещениях, где люди знают, что за ними ведётся наблюдение. Рассматривайте выходные данные о присутствии, позе, падении и жизненных показателях как исследовательские сигналы, если только вы не проверили их самостоятельно.
{% endhint %}

## Визуальные демо и видео

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

<figure><img src="https://raw.githubusercontent.com/ruvnet/RuView/main/assets/ruview-seed.png" alt="RuView overview graphic from the official repository"><figcaption><p>Официальный визуальный обзор RuView.</p></figcaption></figure>

### Онлайн-обсерватория

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

{% embed url="<https://ruvnet.github.io/RuView/>" %}

### Демонстрация Pose Fusion

Это демо полезно для понимания разницы между визуальными данными о позе и интерпретацией Wi‑Fi CSI. Используйте его как концептуальный обзор, а не как доказательство того, что каждая комната будет работать одинаково.

{% embed url="<https://ruvnet.github.io/RuView/pose-fusion.html>" %}

### Демонстрация облака точек

Демо облака точек помогает объяснить идею преобразования входных сигналов сенсинга в пространственное представление.

{% embed url="<https://ruvnet.github.io/RuView/pointcloud/>" %}

### Фоновое видео

Это видео не относится непосредственно к RuView, но даёт простое высокоуровневое объяснение академической идеи DensePose на основе Wi‑Fi.

{% embed url="<https://www.youtube.com/watch?v=OhrQ0T6Yl9k>" %}

| Визуализация                    | На что обратить внимание                                                                          |
| ------------------------------- | ------------------------------------------------------------------------------------------------- |
| Демо обсерватории               | Присутствие, движение, уверенность, смоделированные жизненные показатели, переключение сценариев. |
| Pose Fusion                     | Как визуализируется выход, похожий на данные о позе, и почему важна проверка.                     |
| Облако точек                    | Как сенсинг может превращаться в пространственное представление.                                  |
| Видео DensePose на основе Wi‑Fi | Исследовательский контекст оценки тела на основе Wi‑Fi.                                           |

## Что это делает

RuView пытается преобразовать изменения Wi‑Fi-сигнала в полезную информацию на уровне комнаты:

| Сценарий использования   | Простой смысл                                                                                        |
| ------------------------ | ---------------------------------------------------------------------------------------------------- |
| Обнаружение присутствия  | Кто-то есть в комнате?                                                                               |
| Обнаружение движения     | Кто-то идёт, сидит или двигается?                                                                    |
| Жизненные показатели     | Оценка тенденций дыхания или сердечного ритма по небольшим изменениям сигнала.                       |
| Распознавание активности | Выявление повторяющихся паттернов, таких как жесты, сон, активность в комнате или возможные падения. |
| События умного дома      | Передача состояний присутствия или активности в такие системы, как Home Assistant.                   |
| Исследовательские демо   | Визуализация позы, облаков точек и сценариев сенсинга на основе Wi‑Fi.                               |

## Как это работает

Wi‑Fi уже отражается внутри помещений. Человек немного изменяет эти радиотрассы. RuView считывает эти изменения как **Информацию о состоянии канала** (CSI), очищает сигнал и передаёт его моделям или простым правилам, которые оценивают, что может происходить.

Простой поток:

```
Wi‑Fi-сигнал
  -> ESP32 или оборудование с поддержкой CSI
  -> поток CSI
  -> обработка RuView
  -> присутствие, движение, жизненные показатели или визуализация демо
```

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

## Что вам нужно

| Цель                           | Рекомендуемая конфигурация                             |
| ------------------------------ | ------------------------------------------------------ |
| Быстро опробовать интерфейс    | Docker-демо с симулированными данными.                 |
| Изучить пакет Python           | `pip install ruview` или `pip install wifi-densepose`. |
| Проверить захват реального CSI | Плата ESP32-S3 или ESP32-C6 с прошивкой RuView.        |
| Лучшее покрытие комнаты        | Несколько узлов ESP32 или небольшая mesh-сеть.         |
| Эксперименты с моделями        | Пакет модели на Hugging Face и локальные датасеты.     |

## Быстрое Docker-демо

Это самый простой первый тест, потому что он не требует оборудования.

```bash
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
```

Откройте:

```
http://localhost:3000
```

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

## Пакет Python

Установите пакет Python:

```bash
pip install ruview
```

Альтернативное имя пакета:

```bash
pip install wifi-densepose
```

Установите дополнительную клиентскую поддержку для рабочих процессов WebSocket и MQTT:

```bash
pip install "ruview[client]"
```

Базовая проверка импорта:

```python
from ruview import BreathingExtractor, HeartRateExtractor
```

## Предобученная модель

RuView публикует предобученные веса для Wi‑Fi-сенсинга на Hugging Face. Скачайте их локально:

```bash
pip install huggingface_hub
huggingface-cli download ruvnet/wifi-densepose-pretrained --local-dir models/wifi-densepose-pretrained
```

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

## Настройка оборудования ESP32

Для реального CSI-сенсинга используйте оборудование ESP32, которое может выдавать информацию о канале Wi‑Fi. В README указаны ESP32-S3 и ESP32-C6 как практичные варианты.

Типичный процесс на высоком уровне:

1. Соберите или скачайте прошивку узла ESP32 CSI.
2. Запишите прошивку на плату.
3. Настройте учётные данные Wi‑Fi и IP-адрес целевого сервера.
4. Запустите сервер сенсинга RuView или мост.
5. Откройте панель и проведите небольшой эксперимент в комнате.

Пример команды прошивки из README проекта:

```bash
python -m esptool --chip esp32s3 --port COM9 --baud 460800 \
  write_flash 0x0 bootloader.bin 0x8000 partition-table.bin \
  0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin
```

Настройка Wi‑Fi:

```bash
python firmware/esp32-csi-node/provision.py --port COM9 \
  --ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
```

## Первые эксперименты

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

| Эксперимент                    | Что записывать                                 |
| ------------------------------ | ---------------------------------------------- |
| Пустая комната                 | Базовый сигнал, когда никого нет.              |
| Входит один человек            | Изменение присутствия и уверенности.           |
| Пройти через комнату           | Сигнал движения и его время.                   |
| Сидеть неподвижно              | Ложные срабатывания и стабильность.            |
| Дверь открывается без человека | Проверка на шум окружающей среды.              |
| Входят два человека            | Станут ли количество и движение нестабильными. |

Хорошие заметки делают результат полезнее:

* Планировка комнаты.
* Положение датчиков.
* Wi‑Fi-канал.
* Количество людей.
* Стены или мебель между узлами.
* Повторные положительные и отрицательные тесты.

## Полезные команды

Запустить симулированное демо:

```bash
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
```

Скачать файлы модели:

```bash
huggingface-cli download ruvnet/wifi-densepose-pretrained --local-dir models/wifi-densepose-pretrained
```

Собрать прошивку ESP32-C6 из папки firmware проекта:

```bash
cd firmware/esp32-csi-node
idf.py set-target esp32c6
idf.py build
idf.py -p COM6 flash
```

Запустить живое RF-сканирование комнаты из скриптов репозитория:

```bash
node scripts/rf-scan.js --port 5006
```

## Когда это использовать

RuView хорошо подходит для:

* Исследований в области беспроводных сетей и IoT.
* Оценки приватности для сенсинга без камер.
* Экспериментов с присутствием в умном доме.
* Понимания того, как Wi‑Fi может стать датчиком.
* Лабораторных демонстраций CSI, движения и RF-отпечатков.

Он не заменяет:

* Сертифицированное медицинское устройство.
* Надёжную систему оповещения о безопасности сама по себе.
* Систему идентификации или позы уровня камеры.
* Корректную проверку физической безопасности.

## Контрольный список проверки

Прежде чем доверять каким-либо данным:

1. Убедитесь, что демо или сервер запускается.
2. Убедитесь, что оборудование выдаёт CSI, а не только RSSI.
3. Запишите базовый уровень для пустой комнаты.
4. Повторите каждый тест несколько раз.
5. Проведите отрицательные тесты, которые не должны вызывать обнаружение.
6. Сравните жизненные показатели или события безопасности с независимым эталоном.
7. Документируйте сбои, а не только удачные скриншоты.

## Ссылки

* [Официальный репозиторий RuView](https://github.com/ruvnet/RuView)
* [Руководство пользователя RuView](https://github.com/ruvnet/RuView/blob/main/docs/user-guide.md)
* [Онлайн-демо обсерватории RuView](https://ruvnet.github.io/RuView/)
* [Предобученная модель RuView на Hugging Face](https://huggingface.co/ruvnet/wifi-densepose-pretrained)
* [Руководство по захвату движения RuView](https://ruview.blog/ruview-motion-capture/)


---

# 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://hacking-notes.jord4n.pro/ru/hacking-tools/enumeration/ruview-wifi-sensing.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.
