RisalDash RisalDash

مشروع · Wi-Fi · مسح ميدانيّ

خريطة لمكان وجود Wi-Fi فعلًا

«الإنترنت سيّئ في الزاوية» شعور؛ أمّا −82 dBm عند 41.3110, 69.2401 فحقيقة. احمل ESP32 في أرجاء الموقع فيُبلّغ RSSI الحيّ للوصلة التي يستخدمها فعلًا، ويضع القراءة على الخريطة، ويقيّمها Excellent/OK/WEAK، ويسجّل كلّ منطقة ميتة بإحداثيّاتها — مسح ميدانيّ تراقبه من الهاتف بدولارات قليلة.

مشروعWi-FiRSSIمسحESP32
مشروع مسح Wi-Fi بـ ESP32: خريطة RSSI حسب موقع GPS مع لوحة حيّة

القياس — RSSI الوصلة التي تهمّك

تعيد WiFi.RSSI() قوّة الاتّصال الذي تستخدمه اللوحة فعلًا — وهذا بالضبط ما ينبغي أن يقيسه المسح، لا مسح كلّ الشبكات في الأثير. تحويل بسيط يجعل dBm نسبةً بديهيّة، وتقييم ثلاثيّ يقود الشارة وسجلّ المناطق الضعيفة:

// The real measurement: this board's link to the AP, right where it stands.
long r = WiFi.RSSI();
if (r != 0 && r > -127) rssi = r;

// Map dBm to an intuitive 0-100 % (−50 dBm and better = 100, −100 dBm = 0).
quality = rssi >= -50 ? 100 : (rssi <= -100 ? 0 : 2.0f * (rssi + 100));

// Grade it, and log weak zones WITH their position:
int g = rssi > -60 ? 0 : (rssi > -75 ? 1 : 2);
if (g == 2 && grade != 2)
  evlog->print("WEAK " + String((int)rssi) + " dBm @ " + String(lat, 4) + "," + String(lon, 4));
RSSIالتقييمعمليًّا
−30…−60 dBmExcellentسرعة كاملة ومكالمات فيديو في أيّ مكان
−60…−75 dBmOKتصفّح وإنترنت أشياء بخير
−75…−90 dBmWEAKانقطاعات — انقل الموجّه أو أضِف عقدة

المكان — علامة لكلّ قراءة

رقم بلا مكان نصفُ مسح. في الخارج يثبّت NEO-6M كلّ قراءة؛ وأداة الخريطة ترسم العلامة المتحرّكة حيًّا. في الداخل لن يفيد GPS — راقب إحصاءة RSSI والاتجاه وأنت تمشي غرفةً غرفة؛ وسجلّ المناطق الضعيفة يوثّق كلّ هبوط على أيّ حال:

dash.layout("Survey", RICON_WIFI);
dash.map("Position", &lat, &lon);              // where this reading was taken
dash.stat("RSSI", &rssi, "dBm");
dash.gauge("Quality", &quality, 0, 100, "%").variant("bar");
dash.badge("Signal", &grade).labels("Excellent", "OK", "WEAK");
dash.chart("RSSI trend", &rssi, "dBm");        // the survey trace
evlog = &dash.log("Weak zones", 5);
dash.begin(WIFI_SSID, WIFI_PASS);              // STA — we measure THIS link

المثال المرفق (examples/04_Templates/WifiSurvey) صادق فيما هو حقيقيّ: RSSI حيّ على أيّ لوحة من أوّل إقلاع؛ وGPS هو RisalFakeGPS يعيد مسار مشي، فيعمل المسح كلّه على الطاولة. وللخرائط الخارجيّة الحقيقيّة غذِّ lat/lon من TinyGPS++ — التوصيل وتحليل NMEA في بناء متتبّع GPS.

تكتيكات المسح

امشِ ببطء — RSSI مُتوسَّط ويتأخّر ثانية أو اثنتين. قِس على ارتفاع المكتب لا الأرض. كرّر الجولة مرّتين وثِق بالممرّ الأسوأ (الناس والأبواب تتحرّك). وحين تجد الزاوية الميتة فالعلاج غالبًا موضع الموجّه لا قدرته: انقل أوّلًا ثمّ وسّع. ومعنى أرقام dBm فيزيائيًّا — هوائيّات وجدران و2.4 مقابل 5 GHz — في دليل اللاسلكيّ.

‏RSSI حيّ من أوّل إقلاع — وليبقَ GPS وهميًّا حتّى تخرج.