Mô tả
Dùng API chrome.serial
để đọc và ghi vào một thiết bị 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 tốc độ bit không chuẩn đang được sử dụng hoặc nếu đã xảy ra lỗi khi truy vấn thiết bị cơ bản. -
bufferSize
số
Xem
ConnectionOptions.bufferSize
-
connectionId
số
Mã của 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 trong 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 trong 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
. Trường này có thể bị bỏ qua 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.
-
liên tục
boolean
Xem
ConnectionOptions.persistent
-
receiveTimeout
số
Xem
ConnectionOptions.receiveTimeout
-
sendTimeout
số
Xem
ConnectionOptions.sendTimeout
-
stopBits
StopBits không bắt buộc
Vui lòng xem
ConnectionOptions.stopBits
. Trường này có thể bị bỏ qua 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 được yêu cầu của kết nối cần 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 thường thấy, 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 mà bạn yêu cầu, ngay cả khi cổng đó hỗ trợ tốc độ bit đó.
9600
sẽ được truyền theo mặc định. -
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à sai.
-
dataBits
DataBits không bắt buộc
"eight"
sẽ được truyền theo mặc định. -
tên
chuỗi không bắt buộc
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
"no"
sẽ được truyền theo mặc định. -
liên tục
boolean không bắt buộc
Cờ cho biết liệu có nên giữ kết nối mở khi ứng dụng bị tạm ngưng hay không (xem phần Quản lý vòng đời ứng dụng). Giá trị mặc định là "false". Khi ứng dụng được tải, mọi kết nối nối tiếp đã mở trước đó bằng persistent=true đều có thể được tìm nạp 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 tạo sự kiện
onReceiveError
có lỗi "hết thời gian chờ". Nếu bằng 0, lỗi hết thời gian chờ sẽ không xuất hiện 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 có "thời gian chờ" . Nếu bằng 0, lỗi hết thời gian chờ gửi sẽ không được kích hoạt. Giá trị mặc định là: 0 -
stopBits
StopBits không bắt buộc
"one"
sẽ được truyền theo mặc định.
DataBits
Enum
"seven"
DeviceControlSignals
Thuộc tính
-
phần trăm
boolean
CTS (Xoá để gửi).
-
dcd
boolean
DCD (Phát hiện sóng mang dữ liệu) hoặc RLSD (Phát hiện/Nhận tín hiệu đường truyền).
-
dsr
boolean
DSR (Tập dữ liệu đã sẵn sàng).
-
ri
boolean
RI (Chỉ báo chuông).
DeviceInfo
Thuộc tính
-
Tên hiển thị
chuỗi không bắt buộc
Tên hiển thị mà con người có thể đọc được cho thiết bị cơ bản nếu có thể truy vấn một thiết bị từ trình điều khiển máy chủ lưu trữ.
-
đường dẫn
string
Đường dẫn hệ thống của thiết bị. Tham số này phải được truyền dưới dạng đối số
path
chochrome.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ận dạng nhà cung cấp PCI hoặc USB nếu có thể xác định được mã nhận dạng cho thiết bị cơ bản.
HostControlSignals
Thuộc tính
-
dtr
boolean không bắt buộc
DTR (Data Terminal Ready – 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
Enum
ReceiveError
Enum
"disconnected"
Kết nối đã bị ngắt.
"timeout"
Không nhận được dữ liệu nào trong receiveTimeout
mili giây.
"device_lost"
Có nhiều khả năng đã ngắt kết nối thiết bị khỏi máy chủ.
"break"
Thiết bị đã phát hiện thấy tình trạng hỏng.
"frame_error"
Thiết bị đã phát hiện thấy lỗi lấy khung hình.
"overrun"
Đã xảy ra tình trạng vượt quá bộ đệm ký tự. Ký tự tiếp theo sẽ bị mất.
"buffer_overflow"
Đã xảy ra lỗi tràn bộ đệm đầu vào. Không có chỗ trong vùng đệm đầu vào hoặc đã nhận được một ký tự sau ký tự kết thúc tệp (EOF).
"parity_error"
Thiết bị đã phát hiện lỗi chẵn lẻ.
"system_error"
Đã xảy ra lỗi hệ thống và có thể không khôi phục được kết nối.
ReceiveErrorInfo
Thuộc tính
-
connectionId
số
Giá trị nhận dạng kết nối.
-
error
Mã lỗi cho biết đã xảy ra lỗi.
ReceiveInfo
Thuộc tính
-
connectionId
số
Giá trị nhận dạng kết nối.
-
dữ liệu
ArrayBuffer
Dữ liệu đã nhận được.
SendError
Enum
"disconnected"
Kết nối đã bị ngắt.
"đang chờ xử lý"
Một lệnh gửi đang chờ xử lý.
"timeout"
Hết thời gian chờ gửi.
"system_error"
Đã xảy ra lỗi hệ thống và có thể không khôi phục được kết nối.
SendInfo
Thuộc tính
-
bytesSent
số
Số byte đã gửi.
-
error
SendError không bắt buộc
Mã lỗi nếu xảy ra lỗi.
StopBits
Enum
"one"
"two"
Phương thức
clearBreak()
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 nhất định và đặt đường truyền ở trạng thái không ngắt.
Thông số
-
connectionId
số
Mã của kết nối.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
Kết nối với một cổng nối tiếp nhất định.
Thông số
-
đường dẫn
string
Đường dẫn hệ thống của cổng nối tiếp cần mở.
-
tùy chọn
ConnectionOptions không bắt buộc
Các tuỳ chọn cấu hình cổng.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Giá trị trả về
-
Promise<ConnectionInfo>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Ngắt kết nối khỏi cổng nối tiếp.
Thông số
-
connectionId
số
Mã của kết nối đã mở.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
flush()
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.
Thông số
-
connectionId
số
-
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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Truy xuất danh sách các kết nối cổng nối tiếp hiện đang mở mà ứng dụng sở hữu.
Thông số
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Giá trị trả về
-
Promise<ConnectionInfo[]>
Chrome 117 trở lênLờ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()
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.
Thông số
-
connectionId
số
Mã của kết nối.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(signals: DeviceControlSignals) => void
-
tín hiệu
-
Giá trị trả về
-
Cam kết<DeviceControlSignals>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getDevices()
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 sẽ được tạo lại mỗi khi phương thức này được gọi.
Thông số
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(ports: DeviceInfo[]) => void
-
ports
-
Giá trị trả về
-
Promise<DeviceInfo[]>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getInfo()
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.
Thông số
-
connectionId
số
Mã của kết nối đã mở.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Giá trị trả về
-
Promise<ConnectionInfo>
Chrome 117 trở lênLờ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()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Ghi dữ liệu vào kết nối đã cho.
Thông số
-
connectionId
số
Mã của kết nối.
-
dữ liệu
ArrayBuffer
Dữ liệu cần gửi.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(sendInfo: SendInfo) => void
-
sendInfo
-
Giá trị trả về
-
Promise<SendInfo>
Chrome 117 trở lênLờ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()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
Tạm ngưng truyền ký tự trên một kết nối nhất định và đặt dòng truyền vào trạng thái ngắt cho đến khi clearBreak được gọi.
Thông số
-
connectionId
số
Mã của kết nối.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLờ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()
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.
Thông số
-
connectionId
số
Mã của kết nối.
-
tín hiệu
Tập hợp các thay đổi về tín hiệu để gửi đến thiết bị.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLờ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()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Tạm dừng hoặc huỷ tạm dừng một kết nối đang mở.
Thông số
-
connectionId
số
Mã của kết nối đã mở.
-
tạm dừng
boolean
Cờ cho biết liệu bạn nên tạm dừng hay tiếp tục.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
có dạng như sau:() => void
Giá trị trả về
-
Lời hứa<vô hiệu>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Cập nhật các chế độ cài đặt tuỳ chọn khi kết nối cổng nối tiếp đang mở.
Thông số
-
connectionId
số
Mã của kết nối đã mở.
-
tùy chọn
Các lựa chọn cấu hình cổng.
-
lệnh 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ênLời hứa chỉ được hỗ trợ cho Tệp kê khai 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 được kích hoạt khi dữ liệu đã được đọc từ kết nối.
Thông số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Sự kiện đã xảy ra khi xảy ra lỗi trong lúc môi trường 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 được kích hoạt, bạn có thể đặt kết nối thành paused
. Lỗi "timeout"
không tạm dừng kết nối.
Thông số
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-