Web Serial API รองรับการสื่อสารกับบริการ RFCOMM ในอุปกรณ์บลูทูธคลาสสิกที่จับคู่ไว้จาก Chrome 117 บนเดสก์ท็อป ตัวอย่างเช่น การตั้งค่านี้ช่วยให้หูฟังเอียร์บัดไร้สายใช้ RFCOMM เพื่อจัดการการตั้งค่าเสียงและการอัปเดตเฟิร์มแวร์ได้ ดูข้อมูลเพิ่มเติมได้ในซีเรียลผ่านบลูทูธบนเว็บ
ตั้งแต่ Chrome 130 สำหรับเดสก์ท็อป การปรับปรุง Web Serial API ช่วยให้เว็บแอปตรวจจับได้เมื่อมีพอร์ตอนุกรม RFCOMM ของบลูทูธพร้อมใช้งานโดยไม่ต้องเปิดพอร์ต วิธีนี้จะช่วยป้องกันการเชื่อมต่อใหม่ที่ไม่จำเป็นเมื่อมีการยกเลิกการเชื่อมต่ออุปกรณ์ไร้สายโดยตั้งใจ
เมื่ออุปกรณ์ไร้สายอยู่นอกระยะสัญญาณของโฮสต์ พอร์ตซีเรียลแบบไร้สายที่เว็บแอปเปิดไว้จะปิดโดยอัตโนมัติ ในกรณีเช่นนี้ เว็บแอปอาจพยายามเปิดพอร์ตอีกครั้งด้วยเมธอด SerialPort open()
อย่างไรก็ตาม หากมีการจงใจตัดการเชื่อมต่ออุปกรณ์ไร้สาย (เช่น ผู้ใช้จากแผงควบคุมระบบปฏิบัติการ) เว็บแอปควรงดเปิดพอร์ตอีกครั้งเพื่อป้องกันการเชื่อมต่อกับอุปกรณ์ไร้สายอีกครั้ง
การเปิดเผยสถานะการเชื่อมต่อเชิงตรรกะของอุปกรณ์ไร้สายที่โฮสต์พอร์ตอนุกรมไร้สายผ่านแอตทริบิวต์บูลีน SerialPort connected
ใหม่ช่วยให้เว็บแอปแยกแยะกรณีเหล่านี้ได้แล้ว และจะเชื่อมต่ออีกครั้งก็ต่อเมื่อการเชื่อมต่อถูกตัดโดยไม่ตั้งใจเท่านั้น
แอตทริบิวต์ 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 ของบลูทูธจะส่งเหตุการณ์เหล่านี้เมื่อพอร์ตเชื่อมต่อหรือยกเลิกการเชื่อมต่อตามตรรกะ
สาธิต
แหล่งข้อมูล
บริการรับรองคำให้การ
ขอขอบคุณ Jack Hsieh และ Reilly Grant สำหรับรีวิว