chrome.serial

الوصف

استخدِم واجهة برمجة التطبيقات 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()

Promise Chrome 45 والإصدارات الأحدث
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

المرتجعات

  • الإصدار 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

المرتجعات

  • Promise<ConnectionInfo[]>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getControlSignals()

الوعد
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

تستردّ هذه الطريقة حالة إشارات التحكّم في اتصال معيّن.

المعلمات

  • connectionId

    الرقم

    معرّف الاتصال.

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (signals: DeviceControlSignals) => void

المرتجعات

  • الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getDevices()

الوعد
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

تعرِض هذه السمة معلومات عن الأجهزة التسلسلية المتاحة على النظام. تتم إعادة إنشاء القائمة في كل مرة يتم فيها استدعاء هذه الطريقة.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (ports: DeviceInfo[]) => void

المرتجعات

  • Promise<DeviceInfo[]>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getInfo()

الوعد
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

تستردّ هذه الطريقة حالة اتصال معيّن.

المعلمات

  • connectionId

    الرقم

    معرّف الاتصال المفتوح.

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (connectionInfo: ConnectionInfo) => void

المرتجعات

  • الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

send()

الوعد
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

يكتب البيانات في عملية الربط المحدّدة.

المعلمات

  • connectionId

    الرقم

    معرّف الاتصال.

  • البيانات

    ArrayBuffer

    البيانات المطلوب إرسالها

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (sendInfo: SendInfo) => void

المرتجعات

  • Promise<SendInfo>

    الإصدار 117 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setBreak()

Promise Chrome 45 والإصدارات الأحدث
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" إلى إيقاف عملية الربط مؤقتًا.

المعلمات