chrome.serial

คำอธิบาย

ใช้ 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 45 ขึ้นไป
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

การคืนสินค้า

  • 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

การคืนสินค้า

  • Promise<ConnectionInfo[]>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getControlSignals()

สัญญา
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

ดึงสถานะสัญญาณควบคุมในการเชื่อมต่อหนึ่งๆ

พารามิเตอร์

  • connectionId

    ตัวเลข

    รหัสของการเชื่อมต่อ

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (signals: DeviceControlSignals)=>void

การคืนสินค้า

  • Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getDevices()

สัญญา
chrome.serial.getDevices(
  callback?: function,
)

แสดงผลข้อมูลเกี่ยวกับอุปกรณ์ซีเรียลที่ใช้ได้ในระบบ รายการนี้จะสร้างขึ้นใหม่ทุกครั้งที่มีการเรียกใช้เมธอดนี้

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (ports: DeviceInfo[])=>void

การคืนสินค้า

  • Promise<DeviceInfo[]>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getInfo()

สัญญา
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

ดึงสถานะของการเชื่อมต่อที่ระบุ

พารามิเตอร์

  • connectionId

    ตัวเลข

    รหัสของการเชื่อมต่อที่เปิดอยู่

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (connectionInfo: ConnectionInfo)=>void

การคืนสินค้า

  • Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

send()

สัญญา
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

เขียนข้อมูลไปยังการเชื่อมต่อที่ระบุ

พารามิเตอร์

  • connectionId

    ตัวเลข

    รหัสของการเชื่อมต่อ

  • ข้อมูล

    ArrayBuffer

    ข้อมูลที่จะส่ง

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (sendInfo: SendInfo)=>void

การคืนสินค้า

  • Promise<SendInfo>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

setBreak()

คำมั่นสัญญา Chrome 45 ขึ้นไป
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