انتقل إلى المحتوى الرئيسي

استكشاف الأخطاء وإصلاحها

اعمل انطلاقاً من الأعراض. تظهر أداتان تشخيصيتان في أنحاء هذه الصفحة، فتعلّمهما أولاً: تقرير الإقلاع والمنفذ التسلسلي.

تقرير الإقلاع

عند كل إقلاع، تسرد شاشة البداية الملحقات التي فشلت في التهيئة، وتُعاد القائمة نفسها عبر GET /api/system. يذكر كل مدخل المكوّن والخطأ:

المدخلالسبب المرجحالفحص
SD (ESP_ERR_TIMEOUT)بطاقة مفقودة، أو توصيلات خاطئة، أو لا مقاومة رفع على CSهل البطاقة مُثبتة؟ مقاومة رفع 10 كيلو أوم على GPIO5؟ تبادل MISO/MOSI؟
NFC (ESP_ERR_TIMEOUT)PN532 لا يستجيب على I2Cهل مفاتيح DIP على I2C؟ تبادل SDA/SCL؟ هل مقاومة الرفع موجودة؟
Audio (...)دبابيس I2S أو طاقة المضخمترتيب BCLK/LRC/DIN، وVIN الخاص بالمضخم

الملحق الفاشل يعطل ميزته لكن لا يعطل غيرها: الجهاز مصمم ليواصل الإقلاع.

المنفذ التسلسلي

وصّل USB-C وافتح طرفية تسلسلية بسرعة 115200 باود (الجهاز /dev/ttyACM0 على Linux، ومنفذ COM على Windows؛ لا حاجة إلى تعريفات على الأنظمة الحديثة). يروي البرنامج الثابت كل شيء: الإقلاع، ومحاولات WiFi مع أسباب الفشل، ومسوحات الشبكة، والتشغيل، والأخطاء. كل لغز تقريباً ينتهي هنا.

# Linux example
screen /dev/ttyACM0 115200

WiFi

العرَضالسببالإصلاح
يعرض المنفذ التسلسلي Target SSID '...' not visible on 2.4 GHzالشبكة 5 غيغاهرتز فقطلا يملك ESP32-S3 راديو 5 غيغاهرتز. فعّل 2.4 غيغاهرتز على الموجّه أو نقطة الاتصال ("توافق أقصى" على نقاط اتصال iPhone)
إعادة محاولة مع reason=15 أو reason=204كلمة مرور خاطئةأعد التزويد؛ انظر أول إقلاع وWiFi
إعادة محاولة مع reason=201الشبكة غير موجودةخطأ مطبعي في SSID، أو الشبكة خارج المدى
إعادة محاولة مع reason=2 على شبكات متعددةإطارات المصادقة لا يُرد عليها؛ غالباً طاقة هامشية تصل الراديواستخدم كابل أو مصدر تغذية USB أفضل. كما ينزل البرنامج الثابت قدرة الإرسال تلقائياً عبر الدرجات لإنقاذ هذه الحالة
يتصل، ثم يتعذر الوصول إلى لوحة التحكمعزل العملاء على الموجّه أو شبكة ضيفاسمح بحركة LAN بين العملاء، أو استخدم الشبكة الرئيسية
تبقى الساعة --:-- مع أن WiFi يعملالشبكة تحجب NTP (UDP 123)اسمح بـNTP الصادر على الجدار الناري أو اضبط خادم SNTP يمكن الوصول إليه في بناء البرنامج الثابت

الصوت

العرَضالسببالإصلاح
لا صوت إطلاقاً، لكن لوحة التحكم تعرض تشغيلاًالسماعة موصولة خطأ، أو LRC/SD غير موصولين، أو المضخم بلا طاقةمخرج المضخم جسر مربوط: مرر السماعة عبر طرفي + و-، لا إلى الأرضي أبداً. ثم تحقق من LRC (GPIO39)، ومن أن SD (GPIO41) موصول، وVIN. قائمة الفحص الكاملة في توصيلات الصوت
تشويه عند مستوى صوت مرتفعهبوط التغذية أو سماعة أصغر من اللازمغذِّ المضخم بـ5 فولت، واستخدم سماعة 3 واط أو أكبر
يتقطع الراديو، ويرتفع عداد نفاد المخزنالشبكة لا تحافظ على البثاقترب من الموجّه؛ فضّل محطات 64 إلى 128 كيلوبت/ثانية
ملف معين لا يعملحاوية غير مدعومة (m4a) أو ملف تالفأعد الترميز إلى MP3؛ وجرب الملف على حاسوب

بطاقة SD

العرَضالسببالإصلاح
يظهر تقرير الإقلاع مهلة SDانظر صف التوصيلات في تقرير الإقلاع
تُركب البطاقة لكن المكتبة فارغةالبنية لا تطابق قواعد الماسحانظر مكتبة SD؛ وشغّل tools/prepare_sd_card_data.sh --check
بطاقة exFATغير مدعومةأعد التهيئة بـFAT32

لوحة التحكم

العرَضالسببالإصلاح
يحذر المتصفح من الشهادةمتوقع، شهادة موقعة ذاتياًاقبلها مرة واحدة؛ الاتصال يبقى مشفراً
كل إجراء يعود بـ"unauthorized"رمز API مفقود أو خاطئأدخل الرمز في المطالبة التي تعرضها لوحة التحكم (أو الإعدادات، الوصول). كيفية قراءته من المنفذ التسلسلي
تعود مطالبة الرمز للظهور مع نقطة حالة حمراءتغير رمز الجهاز (إعادة ضبط مصنع، إعادة وميض، إعادة تزويد)الصق الرمز الحالي في المطالبة؛ واقرأه عبر USB بطرق استعادة رمز API
تُحمَّل الصفحات لكن لا يتحدث شيء حياًWebSocket محجوبتحجب بعض الشبكات المؤسسية ترقيات WebSocket؛ جرب شبكة أخرى
لوحة التحكم بطيئة أثناء تشغيل الصوتطبيعي عند أول مصافحة TLS في الجلسةالطلبات التالية سريعة؛ أبقِ التبويب مفتوحاً
تعرض شاشة الخمول تلميحاً خافتاً "اضبط الموقع من الإعدادات"أوقات الصلاة بلا موقع مضبوطاضبط الموقع في لوحة الصلاة بإعدادات لوحة التحكم (أو POST /api/prayer/config)؛ يختفي التلميح ما إن يُضبط

NFC

العرَضالسببالإصلاح
لا استجابة لأي بطاقةPN532 فشل عند الإقلاعراجع تقرير الإقلاع ومفاتيح DIP
بطاقة معينة تُتجاهلغير مسجلةسجلها من صفحة NFC في لوحة التحكم
مدى قراءة قصيرحافظة سميكة جداً أو معدن قريبأبقِ منطقة القارئ خالية من البطارية والمعدن، انظر الحافظة

البطارية

العرَضالسببالإصلاح
نسبة البطارية عالقة عند 0 مع تغذية USB فقطلا جهد استشعار للبطارية؛ تعطل المراقبة نفسها عند قراءات غير معقولةمتوقع على منضدة عمل من دون مقسم جهد البطارية
يُطفأ الجهاز ولا يبقى شغالاًإقفال بطارية فارغة فعلاًاشحنها؛ واضغط المقبض للاستيقاظ بعد السكون العميق
لا يعرض الشحن أبداًدبوس CHRG غير موصول أو لا مقاومة رفعتوصيلات GPIO17

استعادة رمز API

الرمز المفقود لا يتطلب إعادة ضبط أبداً؛ يستطيع الجهاز طباعة رمزه الحالي عند الطلب:

  1. وصّل USB وافتح المنفذ التسلسلي، واكتب token واضغط Enter. يطبع الجهاز الرمز الحالي.
  2. من دون حاسوب: أثناء ظهور شاشة حالة WiFi، اضغط مع الاستمرار زر المقبض نحو 1.5 ثانية. يظهر الرمز لمدة 5 ثوانٍ ثم يختفي.

إعادة ضبط المصنع (أدناه) هي الطريق عندما تريد إحالة الرمز القديم للتقاعد وصك رمز جديد.

إعادة ضبط المصنع

تمسح إعادة ضبط المصنع كل الحالة (لا صوتيات SD) وتطبع رمز API جديداً على المنفذ التسلسلي عند الإقلاع التالي. لا زر إعادة ضبط في لوحة التحكم: أرسل POST /api/reset مع الرمز، أو امسح قسم nvs عبر المنفذ التسلسلي (parttool.py -p PORT erase_partition --partition-name=nvs). إنها طريق الضبط لرمز مفقود أو إعداد معطل.

ما زلت عالقاً؟

التقط سجل المنفذ التسلسلي لإقلاع كامل إضافة إلى الإجراء الفاشل وافتح مشكلة على GitHub معه. يكاد السجل يحتوي الجواب دائماً.