التشخيص

GPS (لجهاز T-Deck Plus فقط)

CMD> gps on    # بدء مهمّة GPS الخلفية مع عرض حالة حيّ
CMD> gps off   # إيقاف مهمّة GPS
CMD> gps test  # قراءة إحداثيات GPS لمرّة واحدة + عرضها

أيقونة GPS في شريط الحالة: رمادي = متوقّف، أصفر = يبحث، أخضر = مثبَّت.

يستغرق البدء البارد نحو 4 دقائق في العراء. شغّل gps on قبل trackme لإحماء التحديد.


test / tst — اختبارات ذاتية للعتاد

اختبارات العتاد أوامر فرعية لأمر test واحد (كانت spktest / mictest / loratest):

CMD> test spk       # مكبّر I2S
CMD> test mic       # ميكروفون ES7210
CMD> test lora      # LoRa SX1262
CMD> test touch     # لمس GT911 (T-Deck / T-Deck-Plus)
CMD> test keydump   # بايت خام من معالج لوحة المفاتيح I2C (T-Deck / T-Deck-Plus)

test spk — اختبار المكبّر

التحقّق من عتاد مكبّر I2S واختبار مستوى الإشعارات.

المفتاح الإجراء
16 نغمات خام (220–4000 Hz) — تتجاوز NotificationManager
s عزف سلّم دو الكبير
a / w / c / i / p إطلاق مستويات ALERT / WARNING / SUCCESS / INFO / PING
q الخروج

المفاتيح a/w/c/i/p تمرّ عبر NotificationManager وتعزف WAV المضبوط. والمفاتيح 1–6 تتجاوز إعدادات الصوت وتعزف نغمات خام مباشرةً — للتحقّق من العتاد. وللتشغيل القسري بصرف النظر عن التبديل، استخدم nf test.


test mic — اختبار الميكروفون

التحقّق من عتاد ميكروفون ES7210 (الميكروفون على كلا الجهازين — GPS فقط حصري لـ Plus).

  • مقياس مستوى حيّ — شريط ذروة + رسم بياني متحرّك يتفاعلان مع الصوت.
  • كشف نشاط الصوت — يومض *** VOICE DETECTED *** عند وجود كلام.
  • تسجيل + إعادة تشغيل — التقاط 3 ثوانٍ إلى PSRAM وإعادة تشغيلها عبر المكبّر لتأكيد مسار الالتقاط←التشغيل الكامل.
المفتاح الإجراء
r تسجيل 3 ثوانٍ
p إعادة تشغيل التسجيل
+ / - كسب الميكروفون
q الخروج

test lora — اختبار LoRa

يهيّئ LoRa SX1262، ويجري اختبار إرسال، ثم يدخل وضع مراقبة الاستقبال. اضغط q للإيقاف.


test keydump — عرض البايتات الخام من لوحة المفاتيح (T-Deck / T-Deck-Plus فقط)

CMD> test keydump

يقرأ بايتًا واحدًا في كل مرّة من معالج لوحة مفاتيح LilyGo عبر I2C (0x55) ويطبعه بصيغة 0xHH 'c'. اضغط q للخروج.

استخدمه لاكتشاف ما يرسله في الواقع أيّ تركيب SYM / ALT غير مُعيَّن. برنامج معالج لوحة المفاتيح يعالج تركيبات التعديل داخليًّا ويسلّم ESP32 بايتًا واحدًا محلولًا مسبقًا — ولا يستطيع العنقاء اعتراض إلا البايتات التي يراها. إذا وجدت مفتاحًا أو تركيبة لا تكتب شيئًا لكنها تُظهر بايتًا محدّدًا غير صفري في التفريغ، يمكن إعادة تعيين هذا البايت في boardReadKey() (انظر مرجع لوحة المفاتيح — بهذه الطريقة اكتُشِف أن SYM+0 → =).

غير متوفّر على T-Pager (له test keymap خاص لنفس الغرض).


csidetect / csi — كاشف حركة WiFi CSI [تجريبي]

ليس رادارًا فعليًّا. العرض الدائري الماسح أسلوب فقط — فالجهاز لا يستطيع تحديد موقع أشخاص أو عدّهم أو التصويب عليهم. يكشف طاقة الحركة من اضطراب WiFi، لا شيء مكاني. انظر “حدود صريحة” أدناه.

CMD> cw <ssid> <password>   # وضع متّصل: انضمّ لشبكة أوّلًا
CMD> csi                    # ...ثم افتح الكاشف (إشارة أنظف)

CMD> csi auto               # وضع سلبي: بلا حاجة للانضمام لراوتر

وضعان:

  • csi — يستخدم الشبكة المتّصل بها (شغّل cw أوّلًا). فالوصلة المزدحمة = أُطُر أكثر = كشف أسرع وأنظف.
  • csi auto — يمسح، ويثبت على منارات أقوى نقطة وصول قريبة، ويستشعر دون الارتباط بأي شيء. يعمل ضدّ أي راوتر. المقايضة: معدّل المنارات أقلّ من وصلة متّصلة، فهو أبطأ قليلًا. يثبت على نقطة واحدة عمدًا (خلط مُرسِلين متعدّدين يُقرَأ حركةً كاذبة).

كاشف حركة WiFi بشريحة واحدة — يُعتقَد أنه أوّل ميزة استشعار WiFi-CSI على T-Deck. فكل إطار WiFi يستقبله الراديو يحمل معلومات حالة القناة (سعة/طور حوامل OFDM الفرعية). والجسم المتحرّك يغيّر تعدّد مسارات الغرفة، فيرتفع تباين CSI. يتتبّع csi ذلك، ويُعاير أرضية/سقفًا ذاتيًّا، ويحوّله لقراءة حضور + حركة حيّة. بلا كاميرا، بلا PIR، بلا عتاد إضافي.

قراءة الشاشة

العنصر المعنى
CLEAR (مركز أخضر) لا حركة مكتشَفة
CONTACT (مركز أحمر، ينبض) حركة قرب الجهاز
MOTION % مقدار الحركة الآن
النشاط (STILL/FIDGET/WALK/RUN) تصنيف حجم تقريبي
النقاط / القطاعات زخرفية. شدّة النقطة تعكس إشارة حقيقية، لكن موضعها/زاويتها على القرص اعتباطي — القطاعات الـ 8 مربوطة بزوايا ثابتة، لا اتجاهات.
مخروط المسح زخرفي فقط — رسم زمني، لا مسح ولا تصويب.
AUTO c<ch> <ssid> / LINK c<ch> <ssid> نقطة الوصول المصدر: الوضع، القناة + الاسم
NBVI on/off حالة الترجيح الذكي للحوامل (بدّل بـ n)
fr:<n> + CSI live صحّة التشغيل: أُطُر CSI المستقبَلة + الحالة

المفاتيح

المفتاح الإجراء
a / l / كرة التتبّع الحسّاسية (− / +). في الوضع التكيّفي تعدّل هامش أرضية الضجيج.
c إعادة معايرة — إعادة أساس الغرفة
t عتبة تكيّفية on/off — تتتبّع أرضية ضجيج الغرفة الهادئة تلقائيًّا
n ترجيح NBVI الذكي للحوامل on/off (اختبار A/B)
s تسجيل SD on/off ← /apps/csidetect/NNN.csv
h مساعدة داخل التطبيق
q الخروج

معالجة الإشارة (ما يجعله أدقّ)

  • ترجيح حوامل NBVI — بدل تمتين نحو 56 حاملًا بالتساوي، يُرجَّح كلٌّ بتباينه المُطبَّع، فتهيمن المتفاعلة مع الحركة وتُسهم الثابتة بلا شيء تقريبًا. يُتعلَّم تلقائيًّا؛ بدّل n للمقارنة.
  • مرشّح Hampel — رفض شاذّ بوسيط/MAD على 7 عيّنات، فلا يُطلِق خلل RF واحد CONTACT كاذبًا.
  • عتبة تكيّفية (t) — بدل حسّاسية ثابتة، يجلس مستوى الإطلاق هامشًا صغيرًا فوق أرضية الضجيج المُتعلَّمة. فحين يزداد المصدر ضجيجًا (منارات csi auto المتفرّقة)، يرتفع الحدّ تلقائيًّا ← CONTACT كاذبة أقلّ.
  • قفل مصدر واحد (الوضع التلقائي) — أُطُر نقطة وصول واحدة فقط تغذّي الكاشف.

تسجيل SD (s)

اضغط s لتسجيل انتقالات الحضور إلى /apps/csidetect/NNN.csv (تسلسلي، لا يُستبدَل). يُكتَب صفّ كلّما انقلبت الحالة CLEAR↔CONTACT. الأعمدة:

time,event,motion_pct,thresh_pct,zones,mode,channel,bssid,ssid

time تاريخ-وقت حقيقي عند توفّر GPS/NTP، وإلّا عدّاد @<uptime>ms. وmode هو AUTO/LINK. وchannel/bssid/ssid تحدّد نقطة الوصول التي استُشعِرت الحركة عنها. والكتابات محميّة بـ GDMA (يُوقَف الوضع المختلط لكل كتابة).

كيف تستخدمه

  1. إمّا اتّصل بـ cw ثم شغّل csi، أو شغّل csi auto (بلا انضمام). المصدر الأزحم يعطي أُطُرًا أكثر وكشفًا أسرع.
  2. اتركه ثابتًا نحو 10–15 ثانية ليتعلّم الغرفة الفارغة ← CLEAR.
  3. تحرّك أو امشِ قربه ← CONTACT + يرتفع شريط MOTION.
  4. أفضل فحص ثقة: اخرج من الغرفة ← CLEAR؛ عُد ← CONTACT، متكرّرًا.

حدود صريحة

  • تخطيط الرادار زخرفي. القرص الدائري، والمخروط الماسح، وزاوية/موضع كل نقطة أسلوب بصري فقط — لا خريطة لمكان الحركة. وشيئان فقط يحملان معنى: المركز (CLEAR/CONTACT) وشريط MOTION %.
  • هوائي واحد = إشارة طاقة حركة واحدة. لا اتجاه حقيقي، ولا عدّ أشخاص، ولا تحديد موقع — في csi أو csi auto. القطاعات الـ 8 قياسات إشارة مستقلّة موزّعة للقراءة، لا بوصلة.
  • csi auto يبدو أضجّ من csi — معدّل المنارات السلبي (نحو 10 أُطُر/ثانية) أندر من وصلة متّصلة. اضغط c للمعايرة، وخفّض الحسّاسية بـ a، أو استخدم csi المتّصل لأنظف قراءة.
  • حركة فقط — الشخص الثابت تمامًا قد يُقرأ CLEAR.
  • يعتمد على البيئة — يحتاج حركة WiFi، ويستفيد من c عند تغيير الغرف. عامِله مؤشّرًا متخفّيًا للحركة/الإشغال، لا مستشعرًا دقيقًا.

مقتبس من مسار CSI أحادي الجهاز في skizzophrenic/Cardputer-CSI-Human-Detector (MIT)؛ وفكرة نطاق الحوامل من ruvnet/ruview؛ وترجيح NBVI ومرشّح Hampel والتشغيل السلبي منهجية من ESPectre (GPL — بلا نسخ شيفرة). انظر NOTICES.