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