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