الوصف
استخدِم واجهة برمجة التطبيقات chrome.serial للقراءة من جهاز متصل بمنفذ تسلسلي والكتابة إليه.
الأذونات
serialمدى التوفّر
الأنواع
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()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
استعادة إرسال الأحرف على اتصال معيّن ووضع خط الإرسال في حالة عدم انقطاع.
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
يتصل بمنفذ تسلسلي معيّن.
المعلمات
-
المسار
سلسلة
مسار النظام للمنفذ التسلسلي المطلوب فتحه
-
الخيارات
ConnectionOptions اختياري
خيارات ضبط المنفذ
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
المرتجعات
-
Promise<ConnectionInfo>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
يقطع الاتصال بمنفذ تسلسلي.
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال المفتوح
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
يؤدي هذا الإجراء إلى محو كل وحدات البايت في مخازن الإدخال والإخراج المؤقتة للاتصال المحدّد.
المعلمات
-
connectionId
الرقم
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
تستردّ هذه الطريقة قائمة باتصالات المنافذ التسلسلية المفتوحة حاليًا والتي يملكها التطبيق.
المعلمات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
المرتجعات
-
Promise<ConnectionInfo[]>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
تسترد هذه الدالة حالة إشارات التحكّم في اتصال معيّن.
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(signals: DeviceControlSignals) => void
-
الإشارات
-
المرتجعات
-
Promise<DeviceControlSignals>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
تعرض هذه الإشارة معلومات عن الأجهزة التسلسلية المتاحة على النظام. تتم إعادة إنشاء القائمة في كل مرة يتم فيها استدعاء هذه الطريقة.
المعلمات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(ports: DeviceInfo[]) => void
-
ports
-
المرتجعات
-
Promise<DeviceInfo[]>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
تسترد هذه الطريقة حالة اتصال معيّن.
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال المفتوح
-
callback
function اختياري
تظهر المَعلمة
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
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(sendInfo: SendInfo) => void
-
sendInfo
-
المرتجعات
-
Promise<SendInfo>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
يؤدي هذا الإجراء إلى تعليق إرسال الأحرف على اتصال معيّن ووضع خط الإرسال في حالة انقطاع إلى أن يتم استدعاء clearBreak.
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(result: boolean) => void
-
نتيجة
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
setControlSignals()
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()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
لإيقاف اتصال مفتوح مؤقتًا أو استئنافه
المعلمات
-
connectionId
الرقم
رقم تعريف الاتصال المفتوح
-
متوقفة مؤقتًا
قيمة منطقية
علامة تشير إلى ما إذا كان يجب إيقاف الإعلان مؤقتًا أو استئنافه
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
وعد<فراغ>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
update()
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" إلى إيقاف الاتصال مؤقتًا.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(info: ReceiveErrorInfo) => void
-
معلومات
-