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