به روز رسانی بلوتوث RFCOMM در وب سریال

فرانسوا بوفور
François Beaufort

Web Serial API از برقراری ارتباط با سرویس‌های RFCOMM در دستگاه‌های کلاسیک بلوتوث جفت شده از Chrome 117 روی دسک‌تاپ پشتیبانی می‌کند. به عنوان مثال، این به هدفون های بی سیم اجازه می دهد تا از RFCOMM برای مدیریت تنظیمات صوتی و به روز رسانی سیستم عامل استفاده کنند. برای کسب اطلاعات بیشتر ، سریال از طریق بلوتوث را در وب بررسی کنید.

از Chrome 130 برای دسک‌تاپ، بهبودی در Web Serial API به برنامه‌های وب اجازه می‌دهد بدون نیاز به باز کردن پورت، تشخیص دهند که درگاه سریال بلوتوث RFCOMM در دسترس است. این از اتصال مجدد غیرضروری در زمانی که دستگاه بی سیم عمداً قطع شده است جلوگیری می کند.

هنگامی که یک دستگاه بی سیم از محدوده میزبان خارج می شود، هر پورت سریال بی سیمی که توسط یک برنامه وب باز می شود به طور خودکار بسته می شود. در چنین مواردی، برنامه وب ممکن است سعی کند با روش SerialPort open() پورت را دوباره باز کند. با این حال، اگر دستگاه بی سیم عمداً قطع شده باشد (مثلاً توسط کاربر از صفحه کنترل سیستم عامل)، برنامه وب باید از باز کردن مجدد پورت برای جلوگیری از اتصال مجدد به دستگاه بی سیم خودداری کند.

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

اگر دستگاه بی‌سیم میزبان پورت دارای اتصال فعال به سیستم باشد، ویژگی SerialPort connected برای پورت‌های سریال بی‌سیم صادق است. برای پورت های سریال سیمی، اگر پورت به صورت فیزیکی به سیستم متصل باشد، درست است.

قطعه زیر به شما نشان می دهد که چگونه می توانید بررسی کنید که کدام دستگاه ها در دسترس هستند و به طور بالقوه به آنها به طور خودکار متصل شوید.

const ports = await navigator.serial.getPorts();
for (const port of ports) {
  if (port.connected) {
    // Automatically try to connect to the Bluetooth device.
    await port.open({ baudRate: 9600 });
  } else {
    // Otherwise, when the port is not logically connected:
    // 1. Prompt the user to make sure the Bluetooth device is available.
    // 2. Show a "connect" button to try opening the port.
  }
}

پیش از این، فقط درگاه های سریال سیمی، رویدادهای اتصال و قطع اتصال را ارسال می کردند. پورت های سریال بلوتوث RFCOMM اکنون این رویدادها را هنگامی که پورت به طور منطقی متصل یا قطع می شود، ارسال می کنند.

نسخه ی نمایشی

نسخه نمایشی متصل به سریال پورت.

منابع

قدردانی ها

با تشکر از جک هسیه و ریلی گرانت برای نقدهایشان.