chrome.serial

الوصف

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

الأذونات

serial

مدى التوفّر

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

الأنواع

ConnectionInfo

الخصائص

  • معدل نقل البيانات

    number اختيارية

    يمكنك الاطّلاع على ConnectionOptions.bitrate. قد يتم حذف هذا الحقل أو قد يكون غير دقيق في حال استخدام معدّل نقل بيانات غير عادي أو في حال حدوث خطأ أثناء طلب البحث عن الجهاز الأساسي.

  • bufferSize

    الرقم

    عرض ConnectionOptions.bufferSize

  • connectionId

    الرقم

    رقم تعريف اتصال المنفذ التسلسلي

  • ctsFlowControl

    قيمة منطقية اختيارية

    يمكنك الاطّلاع على 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

    قيمة منطقية اختيارية

    علامة تشير إلى ما إذا كان سيتم تفعيل التحكّم في تدفق الأجهزة من خلال RTS/CTS أم لا. الخيار التلقائي هو "خطأ".

  • dataBits

    DataBits اختياري

    سيتم تمرير "eight" تلقائيًا.

  • الاسم

    string اختياري

    سلسلة يحدّدها التطبيق لربطها بالاتصال.

  • parityBit

    ParityBit اختياري

    سيتم تمرير "no" تلقائيًا.

  • ثابتة

    قيمة منطقية اختيارية

    علامة تشير إلى ما إذا كان يجب ترك الاتصال مفتوحًا عند تعليق التطبيق (راجِع إدارة مراحل نشاط التطبيق). القيمة التلقائية هي "false". عند تحميل التطبيق، يمكن جلب أي اتصالات تسلسلية تم فتحها سابقًا باستخدام persistent=true من خلال getConnections.

  • receiveTimeout

    number اختيارية

    الحد الأقصى للوقت (بالمللي ثانية) الذي يجب انتظاره للحصول على بيانات جديدة قبل إرسال حدث onReceiveError مع ظهور خطأ "انتهت المهلة". إذا كانت القيمة صفرًا، لن تظهر أخطاء انتهاء مهلة الاستلام للاتصال. القيمة التلقائية هي 0.

  • sendTimeout

    number اختيارية

    الحد الأقصى للوقت (بالمللي ثانية) الذي يجب انتظاره حتى تكتمل عملية send قبل استدعاء دالة الاستدعاء مع ظهور خطأ "timeout". إذا كانت القيمة صفرًا، لن يتم عرض أخطاء مهلة الإرسال. القيمة التلقائية هي 0.

  • stopBits

    StopBits اختياري

    سيتم تمرير "one" تلقائيًا.

DataBits

Enum

"seven"

"eight"

DeviceControlSignals

الخصائص

  • cts

    قيمة منطقية

    CTS (جاهز للإرسال)

  • dcd

    قيمة منطقية

    ‫DCD (رصد ناقل البيانات) أو RLSD (رصد/إشارة خط الاستقبال)

  • dsr

    قيمة منطقية

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

  • ri

    قيمة منطقية

    ‫RI (مؤشر الرنين):

DeviceInfo

الخصائص

  • displayName

    string اختياري

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

  • المسار

    سلسلة

    مسار نظام الجهاز يجب تمرير هذه القيمة كوسيطة path إلى chrome.serial.connect للاتصال بهذا الجهاز.

  • productId

    number اختيارية

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

  • vendorId

    number اختيارية

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

HostControlSignals

الخصائص

  • dtr

    قيمة منطقية اختيارية

    DTR (محطة البيانات جاهزة)

  • rts

    قيمة منطقية اختيارية

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

ParityBit

Enum

"no"

"odd"

"even"

ReceiveError

Enum

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

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

‫"device_lost"
من المرجّح أنّه تم فصل الجهاز عن المضيف.

"break"
رصد الجهاز حالة انقطاع.

"frame_error"
اكتشف الجهاز خطأ في الإطارات.

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

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

"parity_error"
رصد الجهاز خطأ في التماثل.

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

ReceiveErrorInfo

الخصائص

  • connectionId

    الرقم

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

  • خطأ

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

ReceiveInfo

الخصائص

  • connectionId

    الرقم

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

  • البيانات

    ArrayBuffer

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

SendError

Enum

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

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

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

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

SendInfo

الخصائص

  • bytesSent

    الرقم

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

  • خطأ

    SendError اختياري

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

StopBits

Enum

"one"

"two"

الطُرق

clearBreak()

Promise الإصدار 45 من Chrome والإصدارات الأحدث
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

استعادة إرسال الأحرف على اتصال معيّن ووضع خط الإرسال في حالة عدم انقطاع.

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال

  • callback

    function اختياري

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

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

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

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

يتصل بمنفذ تسلسلي معيّن.

المعلمات

  • المسار

    سلسلة

    مسار النظام للمنفذ التسلسلي المطلوب فتحه

  • الخيارات

    ConnectionOptions اختياري

    خيارات ضبط المنفذ

  • callback

    function اختياري

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

    (connectionInfo: ConnectionInfo) => void

المرتجعات

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

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

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

يقطع الاتصال بمنفذ تسلسلي.

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال المفتوح

  • callback

    function اختياري

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

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

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

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

يؤدي هذا الإجراء إلى محو كل وحدات البايت في مخازن الإدخال والإخراج المؤقتة للاتصال المحدّد.

المعلمات

  • connectionId

    الرقم

  • callback

    function اختياري

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

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

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

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

تستردّ هذه الطريقة قائمة باتصالات المنافذ التسلسلية المفتوحة حاليًا والتي يملكها التطبيق.

المعلمات

  • callback

    function اختياري

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

    (connectionInfos: ConnectionInfo[]) => void

المرتجعات

  • Promise<ConnectionInfo[]>

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

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

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

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

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال

  • callback

    function اختياري

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

    (signals: DeviceControlSignals) => void

المرتجعات

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

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

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

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

المعلمات

  • callback

    function اختياري

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

    (ports: DeviceInfo[]) => void

المرتجعات

  • Promise<DeviceInfo[]>

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

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

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

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

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال المفتوح

  • callback

    function اختياري

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

    (connectionInfo: ConnectionInfo) => void

المرتجعات

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

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

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

يكتب البيانات في الاتصال المحدّد.

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال

  • البيانات

    ArrayBuffer

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

  • callback

    function اختياري

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

    (sendInfo: SendInfo) => void

المرتجعات

  • Promise<SendInfo>

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

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

setBreak()

Promise الإصدار 45 من Chrome والإصدارات الأحدث
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

يؤدي هذا الإجراء إلى تعليق إرسال الأحرف على اتصال معيّن ووضع خط الإرسال في حالة انقطاع إلى أن يتم استدعاء clearBreak.

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال

  • callback

    function اختياري

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

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

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

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

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

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال

  • الإشارات

    مجموعة تغييرات الإشارات التي سيتم إرسالها إلى الجهاز

  • callback

    function اختياري

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

    (result: boolean) => void

    • نتيجة

      قيمة منطقية

المرتجعات

  • Promise<boolean>

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

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

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

لإيقاف اتصال مفتوح مؤقتًا أو استئنافه

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال المفتوح

  • متوقفة مؤقتًا

    قيمة منطقية

    علامة تشير إلى ما إذا كان يجب إيقاف الإعلان مؤقتًا أو استئنافه

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

تعديل إعدادات الخيارات في اتصال منفذ تسلسلي مفتوح

المعلمات

  • connectionId

    الرقم

    رقم تعريف الاتصال المفتوح

  • الخيارات

    خيارات ضبط المنفذ

  • callback

    function اختياري

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

المعلمات