
بسیاری از کاربران برای سنجش کیفیت شبکه بیسیم خانه، تنها به میلههای سیگنال گوشی یا اپلیکیشنهای تحلیل وایفای (Wi-Fi Analyzer) تکیه میکنند؛ اما این ابزارها تصویر دقیقی از وضعیت واقعی شبکه ارائه نمیدهند. یک کاربر با استفاده از یک برد میکروکنترلر (Microcontroller) ارزانقیمت ESP32-S3 و پلتفرم خانگی هوماسیستنت (Home Assistant) توانسته است نقاط کور وایفای منزل خود را بهصورت اتاقبهاتاق نقشهبرداری کند.
چرا میلههای سیگنال و اپلیکیشنهای گوشی پاسخگو نیستند؟
میلههای سیگنال صرفاً یک نشانگر ساده هستند و اطلاعات دقیقی درباره کیفیت واقعی اتصال ارائه نمیدهند. این کاربر پس از آزمایش سه اپلیکیشن مختلف تحلیل وایفای روی یک گوشی و در یک نقطه ثابت، متوجه شد که این برنامهها با یکدیگر اختلاف دارند؛ یکی اتصال را قوی اعلام میکرد و دیگری همان نقطه را در آستانه ضعف میدانست. هیچکدام نیز ثبت نمیکردند که کاربر چند دقیقه قبل در چه مکانی ایستاده بوده است.
آنچه این کاربر بهدنبال آن بود، عددی بر مبنای دسیبل (dBm) بود؛ همان مقداری که روتر و دستگاههای بیسیم میبینند، نه یک تخمین تقریبی. به همین دلیل بهجای گوشی یا تبلت، سراغ سختافزاری اختصاصی رفت که میتواند این داده را مستقیماً از چیپ وایفای خود بخواند و بهصورت موقت ذخیره کند.
انتخاب برد مناسب؛ ESP32-S3 در برابر ESP32-C6
در ابتدا برد ESP32-C6 با پشتیبانی از وایفای ۶ (Wi-Fi 6) و رادیوی زیگبی (Zigbee) گزینه جذابی به نظر میرسید؛ ایده این بود که در نقاط کاملاً کور، رادیوی دوم وارد عمل شود. اما این ایده در بررسی دقیقتر دوام نیاورد؛ زیرا خواندن داده سیگنال وایفای از بیرون به وجود چیپ وایفای ۶ وابسته نیست و انتقال اطلاعات نیز به یک چیپ هماهنگکننده (Coordinator) نیاز داشت که کار را پیچیده میکرد.
در نهایت برد ESP32-S3 به دلیل ابزارهای بالغتر (Mature Tooling) انتخاب شد؛ بردی مجهز به میکروکنترلر دو هستهای Xtensa LX7، ۱۶ مگابایت حافظه فلش (Flash) و ۸ مگابایت حافظه PSRAM که برای پروژههای متنوع آماده است.
انتقال داده قدرت سیگنال به هوماسیستنت
پس از بررسی چند راهکار، اجرای یک وبسرور برای نمایش مقادیر شاخص قدرت سیگنال دریافتی (RSSI) کنار گذاشته شد؛ چون با بستن تب مرورگر، دادهها از بین میرفت و هدف اصلی نقشهبرداری محقق نمیشد. در عوض، یک فایل پیکربندی کوتاه YAML در ESPHome روی برد فلش (Flash) شد تا قدرت سیگنال وایفای را بخواند و آن را بهعنوان یک سنسور (Sensor) به هوماسیستنت گزارش کند؛ سرویسی که کاربر بههرحال در طول روز آن را بررسی میکند.
ثبت داده اتاقبهاتاق در داشبورد
برای ثبت دادههای برد، سه سنسور مجزا در هوماسیستنت تعریف شد و یک فایل پیکربندی Wi-Fi Survey نیز اندازهگیریها را به دادههای پیمایش اتاقبهاتاق تبدیل کرد. اجزای اصلی این راهاندازی عبارت بودند از:
- سنسور قرائت زنده: نمایش لحظهای مقدار RSSI در هر نقطه از خانه.
- سنسور میانگین پیمایش: محاسبه میانگین مقادیر ثبتشده در طول یک پیمایش.
- سنسور آخرین نتیجه اتاق: نگهداشتن آخرین نتیجه مربوط به اتاقی که کاربر در آن ایستاده است.
- کارتهای موجودیت (Entity Cards): ایجاد نماهای جداگانه برای سیگنال زنده، ثبت پیمایش با انتخاب اتاق و مدتزمان، تاریخچه سیگنال و فهرست آخرین نتیجه هر اتاق.
با این ساختار، کاربر تنها کافی است وارد یک اتاق شود، کارت مربوطه را انتخاب کند و پیمایش را آغاز کند تا مقادیر آن اتاق ثبت شود.
نتیجه: تصمیمگیری بر پایه داده واقعی
پس از پایان پیمایش همه اتاقها مشخص شد که آشپزخانه و گوشه دیگر اتاق خواب تقریباً هیچ اتصال بیسیمی ندارند؛ اعدادی که بهقدری پایین بودند که میلههای سیگنال گوشی هرگز آنها را نشان نمیدادند. این کاربر برای یافتن نقاط کور، تنها از یک برد ارزانقیمت، یک فایل پیکربندی کوتاه، چند ابزار کمکی (Helper) و چند کارت موجودیت استفاده کرد.
داشبورد هوماسیستنت او اکنون روی یک تبلت در خانه در حال اجراست و دادههای واقعی هر اتاق را در اختیارش میگذارد؛ بنابراین دیگر نیازی به تکیه بر حافظه یا حدسوگمان ندارد. به گفته او، اگر یک برد ESP32 اضافه از پروژهای دیگر دارید، این روش راهی رضایتبخش برای یافتن مناطق ضعیف وایفای در خانه و اطراف آن است و باعث میشود تصمیمگیری برای جایگذاری روتر یا گره مش (Mesh Node) بعدی بر پایه اعداد واقعی انجام شود، نه بر اساس حدسوگمانی که هنگام چرخاندن گوشی در هوا شکل گرفته است.