bluetoothctl-hci(1) Linux System Administration bluetoothctl-hci(1)

bluetoothctl-hci - زیرمنوی واسط کنترل‌کننده میزبان (HCI)

bluetoothctl [--options] [hci.commands]

نکته:

این زیرمنو مستقیماً از طریق سوکت HCI با کنترل‌کننده بلوتوث ارتباط برقرار می‌کند و API واسط D-Bus بلوتوث BlueZ را دور می‌زند. دستورات از پروتکل Host Controller Interface (HCI) استفاده می‌کنند.

باز کردن کانال HCI.

نحوه استفاده (Usage)
> open <index> <chan=raw,user>
شماره نمایه کنترل‌کننده HCI (مانند 0, 1, 2)
نوع کانال (raw یا user)
مثال باز کردن کانال user (کنترل‌کننده ابتدا باید خاموش شود)
> power off
> hci.open 0 user
HCI index 0 user channel opened
مثال باز کردن کانال user برای کنترل‌کننده HCI شماره 0
> hci.open 0 user
مثال باز کردن کانال user برای کنترل‌کننده HCI شماره 1
> hci.open 1 user
مثال باز کردن کانال user برای کنترل‌کننده HCI شماره 2
> hci.open 2 user
مثال باز کردن کانال raw برای کنترل‌کننده HCI شماره 0
> hci.open 0 raw
مثال باز کردن کانال raw برای کنترل‌کننده HCI شماره 1
> hci.open 1 raw

ارسال دستور HCI.

نحوه استفاده (Usage)
> cmd <opcode> [parameters...]
کد عملیاتی دستور HCI در قالب هگزادسیمال (مانند 0x0c03)
پارامترهای اختیاری دستور به عنوان بایت‌های هگزادسیمال
مثال ارسال دستور بازنشانی HCI (HCI Reset)
> hci.cmd 0x0c03
HCI Command complete:
00
مثال ارسال دستور بازنشانی HCI (بدون پارامتر)
> hci.cmd 0x0c03
مثال ارسال دستور خواندن اطلاعات نسخه محلی HCI (Read Local Version Information)
> hci.cmd 0x1003
مثال ارسال دستور خواندن نشانی فیزیکی بلوتوث (Read BD Address)
> hci.cmd 0x1009
مثال ارسال دستور تنظیم فیلتر رویداد با پارامتر 0x01
> hci.cmd 0x0c01 0x01
مثال ارسال دستور تنظیم پارامترهای تبلیغاتی LE با دو پارامتر
> hci.cmd 0x200f 0x00 0x08
مثال ارسال دستور تنظیم داده‌های تبلیغاتی LE با طول و بایت‌های داده
> hci.cmd 0x2008 0x20 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
مثال ارسال دستور تنظیم ماسک رویداد HCI
> hci.cmd 0x0c05 0x02
مثال ارسال دستور فعال‌سازی پویش HCI (Write Scan Enable)
> hci.cmd 0x0c2a 0x01
مثال ارسال دستور نوشتن کلاس دستگاه HCI (Write Class of Device)
> hci.cmd 0x0c23 0x00 0x08

ارسال بسته داده HCI.

نحوه استفاده (Usage)
> send <type=acl,sco,iso> <handle> [data...]
نوع بسته (acl, sco یا iso)
دستگیره اتصال (Connection handle) در قالب هگزادسیمال (مانند 0x0000)
بایت‌های داده اختیاری در قالب هگزادسیمال
مثال ارسال بسته داده ACL به دستگیره اتصال 0x0000
> hci.send acl 0x0000
مثال ارسال بسته خالی ACL به دستگیره 0x0000
> hci.send acl 0x0000
مثال ارسال بسته ACL همراه با داده Hello به دستگیره 0x0001
> hci.send acl 0x0001 0x48 0x65 0x6c 0x6c 0x6f
مثال ارسال بسته ACL همراه با داده‌های سفارشی به دستگیره 0x0010
> hci.send acl 0x0010 0x01 0x02 0x03 0x04
مثال ارسال بسته خالی SCO به دستگیره 0x0000
> hci.send sco 0x0000
مثال ارسال بسته SCO همراه با داده صوتی
> hci.send sco 0x0001 0xaa 0xbb 0xcc
مثال ارسال بسته SCO همراه با الگوی موج سینوسی
> hci.send sco 0x0002 0x80 0x00 0x80 0x00
مثال ارسال بسته خالی ISO به دستگیره 0x0000
> hci.send iso 0x0000
مثال ارسال بسته ISO همراه با نمونه داده
> hci.send iso 0x0001 0x12 0x34 0x56 0x78
مثال ارسال بسته ISO برای جریان صوتی کم‌مصرف (LE Audio stream)
> hci.send iso 0x0020 0xa0 0xa1 0xa2 0xa3

ثبت گرداننده رویداد HCI (Event Handler).

نحوه استفاده (Usage)
> register <event>
کد رویداد HCI در قالب هگزادسیمال (مانند 0x0e)
مثال ثبت گرداننده برای رویداد Command Complete
> register 0x0e
مثال ثبت گرداننده برای رویداد Command Status
> register 0x0f
مثال ثبت گرداننده برای رویداد Connection Complete
> register 0x03
مثال ثبت گرداننده برای رویداد Disconnection Complete
> register 0x05
مثال ثبت گرداننده برای رویدادهای LE Meta
> register 0x3e
مثال ثبت گرداننده برای رویداد Inquiry Complete
> register 0x02
مثال ثبت گرداننده برای رویداد Role Change
> register 0x22

لغو ثبت گرداننده رویداد HCI.

نحوه استفاده (Usage)
> unregister <event>
کد رویداد HCI در قالب هگزادسیمال (مانند 0x0e)
مثال لغو ثبت گرداننده رویداد Command Complete
> unregister 0x0e
مثال لغو ثبت گرداننده رویداد Command Status
> unregister 0x0f
مثال لغو ثبت گرداننده رویداد Connection Complete
> unregister 0x03
مثال لغو ثبت گرداننده رویداد Disconnection Complete
> unregister 0x05
مثال لغو ثبت گرداننده رویداد LE Meta
> unregister 0x3e

بستن کانال HCI.

کانال HCI در حال حاضر باز را می‌بندد.

نحوه استفاده (Usage)
> close
مثال بستن کانال HCI جاری
> close

http://www.bluez.org

<linux-bluetooth@vger.kernel.org>

استفاده آزاد از این نرم‌افزار تحت شرایط مجوز عمومی کمتر گنو (LGPL) اعطا شده است.

December 2024 BlueZ