آموزش جامع BLE

اتصال در BLE: مراحل Connect، پارامترهای اتصال و مصرف انرژی

از Advertising تا Connection Established پیش بروید و اثر Connection Interval، Peripheral Latency و Supervision Timeout را بر سرعت و باتری بفهمید.

فهرست مطالب
عکس واقعی برد mKIT مبتنی بر nRF51822؛ نمونهٔ قدیمی سخت‌افزار BLE، نه nRF52840 یا Sniffer معرفی‌شده در متن.
عکس واقعی برد mKIT مبتنی بر nRF51822؛ نمونهٔ قدیمی سخت‌افزار BLE، نه nRF52840 یا Sniffer معرفی‌شده در متن. عکس: Ordercrazy؛ منبع Wikimedia Commons؛ CC0. محتوای عکس تغییر نکرده است؛ نسخهٔ نمایشی ویکی‌مدیا استفاده شده است. این عکس مستند اجرای آزمایش LCENJ نیست.
مرحله 6 از ۲۰ مسیر تسلط بر BLE

اتصال BLE یک جریان دائمی از داده نیست؛ مجموعه‌ای از قرارهای زمانی کوتاه میان Central و Peripheral است. تنظیم درست این قرارها تفاوت میان محصول پاسخ‌گو و محصولی با باتری ضعیف را رقم می‌زند.

مسیر برقراری اتصال

Peripheral تبلیغ Connectable می‌فرستد، Central آن را در Scan می‌بیند و درخواست اتصال را با پارامترهای اولیه ارسال می‌کند. هر دو طرف سپس در زمان و کانال توافق‌شده وارد نخستین Connection Event می‌شوند. اگر زمان‌بندی یا Access Address درست نباشد، اتصال عملاً شکل نمی‌گیرد.

Connection Interval

Interval فاصله شروع دو Connection Event متوالی است. فاصله کوتاه پاسخ سریع‌تر و فرصت ارسال بیشتر می‌دهد، اما رادیو زودتر بیدار می‌شود. فاصله بلند مصرف متوسط را کم می‌کند ولی تأخیر فرمان و Notify افزایش می‌یابد. مقدار مناسب باید از نیاز کاربرد استخراج و روی سخت‌افزار اندازه‌گیری شود.

Peripheral Latency و Timeout

Peripheral Latency اجازه می‌دهد دستگاه جانبی در صورت نداشتن داده چند Event را رد کند. Supervision Timeout حداکثر سکوت قابل قبول پیش از اعلام قطع اتصال است. Timeout باید با Interval و Latency سازگار باشد؛ مقدار بسیار کوچک قطع‌های کاذب و مقدار بسیار بزرگ تشخیص دیرهنگام خرابی ایجاد می‌کند.

Connection Event و مصرف

در هر Event دو رادیو روی کانال مشخص بیدار می‌شوند، بسته ردوبدل می‌کنند و دوباره می‌خوابند. تعداد بسته، زمان روی هوا، PHY و Retransmission انرژی را تعیین می‌کنند. اسیلوسکوپ یا Power Profiler پالس‌های جریان را نشان می‌دهد و بهترین ابزار برای مقایسه تنظیمات است.

تنظیم شروع برای سنسور

برای دماسنجی که هر ثانیه به‌روزرسانی می‌شود، از Interval میانه شروع کنید، Latency را کم بگذارید و Timeout چند برابر بزرگ‌تر انتخاب کنید. سپس فرمان کاربر، نرخ Notify و جریان متوسط را اندازه بگیرید. برای محصول واقعی عدد نهایی را با تست در حضور Wi-Fi انتخاب کنید.

یک مثال عددی برای Interval، Latency و Timeout

برای یک اتصال معمول بدون Connection Subrating، فرض کنید بیشینه Interval برابر ۳۰ میلی‌ثانیه و Peripheral Latency برابر ۴ باشد. دستگاه جانبی در شرایط مجاز می‌تواند چهار رویداد را رد کند؛ فاصله فرصت گوش‌دادن می‌تواند به ۵ × ۳۰ = ۱۵۰ میلی‌ثانیه برسد.

timeout > 2 * (latency + 1) * max_interval
1000 ms > 2 * 5 * 30 ms = 300 ms

Timeout یک‌ثانیه‌ای از این نظر سازگار است، اما این محاسبه به معنی تضمین تأخیر کاربرد یا انتخاب بهینه باتری نیست. شرایط دیگر مشخصات و محدودیت میزبان هم باید رعایت شوند.

بازه رایج پایه از ۷٫۵ میلی‌ثانیه با گام ۱٫۲۵ میلی‌ثانیه شروع می‌شود؛ این را به همه نسخه‌ها تعمیم ندهید. Bluetooth Core 6.2 قابلیت Shorter Connection Intervals را معرفی کرده که در حالت پشتیبانی و مذاکره لازم می‌تواند تا ۳۷۵ میکروثانیه برسد. این قابلیت به‌صورت خودکار به ESP32 یا گوشی قدیمی اضافه نمی‌شود.

مرجع رسمی قابلیت SCI در Core 6.2

پرسش و پاسخ مقاله

سوال فنی خود را مطرح کنید

پرسش‌ها و پاسخ‌ها پس از بررسی مدیر منتشر می‌شوند. نویسنده، پیش‌نویس در انتظار بررسی را می‌بیند.

هنوز پرسش تاییدشده‌ای برای این مقاله ثبت نشده است.