نقشهای BLE در GAP: Peripheral، Central، Broadcaster و Observer
چه کسی تبلیغ میکند، چه کسی اسکن میکند و نقش Central و Peripheral در سناریوهای گوشی، سنسور، دو ESP32 و Beacon چیست؟
فهرست مطالب

واژههای Central و Peripheral درباره نقش ارتباط هستند، نه قدرت سختافزار. گوشی معمولاً Central و سنسور Peripheral است، اما همان ESP32 میتواند در پروژهای دیگر نقش Central بگیرد. با شناخت نقشها، مسیر API و مسئولیت هر طرف روشن میشود.
Peripheral و Central
Peripheral معمولاً Advertising میکند و داده یا سرویس را ارائه میدهد. Central اسکن میکند، دستگاه مناسب را پیدا میکند و اتصال را آغاز میکند. پس از اتصال، نقش Link Layer با نقش GATT Client و Server یکی نیست؛ غالباً Central کلاینت است اما این الزام مطلق نیست.
Broadcaster و Observer
Broadcaster داده را بدون نیاز به اتصال پخش میکند؛ Beacon نمونه رایج آن است. Observer فقط Advertising را دریافت و تحلیل میکند و لزوماً اتصال نمیسازد. این دو نقش برای تلهمتری ساده، حضورسنجی و اسکن محیط کمهزینهاند.
گوشی و سنسور
در یک دماسنج، سنسور Advertising میکند، گوشی آن را اسکن و متصل میشود، سپس سرویسها را کشف میکند. اگر گوشی Notify را فعال کند، سنسور با تغییر دما مقدار جدید میفرستد. مسئول شروع اتصال گوشی است ولی داده کاربردی را سنسور تولید میکند.
دو ESP32 و چند نقش
یک ESP32-C3 میتواند Peripheral باشد و داده SHT31 را ارائه کند؛ ESP32 دوم Central باشد و آن را روی نمایشگر نشان دهد. برخی تراشهها چند اتصال یا چند نقش همزمان را پشتیبانی میکنند، اما RAM، زمان رادیو و پیچیدگی مدیریت وضعیت افزایش مییابد.
تمرین تعیین نقش
برای سه سناریوی «Beacon فروشگاه»، «قفل هوشمند با موبایل» و «Gateway که ده سنسور را میخواند» نقش هر دستگاه را بنویسید. سپس جداگانه مشخص کنید کدام طرف GATT Server و کدام طرف GATT Client است.
دو نقش مستقل را در یک جدول ببینید
| دستگاه در مثال دماسنج | نقش GAP | نقش رایج GATT |
|---|---|---|
| گوشی | Central؛ اتصال را آغاز میکند | Client؛ سرویس را کشف و داده را درخواست میکند |
| برد حسگر | Peripheral؛ اتصال تبلیغشده را میپذیرد | Server؛ جدول Attribute را ارائه میکند |
این چیدمان رایج است، اما قانون «Central همیشه Client است» وجود ندارد. نقش GAP مربوط به کشف و اتصال است؛ نقش GATT به ارائه یا مصرف Attributeها مربوط میشود. یک دستگاه میتواند در صورت پشتیبانی پشته، در هر دو جهت GATT کار کند.
Beacon غیرقابلاتصال را هم با GATT Server متصل یکی نگیرید: دریافت Advertising برای Observer به معنی تشکیل اتصال یا کشف سرویس نیست.
پرسش و پاسخ مقاله
سوال فنی خود را مطرح کنید
پرسشها و پاسخها پس از بررسی مدیر منتشر میشوند. نویسنده، پیشنویس در انتظار بررسی را میبیند.
هنوز پرسش تاییدشدهای برای این مقاله ثبت نشده است.