
سنسور دمای اتاق نشیمن بارها در هوماسیستنت (Home Assistant) وضعیت «در دسترس نیست» را نشان میداد. این اتفاق هر بار رخ نمیداد، اما بهقدری تکرار میشد که اتوماسیون فن هوشمند خانه را از کار بیندازد. بررسیها نشان داد سنسور و باتریهایش سالم هستند و مشکل واقعی این بود که سرور هوماسیستنت در اتاق خواب قرار دارد و آداپتور بلوتوث آن تا این فاصله را پوشش نمیدهد.
راهحل، یک برد توسعه ESP32 DevKit V1 بود که تنها ۵ دلار هزینه داشت. پس از فلش کردن فریمور پروکسی بلوتوث (Bluetooth Proxy) روی برد و تنظیم گزینهها در رابط کاربری جدید ESPHome، مشخص شد یک برد کافی نیست و به پروکسی دیگری در نقطهای دیگر از خانه نیاز است.
پیش از هر کاری، محدوده پوشش را اندازه بگیرید
هوماسیستنت ابزاری به نام «نمایشگر آگهی بلوتوث» (Bluetooth Advertisement Monitor) دارد که همراه با یکپارچهسازی بلوتوث (Bluetooth Integration) ارائه میشود. این ابزار در نشانی /config/bluetooth/advertisement-monitor قابل دسترسی است و نشان میدهد هر دستگاه چه میزان سیگنال گزارش میکند. دستگاههای واقع در لبه پوشش، یکباره قطع نمیشوند؛ قدرت سیگنال آنها بهتدریج افت میکند و سپس قطعیها آغاز میشود.
در این تجربه، تلویزیون LG C2 از طریق آداپتور سرور عدد -86 dBm و چراغ رومیزی Govee Table Lamp 2 عدد -85 dBm را ثبت میکردند؛ همان دو دستگاهی که مدام قطع میشدند. در مقابل، دستگاههای نزدیک سرور اعدادی بین -67 تا -77 dBm داشتند و هیچ مشکلی ایجاد نمیکردند. هرچه عدد به صفر نزدیکتر باشد، سیگنال قویتر است؛ بنابراین -67 dBm بسیار قویتر از -86 dBm است. همین اعداد، مبنای دقیقی برای پایش وضعیت بلوتوث فراهم میکند.
پروکسی را میان سرور و نقطه کور قرار دهید
برای رفع نقطه کور، بهترین موقعیت، فاصلهای میان روتر و نقطه ضعیف است تا پروکسی بتواند به بیشتر دستگاهها دسترسی داشته باشد. برد ESP32 DevKit V1 نزدیک درِ اتاق خواب دیگر و در مجاورت همان نقطه کور قرار گرفت و پس از آن، اعداد دریافتی دستگاههای بلوتوث کممصرف (BLE) دوردست بهبود یافت.
نکته مهم دیگر، فعالسازی مقدار bluetooth_proxy روی حالت active است تا برد بهعنوان یک رله دوطرفه عمل کند و هوماسیستنت بتواند فرمانها را ارسال کند. همچنین مستندات ESPHome هشدار میدهد که گره پروکسی نباید کنار روتر قرار بگیرد، زیرا بلوتوث و وایفای هر دو از باند ۲.۴ گیگاهرتز استفاده میکنند و پروکسی مجاور روتر، با لینک وایفای خودش رقابت میکند.
پس از هر جابهجایی، باید نمایشگر آگهی بلوتوث دوباره بررسی شود؛ چراکه حتی تغییر کوچک در موقعیت برد نیز میتواند اعداد سیگنال را تغییر دهد.
انتخاب برد، کماهمیتتر از جایگذاری آن است
دو برد ESP32 DevKit V1 و NodeMCU-32S در یک موقعیت و با فریمور یکسان آزمایش شدند و هر دو اعداد مشابهی بین -84 تا -88 dBm ارائه دادند. برد ESP32-C6 نیز بهعنوان پروکسی بلوتوث آزمایش شد؛ این برد از تراشه جدیدتر با پشتیبانی وایفای ۶ و بلوتوث ۵.۳ بهره میبرد، اما هیچ نشانهای از برد بلوتوثی بیشتر در آن مشاهده نشد. در نهایت، برد DevKit V1 به دلیل قیمت ۵ دلاری و اجرای فریمور پیشفرض ESPHome بدون نیاز به کار اضافه، انتخاب شد.
اتاقهای دور، پروکسی مستقل خود را میخواهند
ایوان خانه نقطه دشواری بود و با فاصله زیاد از سرور هوماسیستنت، شانسی برای پوشش نداشت. نزدیک کردن پروکسی نخست، یک نقطه کور را حل کرد اما نقطه کور دیگری ایجاد شد؛ بنابراین افزودن برد دوم در منطقه مشکلدار، نتیجه بهتری از تحت فشار گذاشتن یک برد داشت.
- نقطه نصب باید سیگنال وایفای قوی داشته باشد.
- وجود یک شارژر USB در نزدیکی برای تأمین برق ضروری است.
- پروکسیای که اتصال وایفای خود را از دست بدهد، هرچقدر هم بلوتوث خوبی داشته باشد بیفایده است.
- دو پروکسی نباید با فاصله یکنواخت چیده شوند؛ بلکه باید همپوشانی کافی داشته باشند تا هر دستگاه BLE به یکی از آنها برسد.
هوماسیستنت همه پروکسیها را در یک مجموعه تجمیع میکند و هر دستگاه را از طریق یکی از آنها مسیریابی میکند؛ بنابراین پروکسی اضافی تنها زمانی مفید است که بتواند به دستگاههایی دسترسی پیدا کند که پروکسی دیگر قادر به دیدن آنها نیست.
نتیجهگیری: مشکل جایگذاری بود، نه سختافزار
برد ارزانقیمت ESP32 DevKit V1 با فریمور پیشفرض ESPHome بهعنوان پروکسی بلوتوث، نقطه کور خانه را برطرف کرد. سنسور دمایی که مدام از هوماسیستنت ناپدید میشد، اکنون در دسترس است و آگهیهای همه دستگاههای BLE آنسوی اتاق خواب پایدار شدهاند. توصیه نهایی این است که اگر دستگاههای بلوتوثی شما مدام قطع میشوند، پیش از سرزنش سنسور یا خرید برد گرانتر، اعداد سیگنال و موقعیت پروکسی را بررسی کنید.