chrome.serial

الوصف

استخدِم واجهة برمجة التطبيقات chrome.serial للقراءة من جهاز متصل بمنفذ تسلسلي والكتابة إليه.

الأذونات

serial

مدى التوفّر

نظام التشغيل ChromeOS فقط

الأنواع

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

تعداد

"seven"

"eight"

DeviceControlSignals

الخصائص

  • cts

    قيمة منطقية

    CTS (Clear To Send)

  • dcd

    قيمة منطقية

    DCD (رصد مشغّل البيانات) أو RLSD (رصد إشارة خط الاستقبال).

  • dsr

    قيمة منطقية

    DSR (مجموعة البيانات جاهزة)

  • ri

    قيمة منطقية

    RI (Ring Indicator).

DeviceInfo

الخصائص

  • displayName

    سلسلة اختيارية

    اسم معروض للجهاز الأساسي يمكن لشخص عادي قراءته، وذلك إذا كان من الممكن طلب البحث عنه من برنامج التشغيل المضيف.

  • المسار

    سلسلة

    مسار نظام الجهاز يجب تمرير هذا الرمز المميّز كمعلَمة path إلى chrome.serial.connect من أجل الاتصال بهذا الجهاز.

  • productId

    number اختياري

    معرّف منتج USB إذا كان من الممكن تحديده للجهاز الأساسي

  • vendorId

    number اختياري

    رقم تعريف مورّد PCI أو USB إذا كان من الممكن تحديده للجهاز الأساسي

HostControlSignals

الخصائص

  • dtr

    boolean اختياري

    DTR (Data Terminal Ready).

  • rts

    boolean اختياري

    RTS (طلب الإرسال)

ParityBit

تعداد

"no"

"odd"

"even"

ReceiveError

تعداد

"تم قطع الاتصال"
تم قطع الاتصال.

"انتهت المهلة"
لم يتم تلقّي أي بيانات لمدة receiveTimeout ملي ثانية.

"device_lost"
من المحتمل أن يكون الجهاز قد تم فصله عن المضيف.

"break"
رصد الجهاز لشرط توقّف.

‫"frame_error"
رصد الجهاز خطأ في الإطار.

"تجاوز السعة"
حدث تجاوز لسعة مخزن مؤقت للأحرف. سيتم فقدان الحرف التالي.

‫"buffer_overflow"
حدث فائض سعة المخزن المؤقت للإدخال. إما أنّه لا توجد مساحة في مخزن الإدخال المؤقت، أو تم تلقّي حرف بعد حرف نهاية الملف (EOF).

‫"parity_error"
رصد الجهاز خطأ في التكافؤ.

‫"system_error"
حدث خطأ في النظام وقد يتعذّر استعادة الاتصال.

ReceiveErrorInfo

الخصائص

  • connectionId

    الرقم

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

  • خطأ

    رمز خطأ يشير إلى المشكلة التي حدثت.

ReceiveInfo

الخصائص

  • connectionId

    الرقم

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

  • البيانات

    ArrayBuffer

    البيانات التي تم تلقّيها

SendError

تعداد

"تم قطع الاتصال"
تم قطع الاتصال.

"في انتظار المراجعة"
كانت عملية الإرسال في انتظار المراجعة.

"timeout"
انتهت مهلة الإرسال.

‫"system_error"
حدث خطأ في النظام وقد يتعذّر استعادة الاتصال.

SendInfo

الخصائص

  • bytesSent

    الرقم

    عدد وحدات البايت المُرسَلة.

  • خطأ

    SendError اختياري

    رمز الخطأ في حال حدوث خطأ

StopBits

تعداد

"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" إلى إيقاف عملية الربط مؤقتًا.

المعلمات