Web Serial API תומך בתקשורת עם שירותי RFCOMM במכשירי Bluetooth Classic מותאמים מ-Chrome 117 במחשב. לדוגמה, כך אוזניות אלחוטיות יכולות להשתמש ב-RFCOMM כדי לנהל את הגדרות האודיו ואת עדכוני הקושחה. מידע נוסף זמין במאמר Serial over Bluetooth באינטרנט.
החל מגרסה 130 של Chrome למחשב, שיפור ב-Web Serial API מאפשר לאפליקציות אינטרנט לזהות מתי יציאה טורית מסוג Bluetooth RFCOMM זמינה, בלי צורך לפתוח את היציאה. כך אפשר למנוע חיבורים מיותרים מחדש כשהמכשיר האלחוטי נותק בכוונה.
כשמכשיר אלחוטי יוצא מטווח המארח, כל יציאה טורית אלחוטית שנפתחה על ידי אפליקציית אינטרנט נסגרת באופן אוטומטי. במקרים כאלה, אפליקציית האינטרנט עשויה לנסות לפתוח מחדש את היציאה באמצעות השיטה SerialPort open()
. עם זאת, אם המכשיר האלחוטי נותק בכוונה (לדוגמה, על ידי המשתמש בלוח הבקרה של מערכת ההפעלה), אפליקציית האינטרנט צריכה להימנע מפתיחת היציאה מחדש כדי למנוע חיבור מחדש למכשיר האלחוטי.
חשיפה של מצב החיבור הלוגי של המכשיר האלחוטי שמארח את היציאה הטוריית האלחוטית באמצעות מאפיין SerialPort connected
בוליאני חדש מאפשרת לאפליקציות אינטרנט להבדיל בין המקרים האלה, ולהתחבר מחדש רק אם הניתוק היה לא מכוון.
המאפיין SerialPort connected
נכון ליציאות טוריות אלחוטיות אם למכשיר האלחוטי שמארח את היציאה יש חיבורים פעילים למערכת. ביציאות טוריות עם חיבור קווי, הערך True מוגדר אם היציאה מחוברת פיזית למערכת.
קטע הקוד הבא מראה איך לבדוק אילו מכשירים זמינים ולהתחבר אליהם באופן אוטומטי.
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.
}
}
בעבר, רק יציאות טוריות קוויות שלחו אירועי connect ו-disconnect. יציאות טוריות של Bluetooth RFCOMM שולחות עכשיו את האירועים האלה כשהיציאה מחוברת או מנותקת באופן לוגי.
הדגמה (דמו)
משאבים
אימות חתימות
תודה ל-Jack Hsieh ול-Reilly Grant על הביקורות שלהם.