> 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/ar/hacking-tools/enumeration/ruview-wifi-sensing.md).

# RuView WiFi Sensing

[RuView](https://github.com/ruvnet/RuView) هي منصة تجريبية لاستشعار WiFi. بدلًا من استخدام كاميرا، تدرس كيف تتغير إشارات WiFi عندما يتحرك شخص ما، أو يجلس، أو يتنفس، أو يمشي عبر غرفة.

<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/>" %}

### عرض دمج الوضعية

هذا العرض التوضيحي مفيد لفهم الفرق بين بيانات الوضعية المرئية وتفسير CSI الخاص بـ WiFi. استخدمه كمنظور مفاهيمي، وليس كدليل على أن كل غرفة ستعمل بالطريقة نفسها.

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

### عرض السحابة النقطية

يساعد عرض السحابة النقطية في شرح فكرة تحويل مدخلات الاستشعار إلى تمثيل مكاني.

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

### فيديو الخلفية

هذا الفيديو ليس خاصًا بـ RuView، لكنه يقدم شرحًا بسيطًا وعالي المستوى للفكرة الأكاديمية وراء DensePose من WiFi.

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

| مرئي                    | ما الذي يجب الانتباه إليه                                             |
| ----------------------- | --------------------------------------------------------------------- |
| العرض التوضيحي للمرصد   | الحضور، الحركة، الثقة، العلامات الحيوية المحاكاة، تبديل السيناريوهات. |
| دمج الوضعية             | كيف يتم تصور المخرجات الشبيهة بالوضعية ولماذا يعد التحقق مهمًا.       |
| السحابة النقطية         | كيف يمكن للاستشعار أن يصبح تمثيلًا مكانيًا.                           |
| فيديو DensePose من WiFi | السياق البحثي وراء تقدير الجسم المعتمد على WiFi.                      |

## ما الذي يفعله

يحاول RuView تحويل تغيرات إشارة WiFi إلى معلومات مفيدة على مستوى الغرفة:

| حالة الاستخدام     | المعنى المبسط                                                                        |
| ------------------ | ------------------------------------------------------------------------------------ |
| كشف الحضور         | هل يوجد شخص ما في الغرفة؟                                                            |
| كشف الحركة         | هل يمشي شخص ما أو يجلس أو يتحرك؟                                                     |
| العلامات الحيوية   | تقدير اتجاهات التنفس أو معدل ضربات القلب من تغييرات صغيرة في الإشارة.                |
| التعرف على النشاط  | رصد الأنماط المتكررة مثل الإيماءات أو النوم أو نشاط الغرفة أو حالات السقوط المحتملة. |
| أحداث المنزل الذكي | إظهار حالات الحضور أو النشاط للأنظمة مثل Home Assistant.                             |
| عروض توضيحية بحثية | تصور الوضعية المعتمدة على WiFi والسحب النقطية وسيناريوهات الاستشعار.                 |

## كيف يعمل

تنكسر إشارات WiFi بالفعل وتتردد داخل الغرف. يغيّر وجود شخص هذه المسارات الراديوية قليلًا. يقرأ RuView هذه التغيرات على أنها **معلومات حالة القناة** (CSI)، وينظف الإشارة، ثم يرسلها إلى نماذج أو قواعد بسيطة تقدّر ما قد يحدث.

تدفق بسيط:

```
إشارة WiFi
  -> ‏ESP32 أو عتاد يدعم CSI
  -> تدفق CSI
  -> معالجة RuView
  -> الحضور، الحركة، العلامات الحيوية، أو تصور العرض التوضيحي
```

طريقة سهلة لتصور ذلك: الكاميرا ترى البكسلات؛ أما RuView فيرى تغييرات صغيرة في انعكاسات الراديو. وهذا يجعله مفيدًا للبحث، لكنه أيضًا حساس لتخطيط الغرفة والأثاث والجدران وعدد الأشخاص وموقع الهوائي والمعايرة.

## ما الذي تحتاجه

| الهدف                     | الإعداد الموصى به                                             |
| ------------------------- | ------------------------------------------------------------- |
| جرّب الواجهة بسرعة        | عرض Docker ببيانات محاكاة.                                    |
| تعلّم حزمة Python         | `pip install ruview` أو `pip install wifi-densepose`.         |
| اختبار التقاط CSI الحقيقي | لوحة ESP32-S3 أو ESP32-C6 مع البرنامج الثابت الخاص بـ RuView. |
| تغطية أفضل للغرفة         | عدة عقد ESP32 أو شبكة صغيرة متشابكة.                          |
| تجارب النماذج             | حزمة نماذج على 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 أوزان استشعار WiFi مدربة مسبقًا على Hugging Face. قم بتنزيلها محليًا:

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

استخدم هذه الملفات للتعلّم والفحص والتجارب. بالنسبة لعمليات النشر الحية، تحقق من ملاحظات المستودع الحالي لأن صيغ النماذج ودعم الخادم قد يتغيران.

## إعداد عتاد ESP32

لاستشعار CSI الحقيقي، استخدم عتاد ESP32 يمكنه إظهار معلومات قناة WiFi. يبرز ملف README لوحتي ESP32-S3 وESP32-C6 كخيارات عملية.

العملية النموذجية عالية المستوى:

1. ابنِ أو نزّل البرنامج الثابت لعقدة ESP32 CSI.
2. افلح البرنامج الثابت على اللوحة.
3. وفّر بيانات اعتماد WiFi وعنوان 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
```

توفير WiFi:

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

## التجارب الأولى

ابدأ بتجارب بسيطة قبل تجربة الوضعية أو العلامات الحيوية:

| التجربة                  | ما الذي يجب تسجيله                           |
| ------------------------ | -------------------------------------------- |
| غرفة فارغة               | إشارة أساسية عندما لا يوجد أحد.              |
| يدخل شخص واحد            | تغير الحضور والثقة.                          |
| المشي عبر الغرفة         | إشارة الحركة والتوقيت.                       |
| الجلوس دون حركة          | الإيجابيات الكاذبة والاستقرار.               |
| يُفتح الباب دون وجود شخص | فحص الضوضاء البيئية.                         |
| يدخل شخصان               | ما إذا كان العدد والحركة يصبحان غير مستقرين. |

تجعل الملاحظات الجيدة النتيجة أكثر فائدة:

* تخطيط الغرفة.
* مواضع المستشعرات.
* قناة WiFi.
* عدد الأشخاص.
* الجدران أو الأثاث بين العقد.
* اختبارات إيجابية وسلبية متكررة.

## أوامر مفيدة

شغّل العرض التوضيحي المحاكى:

```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 الثابت من مجلد البرنامج الثابت الخاص بالمشروع:

```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 جيدًا في:

* أبحاث اللاسلكي وإنترنت الأشياء.
* مراجعات الخصوصية للاستشعار الخالي من الكاميرا.
* تجارب الحضور في المنزل الذكي.
* فهم كيف يمكن أن تصبح WiFi مستشعرًا.
* عروض مخبرية لـ CSI والحركة والبصمات الراديوية.

إنه لا يحل محل:

* جهاز طبي معتمد.
* إنذار سلامة موثوق به بحد ذاته.
* نظام هوية أو وضعية بمستوى الكاميرا.
* التحقق الأمني المادي المناسب.

## قائمة التحقق من التحقق

قبل الوثوق بأي مخرج:

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