الوصف
استخدِم واجهة برمجة التطبيقات chrome.serial
للقراءة من جهاز متصل بمنفذ تسلسلي والكتابة إليه.
الأذونات
serial
الأنواع
ConnectionInfo
الخصائص
-
معدل نقل البيانات
number اختياري
يمكنك الاطّلاع على
ConnectionOptions.bitrate
. قد يتم حذف هذا الحقل أو قد يكون غير دقيق إذا تم استخدام معدّل نقل بيانات غير عادي، أو إذا حدث خطأ أثناء طلب البيانات من الجهاز الأساسي. -
bufferSize
الرقم
عرض
ConnectionOptions.bufferSize
-
connectionId
الرقم
معرّف اتصال المنفذ التسلسلي.
-
ctsFlowControl
boolean اختياري
يمكنك الاطّلاع على
ConnectionOptions.ctsFlowControl
. يمكن حذف هذا الحقل إذا حدث خطأ أثناء طلب البيانات من الجهاز الأساسي. -
dataBits
DataBits اختيارية
يمكنك الاطّلاع على
ConnectionOptions.dataBits
. يمكن حذف هذا الحقل إذا حدث خطأ أثناء طلب البيانات من الجهاز الأساسي. -
الاسم
سلسلة
عرض
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
boolean اختياري
علامة تشير إلى ما إذا كان سيتم تفعيل ميزة التحكّم في تدفق الأجهزة RTS/CTS أم لا. القيمة التلقائية هي "خطأ".
-
dataBits
DataBits اختيارية
سيتم تمرير
"eight"
تلقائيًا. -
الاسم
سلسلة اختيارية
سلسلة يحدّدها التطبيق لربطها بالاتصال.
-
parityBit
ParityBit اختياري
سيتم تمرير
"no"
تلقائيًا. -
مستمر
boolean اختياري
علامة تشير إلى ما إذا كان يجب إبقاء الاتصال مفتوحًا عند تعليق التطبيق (راجِع إدارة دورة حياة التطبيق). القيمة التلقائية هي "false". عند تحميل التطبيق، يمكن استرداد أي اتصالات تسلسلية تم فتحها سابقًا باستخدام persistent=true باستخدام
getConnections
. -
receiveTimeout
number اختياري
الحدّ الأقصى للمدة الزمنية (بالملّي ثانية) التي يجب انتظارها للحصول على بيانات جديدة قبل إطلاق الحدث
onReceiveError
مع ظهور الخطأ "انتهت المهلة". إذا كانت القيمة صفرًا، لن يتم عرض أخطاء انتهاء المهلة عند تلقّي البيانات للاتصال. القيمة التلقائية هي 0. -
sendTimeout
number اختياري
الحد الأقصى للمدة الزمنية (بالمللي ثانية) التي يجب انتظارها لاكتمال عملية
send
قبل استدعاء دالة الرجوع مع ظهور الخطأ "انتهت المهلة". إذا كانت القيمة صفرًا، لن يتم تشغيل أخطاء انتهاء المهلة. القيمة التلقائية هي 0. -
stopBits
StopBits اختياري
سيتم تمرير
"one"
تلقائيًا.
DataBits
Enum
"seven"
"eight"
DeviceControlSignals
الخصائص
-
cts
قيمة منطقية
CTS (Clear To Send)
-
dcd
قيمة منطقية
DCD (رصد حامل البيانات) أو RLSD (رصد/ استقبال إشارة الخط).
-
dsr
قيمة منطقية
DSR (مجموعة البيانات جاهزة)
-
ri
قيمة منطقية
RI (مؤشر الرنين)
DeviceInfo
الخصائص
-
displayName
سلسلة اختيارية
اسم معروض للجهاز الأساسي يمكن لشخص عادي قراءته، وذلك إذا كان من الممكن طلب البحث عنه من برنامج التشغيل المضيف.
-
المسار
سلسلة
مسار نظام الجهاز يجب تمرير هذا المعرّف كمعلَمة
path
إلىchrome.serial.connect
من أجل الاتصال بهذا الجهاز. -
productId
number اختياري
معرّف منتج USB إذا كان من الممكن تحديده للجهاز الأساسي
-
vendorId
number اختياري
رقم تعريف مورّد PCI أو USB إذا كان من الممكن تحديده للجهاز الأساسي
HostControlSignals
الخصائص
-
dtr
boolean اختياري
DTR (جاهزية محطة البيانات)
-
rts
boolean اختياري
RTS (طلب الإرسال)
ParityBit
Enum
"no"
"odd"
"even"
ReceiveError
Enum
"تم قطع الاتصال"
تم قطع الاتصال.
"مهلة"
لم يتم تلقّي أي بيانات لمدة receiveTimeout
مللي ثانية.
"device_lost"
من المحتمل أن يكون الجهاز قد تم فصله عن الجهاز المضيف.
"break"
رصد الجهاز لشرط توقّف.
"frame_error"
رصد الجهاز خطأ في الإطار.
"تجاوز الحد"
حدث تجاوز للحد الأقصى لمخزن الأحرف المؤقت. سيتم فقدان الحرف التالي.
"buffer_overflow"
حدث فائض سعة المخزن المؤقت للإدخال. إما أنّه لا توجد مساحة في مخزن الإدخال المؤقت، أو تم تلقّي حرف بعد حرف نهاية الملف (EOF).
"parity_error"
رصد الجهاز خطأ في التكافؤ.
"system_error"
حدث خطأ في النظام وقد يتعذّر استعادة الاتصال.
ReceiveErrorInfo
الخصائص
-
connectionId
الرقم
معرّف الاتصال
-
خطأ
رمز خطأ يشير إلى المشكلة التي حدثت.
ReceiveInfo
الخصائص
-
connectionId
الرقم
معرّف الاتصال
-
البيانات
ArrayBuffer
البيانات التي تم تلقّيها
SendError
Enum
"تم قطع الاتصال"
تم قطع الاتصال.
"في انتظار المراجعة"
هناك عملية إرسال في انتظار المراجعة.
"انتهاء المهلة"
انتهت مهلة الإرسال.
"system_error"
حدث خطأ في النظام وقد يتعذّر استعادة الاتصال.
SendInfo
الخصائص
-
bytesSent
الرقم
عدد وحدات البايت المُرسَلة.
-
خطأ
SendError اختياري
رمز الخطأ في حال حدوث خطأ
StopBits
Enum
"one"
"two"
الطُرق
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
لاستعادة نقل الأحرف على اتصال معيّن ووضع خط النقل في حالة غير متوقفة
المعلمات
-
connectionId
الرقم
معرّف الاتصال.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
يربط بمنفذ تسلسلي محدّد.
المعلمات
-
المسار
سلسلة
مسار النظام للمنفذ التسلسلي الذي سيتم فتحه
-
الخيارات
ConnectionOptions اختياري
خيارات ضبط المنفذ
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
المرتجعات
-
Promise<ConnectionInfo>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
يتم قطع الاتصال بمنفذ تسلسلي.
المعلمات
-
connectionId
الرقم
معرّف الاتصال المفتوح.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
يمحو هذا الإجراء جميع وحدات البايت في مخازن الإدخال والإخراج الخاصة بالاتصال المحدّد.
المعلمات
-
connectionId
الرقم
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
يستردّ قائمة اتصالات المنفذ التسلسلي المفتوحة حاليًا والتي يملكها التطبيق.
المعلمات
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
المرتجعات
-
Promise<ConnectionInfo[]>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
تستردّ هذه الطريقة حالة إشارات التحكّم في اتصال معيّن.
المعلمات
-
connectionId
الرقم
معرّف الاتصال.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(signals: DeviceControlSignals) => void
-
الإشارات
-
المرتجعات
-
Promise<DeviceControlSignals>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
تعرِض هذه السمة معلومات عن الأجهزة التسلسلية المتاحة على النظام. تتم إعادة إنشاء القائمة في كل مرة يتم فيها استدعاء هذه الطريقة.
المعلمات
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(ports: DeviceInfo[]) => void
-
ports
-
المرتجعات
-
Promise<DeviceInfo[]>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
تستردّ هذه الطريقة حالة اتصال معيّن.
المعلمات
-
connectionId
الرقم
معرّف الاتصال المفتوح.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
المرتجعات
-
Promise<ConnectionInfo>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
يكتب البيانات في عملية الربط المحدّدة.
المعلمات
-
connectionId
الرقم
معرّف الاتصال.
-
البيانات
ArrayBuffer
البيانات المطلوب إرسالها
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(sendInfo: SendInfo) => void
-
sendInfo
-
المرتجعات
-
Promise<SendInfo>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
تعليق نقل الأحرف على اتصال معيّن ووضع خط النقل في حالة توقّف مؤقت إلى أن يتم استدعاء clearBreak.
المعلمات
-
connectionId
الرقم
معرّف الاتصال.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
تضبط هذه السمة حالة إشارات التحكّم على اتصال معيّن.
المعلمات
-
connectionId
الرقم
معرّف الاتصال.
-
الإشارات
مجموعة تغييرات الإشارات التي سيتم إرسالها إلى الجهاز.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
توقِف اتصالاً مفتوحًا مؤقتًا أو تستأنفه.
المعلمات
-
connectionId
الرقم
معرّف الاتصال المفتوح.
-
متوقفة مؤقتًا
قيمة منطقية
علامة تشير إلى ما إذا كان سيتم الإيقاف المؤقت أو إلغاء الإيقاف المؤقت.
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
عدِّل إعدادات الخيار في اتصال منفذ تسلسلي مفتوح.
المعلمات
-
connectionId
الرقم
معرّف الاتصال المفتوح.
-
الخيارات
خيارات ضبط المنفذ
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار 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
-
معلومات
-