คำอธิบาย
ใช้ chrome.serial API เพื่ออ่านและเขียนไปยังอุปกรณ์ที่เชื่อมต่อกับพอร์ตอนุกรม
สิทธิ์
serialประเภท
ConnectionInfo
พร็อพเพอร์ตี้
- 
    อัตราบิต
หมายเลข ไม่บังคับ
ดู
ConnectionOptions.bitrateคุณอาจละเว้นหรือระบุช่องนี้ไม่ถูกต้องได้หากใช้บิตเรตที่ไม่เป็นไปตามมาตรฐาน หรือหากเกิดข้อผิดพลาดขณะค้นหาอุปกรณ์พื้นฐาน - 
    bufferSize
ตัวเลข
ดู
ConnectionOptions.bufferSize - 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อพอร์ตอนุกรม
 - 
    ctsFlowControl
บูลีน ไม่บังคับ
ดู
ConnectionOptions.ctsFlowControlคุณอาจละเว้นฟิลด์นี้ได้หากเกิดข้อผิดพลาดขณะค้นหาอุปกรณ์ที่เกี่ยวข้อง - 
    dataBits
DataBits ไม่บังคับ
ดู
ConnectionOptions.dataBitsคุณอาจละเว้นฟิลด์นี้ได้หากเกิดข้อผิดพลาดขณะค้นหาอุปกรณ์ที่เกี่ยวข้อง - 
    ชื่อ
สตริง
ดู
ConnectionOptions.name - 
    parityBit
ParityBit ไม่บังคับ
ดู
ConnectionOptions.parityBitคุณอาจละเว้นฟิลด์นี้ได้หากเกิดข้อผิดพลาดขณะค้นหาอุปกรณ์ที่เกี่ยวข้อง - 
    หยุดชั่วคราว
บูลีน
การแจ้งที่ระบุว่ามีการบล็อกการเชื่อมต่อไม่ให้เริ่มทำงานเหตุการณ์ onReceive หรือไม่
 - 
    ต่อเนื่อง
บูลีน
ดู
ConnectionOptions.persistent - 
    receiveTimeout
ตัวเลข
ดู
ConnectionOptions.receiveTimeout - 
    sendTimeout
ตัวเลข
ดู
ConnectionOptions.sendTimeout - 
    stopBits
StopBits ไม่บังคับ
ดู
ConnectionOptions.stopBitsคุณอาจละเว้นฟิลด์นี้ได้หากเกิดข้อผิดพลาดขณะค้นหาอุปกรณ์ที่เกี่ยวข้อง 
ConnectionOptions
พร็อพเพอร์ตี้
- 
    อัตราบิต
หมายเลข ไม่บังคับ
บิตเรตที่ขอของการเชื่อมต่อที่จะเปิด เพื่อให้เข้ากันได้กับฮาร์ดแวร์ที่หลากหลายที่สุด หมายเลขนี้ควรตรงกับบิตเรตที่ใช้กันทั่วไป เช่น 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200 แน่นอนว่าเราไม่รับประกันว่าอุปกรณ์ที่เชื่อมต่อกับพอร์ตอนุกรมจะรองรับบิตเรตที่ขอ แม้ว่าพอร์ตเองจะรองรับบิตเรตนั้นก็ตาม ระบบจะส่ง
9600โดยค่าเริ่มต้น - 
    bufferSize
หมายเลข ไม่บังคับ
ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล ค่าเริ่มต้นคือ 4096
 - 
    ctsFlowControl
บูลีน ไม่บังคับ
แฟล็กที่ระบุว่าจะเปิดใช้การควบคุมการไหลของฮาร์ดแวร์ RTS/CTS หรือไม่ ค่าเริ่มต้นคือ false
 - 
    dataBits
DataBits ไม่บังคับ
ระบบจะส่ง
"eight"โดยค่าเริ่มต้น - 
    ชื่อ
สตริง ไม่บังคับ
สตริงที่แอปพลิเคชันกำหนดเพื่อเชื่อมโยงกับการเชื่อมต่อ
 - 
    parityBit
ParityBit ไม่บังคับ
ระบบจะส่ง
"no"โดยค่าเริ่มต้น - 
    ต่อเนื่อง
บูลีน ไม่บังคับ
Flag ที่ระบุว่าควรเปิดการเชื่อมต่อไว้หรือไม่เมื่อแอปพลิเคชันถูกระงับ (ดูจัดการวงจรแอป) ค่าเริ่มต้นคือ "false" เมื่อโหลดแอปพลิเคชันแล้ว การเชื่อมต่อแบบอนุกรมที่เปิดไว้ก่อนหน้านี้โดยมี persistent=true จะดึงข้อมูลได้ด้วย
getConnections - 
    receiveTimeout
หมายเลข ไม่บังคับ
ระยะเวลาสูงสุด (เป็นมิลลิวินาที) ที่จะรอดูก่อนว่ามีข้อมูลใหม่หรือไม่ก่อนที่จะเรียกใช้เหตุการณ์
onReceiveErrorที่มีข้อผิดพลาด "หมดเวลา" หากเป็น 0 ระบบจะไม่แสดงข้อผิดพลาดการหมดเวลาในการรับสำหรับการเชื่อมต่อ ค่าเริ่มต้นคือ 0 - 
    sendTimeout
หมายเลข ไม่บังคับ
ระยะเวลาสูงสุด (เป็นมิลลิวินาที) ที่จะรอให้
sendการดำเนินการเสร็จสมบูรณ์ก่อนเรียกใช้การเรียกกลับพร้อมข้อผิดพลาด "หมดเวลา" หากเป็น 0 ระบบจะไม่ทริกเกอร์ข้อผิดพลาดการหมดเวลาในการส่ง ค่าเริ่มต้นคือ 0 - 
    stopBits
StopBits ไม่บังคับ
ระบบจะส่ง
"one"โดยค่าเริ่มต้น 
DataBits
ค่าแจกแจง
"seven" 
 
"eight" 
 
DeviceControlSignals
พร็อพเพอร์ตี้
- 
    cts
บูลีน
CTS (Clear To Send)
 - 
    dcd
บูลีน
DCD (Data Carrier Detect) หรือ RLSD (Receive Line Signal/ Detect)
 - 
    dsr
บูลีน
DSR (ชุดข้อมูลพร้อมใช้งาน)
 - 
    ri
บูลีน
RI (Ring Indicator)
 
DeviceInfo
พร็อพเพอร์ตี้
- 
    displayName
สตริง ไม่บังคับ
ชื่อที่แสดงที่มนุษย์อ่านได้สำหรับอุปกรณ์พื้นฐาน หากสามารถค้นหาจากไดรเวอร์โฮสต์ได้
 - 
    เส้นทาง
สตริง
เส้นทางระบบของอุปกรณ์ ควรส่งค่านี้เป็นอาร์กิวเมนต์
pathไปยังchrome.serial.connectเพื่อเชื่อมต่อกับอุปกรณ์นี้ - 
    productId
หมายเลข ไม่บังคับ
รหัสผลิตภัณฑ์ USB หากระบุได้สำหรับอุปกรณ์พื้นฐาน
 - 
    vendorId
หมายเลข ไม่บังคับ
รหัสผู้ให้บริการ PCI หรือ USB หากระบุได้สำหรับอุปกรณ์พื้นฐาน
 
HostControlSignals
พร็อพเพอร์ตี้
- 
    dtr
บูลีน ไม่บังคับ
DTR (Data Terminal Ready)
 - 
    rts
บูลีน ไม่บังคับ
RTS (คำขอส่ง)
 
ParityBit
ค่าแจกแจง
"ไม่" 
 
"odd" 
 
"even" 
 
ReceiveError
ค่าแจกแจง
"ยกเลิกการเชื่อมต่อ" 
 ระบบยกเลิกการเชื่อมต่อแล้ว
"หมดเวลา" 
 ไม่ได้รับข้อมูลเป็นเวลา receiveTimeout มิลลิวินาที
"device_lost" 
 อุปกรณ์น่าจะยกเลิกการเชื่อมต่อจากโฮสต์
"หยุด" 
 อุปกรณ์ตรวจพบเงื่อนไขการหยุด
"frame_error" 
 อุปกรณ์ตรวจพบข้อผิดพลาดในการจัดเฟรม
"เกิน" 
 เกิดการล้นบัฟเฟอร์อักขระ อักขระถัดไปหายไป
"buffer_overflow" 
 เกิดการล้นของบัฟเฟอร์อินพุต บัฟเฟอร์อินพุตไม่มีที่ว่าง หรือได้รับอักขระหลังจากอักขระสิ้นสุดไฟล์ (EOF)
"parity_error" 
 อุปกรณ์ตรวจพบข้อผิดพลาดในการตรวจสอบความเท่ากัน
"system_error" 
 เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
ReceiveErrorInfo
พร็อพเพอร์ตี้
- 
    connectionId
ตัวเลข
ตัวระบุการเชื่อมต่อ
 - 
    ข้อผิดพลาด
รหัสข้อผิดพลาดที่ระบุว่าเกิดอะไรขึ้น
 
ReceiveInfo
พร็อพเพอร์ตี้
- 
    connectionId
ตัวเลข
ตัวระบุการเชื่อมต่อ
 - 
    เพิ่มเติม
ArrayBuffer
ข้อมูลที่ได้รับ
 
SendError
ค่าแจกแจง
"ยกเลิกการเชื่อมต่อ" 
 ระบบยกเลิกการเชื่อมต่อแล้ว
"รอดำเนินการ" 
 การส่งรอดำเนินการอยู่แล้ว
"หมดเวลา" 
 การส่งหมดเวลา
"system_error" 
 เกิดข้อผิดพลาดของระบบและอาจกู้คืนการเชื่อมต่อไม่ได้
SendInfo
พร็อพเพอร์ตี้
- 
    bytesSent
ตัวเลข
จำนวนไบต์ที่ส่ง
 - 
    ข้อผิดพลาด
SendError ไม่บังคับ
รหัสข้อผิดพลาดหากเกิดข้อผิดพลาด
 
StopBits
ค่าแจกแจง
"one" 
 
"two" 
 
เมธอด
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
กู้คืนการส่งอักขระในการเชื่อมต่อที่ระบุและวางบรรทัดการส่งในสถานะที่ไม่หยุด
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อ
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
เชื่อมต่อกับพอร์ตอนุกรมที่ระบุ
พารามิเตอร์
- 
    เส้นทาง
สตริง
เส้นทางของระบบของพอร์ตอนุกรมที่จะเปิด
 - 
    ตัวเลือก
ConnectionOptions ไม่บังคับ
ตัวเลือกการกำหนดค่าพอร์ต
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(connectionInfo: ConnectionInfo) => void
- 
    connectionInfo
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<ConnectionInfo>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
ยกเลิกการเชื่อมต่อจากพอร์ตอนุกรม
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อที่เปิดอยู่
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
ล้างข้อมูลทั้งหมดในบัฟเฟอร์อินพุตและเอาต์พุตของการเชื่อมต่อที่ระบุ
พารามิเตอร์
- 
    connectionId
ตัวเลข
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
ดึงข้อมูลรายการการเชื่อมต่อพอร์ตอนุกรมที่แอปพลิเคชันเป็นเจ้าของซึ่งเปิดอยู่ในปัจจุบัน
พารามิเตอร์
- 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(connectionInfos: ConnectionInfo[]) => void
- 
    connectionInfos
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<ConnectionInfo[]>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
ดึงข้อมูลสถานะของสัญญาณควบคุมในการเชื่อมต่อที่ระบุ
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อ
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(signals: DeviceControlSignals) => void
- 
    สัญญาณ
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<DeviceControlSignals>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
แสดงข้อมูลเกี่ยวกับอุปกรณ์แบบอนุกรมที่พร้อมใช้งานในระบบ ระบบจะสร้างรายการใหม่ทุกครั้งที่มีการเรียกใช้เมธอดนี้
พารามิเตอร์
- 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(ports: DeviceInfo[]) => void
- 
    ports
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<DeviceInfo[]>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
ดึงข้อมูลสถานะของการเชื่อมต่อที่ระบุ
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อที่เปิดอยู่
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(connectionInfo: ConnectionInfo) => void
- 
    connectionInfo
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<ConnectionInfo>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
เขียนข้อมูลไปยังการเชื่อมต่อที่ระบุ
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อ
 - 
    เพิ่มเติม
ArrayBuffer
ข้อมูลที่จะส่ง
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(sendInfo: SendInfo) => void
- 
    sendInfo
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<SendInfo>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
ระงับการส่งอักขระในการเชื่อมต่อที่ระบุและวางสายส่งในสถานะหยุดชั่วคราวจนกว่าจะมีการเรียกใช้ clearBreak
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อ
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
ตั้งค่าสถานะของสัญญาณควบคุมในการเชื่อมต่อที่ระบุ
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อ
 - 
    สัญญาณ
ชุดการเปลี่ยนแปลงสัญญาณที่จะส่งไปยังอุปกรณ์
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
หยุดชั่วคราวหรือยกเลิกการหยุดชั่วคราวการเชื่อมต่อที่เปิดอยู่
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อที่เปิดอยู่
 - 
    หยุดชั่วคราว
บูลีน
Flag เพื่อระบุว่าจะหยุดชั่วคราวหรือยกเลิกการหยุดชั่วคราว
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้() => void
 
การคืนสินค้า
- 
            
Promise<void>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
อัปเดตการตั้งค่าตัวเลือกในการเชื่อมต่อพอร์ตอนุกรมที่เปิดอยู่
พารามิเตอร์
- 
    connectionId
ตัวเลข
รหัสของการเชื่อมต่อที่เปิดอยู่
 - 
    ตัวเลือก
ตัวเลือกการกำหนดค่าพอร์ต
 - 
    callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(result: boolean) => void
- 
    ผลลัพธ์
บูลีน
 
 - 
    
 
การคืนสินค้า
- 
            
Promise<boolean>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
 
กิจกรรม
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่ออ่านข้อมูลจากการเชื่อมต่อ
พารามิเตอร์
- 
    callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(info: ReceiveInfo) => void
- 
    ข้อมูล
 
 - 
    
 
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อเกิดข้อผิดพลาดขณะรันไทม์รอข้อมูลในพอร์ตอนุกรม เมื่อเกิดเหตุการณ์นี้ ระบบอาจตั้งค่าการเชื่อมต่อเป็น paused ข้อผิดพลาด "timeout" จะไม่หยุดการเชื่อมต่อชั่วคราว
พารามิเตอร์
- 
    callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(info: ReceiveErrorInfo) => void
- 
    ข้อมูล
 
 -