chrome.serial

Nội dung mô tả

Dùng API chrome.serial để đọc dữ liệu từ và ghi vào thiết bị được kết nối với cổng nối tiếp.

Quyền

serial

Loại

ConnectionInfo

Thuộc tính

  • bitrate

    số không bắt buộc

    Vui lòng xem ConnectionOptions.bitrate. Trường này có thể bị bỏ qua hoặc không chính xác nếu đang sử dụng tốc độ bit không chuẩn hoặc nếu đã xảy ra lỗi khi truy vấn thiết bị cơ bản.

  • bufferSize

    number

    xem ConnectionOptions.bufferSize

  • connectionId

    number

    Mã kết nối cổng nối tiếp.

  • ctsFlowControl

    boolean không bắt buộc

    Vui lòng xem ConnectionOptions.ctsFlowControl. Bạn có thể bỏ qua trường này nếu xảy ra lỗi khi truy vấn thiết bị cơ bản.

  • dataBits

    DataBits không bắt buộc

    Vui lòng xem ConnectionOptions.dataBits. Bạn có thể bỏ qua trường này nếu xảy ra lỗi khi truy vấn thiết bị cơ bản.

  • tên

    string

    xem ConnectionOptions.name

  • parityBit

    ParityBit không bắt buộc

    Vui lòng xem ConnectionOptions.parityBit. Bạn có thể bỏ qua trường này nếu xảy ra lỗi khi truy vấn thiết bị cơ bản.

  • tạm dừng

    boolean

    Cờ cho biết liệu kết nối có bị chặn kích hoạt các sự kiện onReceive hay không.

  • cố định

    boolean

    xem ConnectionOptions.persistent

  • receiveTimeout

    number

    xem ConnectionOptions.receiveTimeout

  • sendTimeout

    number

    xem ConnectionOptions.sendTimeout

  • stopBits

    StopBits không bắt buộc

    Vui lòng xem ConnectionOptions.stopBits. Bạn có thể bỏ qua trường này nếu xảy ra lỗi khi truy vấn thiết bị cơ bản.

ConnectionOptions

Thuộc tính

  • bitrate

    số không bắt buộc

    Tốc độ bit đã yêu cầu của kết nối sẽ được mở. Để tương thích với phạm vi phần cứng rộng nhất, số này phải khớp với một trong các tốc độ bit phổ biến, chẳng hạn như 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Tất nhiên, không có gì đảm bảo rằng thiết bị kết nối với cổng nối tiếp sẽ hỗ trợ tốc độ bit được yêu cầu, ngay cả khi chính cổng đó hỗ trợ tốc độ bit đó. Theo mặc định, 9600 sẽ được truyền.

  • bufferSize

    số không bắt buộc

    Kích thước của vùng đệm dùng để nhận dữ liệu. Giá trị mặc định là 4096.

  • ctsFlowControl

    boolean không bắt buộc

    Cờ cho biết có bật tính năng kiểm soát luồng phần cứng RTS/CTS hay không. Giá trị mặc định là false.

  • dataBits

    DataBits không bắt buộc

    Theo mặc định, "eight" sẽ được truyền.

  • tên

    chuỗi không bắt buộc

    Một chuỗi do ứng dụng xác định để liên kết với kết nối.

  • parityBit

    ParityBit không bắt buộc

    Theo mặc định, "no" sẽ được truyền.

  • cố định

    boolean không bắt buộc

    Cờ cho biết có nên để kết nối hay không khi ứng dụng bị tạm ngưng (xem phần Quản lý vòng đời của ứng dụng). Giá trị mặc định là "false". Khi tải ứng dụng, bạn có thể tìm nạp mọi kết nối nối tiếp được mở trước đó bằng tùy chọnper=true bằng getConnections.

  • receiveTimeout

    số không bắt buộc

    Khoảng thời gian tối đa (tính bằng mili giây) để chờ dữ liệu mới trước khi đưa ra sự kiện onReceiveError gặp lỗi "hết giờ". Nếu 0, lỗi nhận thời gian chờ sẽ không tăng cho kết nối. Giá trị mặc định là 0

  • sendTimeout

    số không bắt buộc

    Khoảng thời gian tối đa (tính bằng mili giây) để chờ một thao tác send hoàn tất trước khi gọi lệnh gọi lại với lỗi "hết giờ". Nếu không, lỗi gửi hết thời gian chờ sẽ không được kích hoạt. Giá trị mặc định là 0

  • stopBits

    StopBits không bắt buộc

    Theo mặc định, "one" sẽ được truyền.

DataBits

Liệt kê

DeviceControlSignals

Thuộc tính

  • cts

    boolean

    CTS (Xoá để gửi).

  • dcd

    boolean

    DCD (Phát hiện nhà mạng dữ liệu) hoặc RLSD (Nhận tín hiệu đường truyền/ Phát hiện).

  • DSA

    boolean

    DSR (Tập dữ liệu đã sẵn sàng).

  • Đồng ri

    boolean

    RI (Chỉ báo đổ chuông).

DeviceInfo

Thuộc tính

  • displayName

    chuỗi không bắt buộc

    Tên hiển thị mà con người có thể đọc được của thiết bị cơ bản nếu có thể truy vấn thiết bị qua trình điều khiển máy chủ.

  • path

    string

    Đường dẫn hệ thống của thiết bị. Phương thức này phải được truyền dưới dạng đối số path cho chrome.serial.connect để kết nối với thiết bị này.

  • productId

    số không bắt buộc

    Mã sản phẩm USB nếu có thể xác định được mã sản phẩm cho thiết bị cơ bản.

  • vendorId

    số không bắt buộc

    Mã nhà cung cấp PCI hoặc USB nếu có thể được xác định cho thiết bị cơ bản.

HostControlSignals

Thuộc tính

  • dtr

    boolean không bắt buộc

    DTR (Thiết bị đầu cuối dữ liệu đã sẵn sàng).

  • rts

    boolean không bắt buộc

    RTS (Yêu cầu gửi).

ParityBit

Liệt kê

ReceiveError

Liệt kê

"đã ngắt kết nối"
Kết nối đã bị ngắt kết nối.

"timeout"
Không nhận được dữ liệu trong receiveTimeout mili giây.

"device_LL"
Thiết bị rất có thể đã bị ngắt kết nối khỏi máy chủ.

"break"
Thiết bị đã phát hiện thấy một điều kiện ngắt.

"frame_error"
Thiết bị đã phát hiện thấy lỗi lấy khung hình.

"overrun"
Đã xảy ra lỗi vượt quá vùng đệm ký tự. Ký tự tiếp theo bị mất.

"buffer_overflow"
Đã xảy ra lỗi tràn vùng đệm đầu vào. Không có khoảng trống trong vùng đệm đầu vào hoặc một ký tự đã được nhận sau ký tự cuối tệp (EOF).

"parity_error"
Thiết bị đã phát hiện lỗi tương đương.

"system_error"
Đã xảy ra lỗi hệ thống nên không thể khôi phục kết nối.

ReceiveErrorInfo

Thuộc tính

  • connectionId

    number

    Giá trị nhận dạng kết nối.

  • error

    Mã lỗi cho biết đã xảy ra sự cố.

ReceiveInfo

Thuộc tính

  • connectionId

    number

    Giá trị nhận dạng kết nối.

  • data

    ArrayBuffer

    Đã nhận được dữ liệu.

SendError

Liệt kê

"đã ngắt kết nối"
Kết nối đã bị ngắt kết nối.

"pending"
Một yêu cầu gửi đã đang chờ xử lý.

"timeout"
Đã hết thời gian gửi.

"system_error"
Đã xảy ra lỗi hệ thống nên không thể khôi phục kết nối.

SendInfo

Thuộc tính

  • bytesSent

    number

    Số byte đã gửi.

  • error

    SendError không bắt buộc

    Mã lỗi nếu xảy ra lỗi.

StopBits

Liệt kê

Phương thức

clearBreak()

Cam kết Chrome 45 trở lên
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

Khôi phục quá trình truyền ký tự trên một kết nối cụ thể và đặt đường truyền ở trạng thái không ngắt.

Tham số

  • connectionId

    number

    Mã kết nối.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

connect()

Cam kết
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)

Kết nối với một cổng nối tiếp cụ thể.

Tham số

  • path

    string

    Đường dẫn hệ thống của cổng nối tiếp sẽ mở.

  • tùy chọn

    ConnectionOptions không bắt buộc

    Tuỳ chọn cấu hình cổng.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (connectionInfo: ConnectionInfo)=>void

Giá trị trả về

  • Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

disconnect()

Cam kết
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)

Ngắt kết nối khỏi một cổng nối tiếp.

Tham số

  • connectionId

    number

    Mã của kết nối đã mở.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

flush()

Cam kết
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)

Xoá tất cả các byte trong vùng đệm đầu vào và đầu ra của kết nối đã cho.

Tham số

  • connectionId

    number

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getConnections()

Cam kết
chrome.serial.getConnections(
  callback?: function,
)

Truy xuất danh sách kết nối cổng nối tiếp hiện đang mở do ứng dụng sở hữu.

Tham số

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (connectionInfos: ConnectionInfo[])=>void

Giá trị trả về

  • Promise<ConnectionInfo[]>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getControlSignals()

Cam kết
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

Truy xuất trạng thái của tín hiệu điều khiển trên một kết nối nhất định.

Tham số

Giá trị trả về

  • Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getDevices()

Cam kết
chrome.serial.getDevices(
  callback?: function,
)

Trả về thông tin về các thiết bị nối tiếp hiện có trên hệ thống. Danh sách được tạo lại mỗi khi phương thức này được gọi.

Tham số

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (ports: DeviceInfo[])=>void

Giá trị trả về

  • Promise<DeviceInfo[]>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getInfo()

Cam kết
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

Truy xuất trạng thái của một kết nối nhất định.

Tham số

  • connectionId

    number

    Mã của kết nối đã mở.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (connectionInfo: ConnectionInfo)=>void

Giá trị trả về

  • Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

send()

Cam kết
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

Ghi dữ liệu vào kết nối đã cho.

Tham số

  • connectionId

    number

    Mã kết nối.

  • data

    ArrayBuffer

    Dữ liệu cần gửi.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (sendInfo: SendInfo)=>void

Giá trị trả về

  • Promise<SendInfo>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

setBreak()

Cam kết Chrome 45 trở lên
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

Tạm ngưng quá trình truyền ký tự trên một kết nối nhất định và đặt đường truyền ở trạng thái ngắt cho đến khi hàm clearBreak được gọi.

Tham số

  • connectionId

    number

    Mã kết nối.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

setControlSignals()

Cam kết
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)

Đặt trạng thái của tín hiệu điều khiển trên một kết nối nhất định.

Tham số

  • connectionId

    number

    Mã kết nối.

  • tín hiệu

    Tập hợp các tín hiệu thay đổi để gửi đến thiết bị.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

setPaused()

Cam kết
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)

Tạm dừng hoặc huỷ tạm dừng kết nối đang mở.

Tham số

  • connectionId

    number

    Mã của kết nối đã mở.

  • tạm dừng

    boolean

    Gắn cờ để cho biết nên tạm dừng hay huỷ tạm dừng.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

update()

Cam kết
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)

Cập nhật chế độ cài đặt tuỳ chọn khi kết nối cổng nối tiếp đang mở.

Tham số

  • connectionId

    number

    Mã của kết nối đã mở.

  • tùy chọn

    Tuỳ chọn cấu hình cổng.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (result: boolean)=>void

    • kết quả

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

Sự kiện

onReceive

chrome.serial.onReceive.addListener(
  callback: function,
)

Sự kiện sẽ xuất hiện khi dữ liệu được đọc từ kết nối.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (info: ReceiveInfo)=>void

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

Sự kiện xuất hiện khi xảy ra lỗi trong lúc thời gian chạy đang chờ dữ liệu trên cổng nối tiếp. Sau khi sự kiện này diễn ra, bạn có thể đặt mối kết nối thành paused. Lỗi "timeout" không tạm dừng được kết nối.

Tham số