| org.bluez.AdvertisementMonitor(5) | مدیریت سیستم لینوکس | org.bluez.AdvertisementMonitor(5) |
نام (NAME)
org.bluez.AdvertisementMonitor - مستندات واسط D-Bus پایشگر آگهی در BlueZ
توضیحات (DESCRIPTION)
این واسط به کلاینت اجازه میدهد تا با ثبت ریشه سلسلهمراتب و سپس ارائه (expose) پایشگرهای آگهی تحت این ریشه به همراه شرایط پالایش، آستانههای RSSI و زمانسنجهای آستانه RSSI، یک وظیفه پایش آگهیها را مشخص کند.
هنگامی که یک وظیفه پایش توسط bluetoothd(8) فعال شود، کلاینت میتواند انتظار داشته باشد که اعلانهای مربوط به آگهیهای هدف را صرفنظر از اینکه یک نشست پویش فعال در حال اجرا است یا خیر (نگاه کنید به StartDiscovery() در org.bluez.Adapter(5)) دریافت کند.
واسط (INTERFACE)
- سرویس (Service)
- org.bluez
- واسط (Interface)
- org.bluez.AdvertisementMonitor1 [experimental]
- مسیر شیء (Object path)
- به صورت آزاد قابل تعریف است (freely definable)
- مورد استفاده توسط (Used by)
- bluetoothctl-monitor(1)
متدها (Methods)
void Release() [noreply]
این متد به عنوان سیگنالی برای انجام وظایف پاکسازی توسط کلاینت فراخوانی میشود هنگامی که:
- پایشگر پس از ارائه شدن، امکان فعالسازی نداشته باشد.
- پایشگر غیرفعال شده باشد.
void Activate() [noreply]
پس از اینکه یک پایشگر ارائه شد، این متد به عنوان سیگنالی برای آگاهسازی کلاینت از فعال شدن پایشگر فراخوانی میشود تا کلاینت بتواند انتظار دریافت فراخوانیهای DeviceFound() یا DeviceLost() را داشته باشد.
void DeviceFound(object device) [noreply]
این متد برای آگاهسازی کلاینت از پیدا شدن دستگاه مورد نظر فراخوانی میشود.
پس از دریافت این فراخوانی، کلاینت باید پایش دستگاه مربوطه را برای دریافت تغییرات RSSI و محتوای آگهی آغاز کند.
void DeviceLost(object device) [noreply]
این متد برای آگاهسازی کلاینت از دست رفتن دستگاه مورد نظر فراخوانی میشود.
پس از دریافت این فراخوانی، کلاینت باید پایش دستگاه مربوطه را متوقف کند.
ویژگیها (Properties)
string Type [read-only]
نوع پایشگر. برای گزینههای موجود، SupportedMonitorTypes را در org.bluez.AdvertisementMonitorManager(5) ببینید.
int16 RSSILowThreshold [read-only, optional]
در ترکیب با RSSILowTimeout برای تعیین اینکه آیا دستگاهی از محدوده خارج (out-of-range) شده است یا خیر استفاده میشود.
محدوده معتبر بین -127 تا 20 (برحسب dBm) است، در حالی که 127 نشاندهنده تنظیمنشده (unset) بودن است.
int16 RSSIHighThreshold [read-only, optional]
در ترکیب با RSSIHighTimeout برای تعیین اینکه آیا دستگاهی وارد محدوده (in-range) شده است یا خیر استفاده میشود.
محدوده معتبر بین -127 تا 20 (برحسب dBm) است، در حالی که 127 نشاندهنده تنظیمنشده (unset) بودن است.
uint16 RSSILowTimeout [read-only, optional]
مدت زمانی که لازم است تا دستگاهی خارج از محدوده در نظر گرفته شود. اگر این تعداد ثانیه بدون دریافت هیچ سیگنالی که دستکم به اندازه RSSILowThreshold قوی باشد سپری شود، دستگاهی که در حال حاضر درون محدوده است به عنوان خارج از محدوده (دسترفته یا lost) در نظر گرفته خواهد شد. محدوده معتبر بین 1 تا 300 (ثانیه) است، در حالی که 0 نشاندهنده تنظیمنشده بودن است.
uint16 RSSIHighTimeout [read-only, optional]
مدت زمانی که لازم است تا دستگاهی درون محدوده در نظر گرفته شود. اگر این تعداد ثانیه در حال دریافت مداوم سیگنالهایی که دستکم به اندازه RSSIHighThreshold قوی هستند سپری شود، دستگاهی که در حال حاضر خارج از محدوده است به عنوان درون محدوده (یافتشده یا found) در نظر گرفته خواهد شد.
محدوده معتبر بین 1 تا 300 (ثانیه) است، در حالی که 0 نشاندهنده تنظیمنشده بودن است.
uint16 RSSISamplingPeriod [read-only, optional]
قوانین گروهبندی درباره نحوه ارسال بستههای آگهی دریافتشده به کلاینت.
مقادیر ممکن:
- 0
- تمام بستههای آگهی از دستگاههای درون محدوده ارسال خواهند شد.
- 255
- تنها نخستین بسته آگهی دستگاههای درون محدوده ارسال خواهد شد. اگر دستگاه از دست برود، نخستین بسته پس از یافتن دوباره آن نیز ارسال خواهد شد.
- 1 to 254
- بستههای
آگهی در
بازههای
زمانی 100ms * N
گروهبندی
میشوند.
بستههای
موجود در یک
گروه تنها
یک بار
گزارش
خواهند شد و
مقدار RSSI
میانگینگیری
میشود.
در حال حاضر این ویژگی در فضای کاربری پیادهسازی نشده است، بنابراین این مقدار صرفاً جهت ارسال به هسته استفاده میشود.
array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
اگر ویژگی Type روی "or_patterns" تنظیم شده باشد، این ویژگی باید وجود داشته باشد و دستکم شامل یک مورد در آرایه باشد.
ساختار یک الگو شامل موارد زیر است:
- uint8 start_position
- اندیس در فیلد دادهای AD که جستجو باید از آنجا آغاز شود. ابتدای یک فیلد دادهای AD، اندیس 0 است.
- uint8 AD_data_type
- برای مقادیر مجاز ممکن، https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile را ببینید.
- array{byte} content_of_pattern
- این مقدار الگو است. حداکثر طول بایتها ۳۱ است.
| اکتبر 2023 | BlueZ |