آموزش جامع BLE

Advertising در BLE: انواع تبلیغ، Beacon و ساخت داده Advertising

دستگاه BLE چگونه دیده می‌شود؟ انواع Advertising، Scan Response، Beacon و ساخت Flags، Local Name، UUID و Manufacturer Data را بیاموزید.

فهرست مطالب
عکس واقعی برد ESP32 دارای ماژول ESP-WROOM-32؛ نمونهٔ سخت‌افزار سازگار با BLE.
عکس واقعی برد ESP32 دارای ماژول ESP-WROOM-32؛ نمونهٔ سخت‌افزار سازگار با BLE. عکس: Ubahnverleih؛ منبع Wikimedia Commons؛ CC0. محتوای عکس تغییر نکرده است؛ نسخهٔ نمایشی ویکی‌مدیا استفاده شده است. این عکس مستند اجرای آزمایش LCENJ نیست.
مرحله 4 از ۲۰ مسیر تسلط بر BLE

قبل از اتصال، دستگاه باید حضور و قابلیت خود را اعلام کند. Advertising می‌تواند فقط یک پیام کوتاه پخش کند، اجازه اسکن بدهد یا راه اتصال را باز کند. طراحی درست این داده روی کشف‌پذیری، مصرف باتری و تجربه موبایل اثر مستقیم دارد.

Advertising چه کاری انجام می‌دهد؟

Advertiser در فاصله‌های مشخص روی کانال‌های تبلیغ پیام می‌فرستد. Scanner این پیام‌ها را می‌شنود و بر اساس آدرس، نام، UUID سرویس یا داده سازنده تصمیم می‌گیرد. کوتاه‌کردن Interval کشف را سریع‌تر می‌کند اما مصرف و ازدحام را بالا می‌برد.

انواع اصلی

Connectable Undirected برای بیشتر محصولاتی است که باید توسط هر Central پیدا و متصل شوند. Directed برای اتصال سریع به دستگاه مشخص به کار می‌رود. Scannable اجازه دریافت Scan Response می‌دهد و Non-Connectable فقط داده پخش می‌کند. Extended Advertising فضای بیشتر و PHYهای متنوع‌تری می‌دهد، مشروط به پشتیبانی دو طرف.

Scan Response و Beacon

اگر داده در بسته اصلی جا نشود، Scanner می‌تواند Scan Request بفرستد و دستگاه با Scan Response اطلاعات تکمیلی مثل نام کامل پاسخ دهد. Beacon معمولاً بدون اتصال داده شناسه یا تله‌متری را پخش می‌کند. قالب‌های iBeacon، Eddystone و AltBeacon قراردادهای متفاوتی برای چیدمان این داده هستند.

ساخت AD Structure

هر بخش Advertising با یک بایت Length، سپس Type و Data ساخته می‌شود. Flags وضعیت عمومی را می‌گوید؛ Local Name برای نمایش انسانی است؛ UUID سرویس به برنامه اجازه فیلتر می‌دهد؛ Service Data و Manufacturer Data داده اختصاصی را حمل می‌کنند. قبل از ارسال، مجموع طول و اندین‌بودن عددها را کنترل کنید.

نمونه داده دماسنج

برای دماسنج، Flags را در بسته اصلی بگذارید، UUID سرویس محیطی را اضافه کنید و نام کوتاه را در فضای باقی‌مانده قرار دهید. اگر لازم است مدل و نسخه Firmware دیده شود، آن را به Scan Response منتقل کنید. داده حساس را هرگز بدون طراحی امنیتی در Advertising نفرستید.

بودجه ۳۱ بایتی و شرط دریافت Scan Response

در legacy advertising معمول، Advertising Data حداکثر ۳۱ بایت جا دارد و Scan Response نیز فضای مستقل حداکثر ۳۱ بایتی دارد. این دو، یک Payload پیوسته ۶۲ بایتی نیستند: Scanner باید اسکن فعال انجام دهد و Advertiser نیز scannable باشد تا پاسخ تکمیلی دریافت شود.

مثلاً Flags سه بایت، یک UUID شانزده‌بیتی چهار بایت و یک نام چهارحرفی شش بایت مصرف می‌کنند؛ مجموع ۱۳ بایت. آدرس دستگاه و Header رادیویی خارج از این بودجه داده AD هستند. برای Extended Advertising، محدودیت‌ها و سازگاری گوشی را جداگانه بخوانید.

UUID و نام وسیله برای کشف‌اند، نه اثبات هویت آن. شناسه Beacon عمومی را رمز یا مجوز بازکردن قفل فرض نکنید؛ برای Manufacturer Specific Data نیز Company Identifier باید مطابق تخصیص رسمی SIG و کاربرد مجاز انتخاب شود.

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

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

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

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