SerialTool مع Python®.


فهرس المحتويات


ما هو Python؟

Python® هي لغة برمجة مفسرة وموجهة للكائنات وعالية المستوى ذات ديناميكية عالية. تجعل بنيات البيانات المدمجة عالية المستوى، جنبًا إلى جنب مع الكتابة الديناميكية والربط الديناميكي، Python جذابة للغاية لتطوير التطبيقات السريعة، وكذلك لاستخدامها كلغة سيناريو أو لصق لربط المكونات الموجودة معًا.
تؤكد بنية Python البسيطة والسهلة التعلم على القراءة وبالتالي تقلل من تكلفة صيانة البرنامج. تدعم Python الوحدات النمطية والحزم، مما يشجع على تقسيم البرامج إلى وحدات وإعادة استخدام الكود. يتوفر مترجم Python ومكتبة القياسية الواسعة بشكل مصدر أو نموذج ثنائي بدون رسوم لجميع المنصات الرئيسية، ويمكن توزيعها بحرية.
للحصول على معلومات مفصلة أكثر حول Python®، يرجى الرجوع إلى موقعهم الإلكتروني: www.python.org

ملاحظة قانونية: "Python" هي علامة تجارية مسجلة لـ PSF. SerialTool ليس تابعًا لـ PSF أو برعايته. يستخدم SerialTool Python كلغة برمجة متوافقة لتشغيل البرامج النصية ويتطلب إصدارًا رسميًا من Python مثبتًا على جهاز الكمبيوتر الخاص بك.

SerialTool و Python

محرر كود Python لـ SerialTool.


هل سبق لك أن أردت استخدام منفذ السلسلة وأن يكون لديك واجهة رسومية رائعة متاحة يمكنها عرض البيانات من وإلى منفذ السلسلة؟
إذا كنت بحاجة إلى هذا وترغب في إنشاء برنامجك الخاص للتحكم بسهولة في منفذ السلسلة دون الحاجة إلى تثبيت مكتبات بلغة بسيطة متاحة للجميع، فإن SerialTool مع Python هو الأداة التي كنت تبحث عنها.
بعض البرامج التي تستخدم منفذ السلسلة تقدم بعض حلول البرمجة النصية، بمعنى أنك يمكن أن تكتب كودك وتنفذه، ولكن في كثير من الأحيان لا تعرف اللغة أو يتعين عليك قضاء ساعات لمعرفة كيفية دمج بضعة أسطر من كودك! باستخدام SerialTool و Python المدمج، يمكنك كتابة برنامجك النصي بلغة Python والاستفادة من جميع ميزات SerialTool بدون أي قيود.
يدمج SerialTool الوظائف الأساسية على شكل مكتبة (مستوردة ومدمجة بالفعل)، وببضعة أسطر، يمكنك البحث عن منفذ السلسلة المطلوب، فتحه، قراءة وكتابة. سيتولى SerialTool إدارة كل الرسومات الواردة والصادرة ويسمح لك باستخدام كود Python الخاص بك لأداء الوظائف التي ترغب فيها بدون أي قيود.
لتسهيل الكتابة والاختبار في Python، يوفر SerialTool محرر نصوص حيث يمكنك تحميل وتعديل برامجك النصية. يتعر ف المحرر المدمج تركيب لغة Python ويسمح بكتابة الكود بسهولة.

مزيد من التفاصيل حول منفذ السلسلة وPython

لنتعمق أكثر في الميزات التي يقدمها SerialTool ومكتبته المدمجة مع Python، دعونا نبدأ بمثال عملي.
تنوي نقل برنامج إلى عميل أو زميل يتيح تحميل البرنامج الثابت على جهاز تم إنشاؤه بواسطتنا ويمكن تحديثه عبر منفذ السلسلة. سيناريو شائع إلى حد ما حيث يجب إنشاء برنامج من الصفر، ربما متعدد المنصات، ودمج مجموعة من الجوانب بدءًا من الواجهة الرسومية والتفاعل مع المستخدم، اختيار الملفات، ورسائل الخطأ أو التأكيد.
في هذه الحالة، على عكس اللغات الأخرى، تجعل Python العمل سهلاً ولكن في الوقت نفسه تتطلب تثبيت مكتبات خارجية ومتابعة التحديثات.
يحل SerialTool المشكلة من جذورها بتقديم بعض الوظائف البسيطة التي تسمح بتحديد منفذ السلسلة بسرعة وبديهية، صناديق حوار لتحميل وحفظ الملفات، وصناديق رسائل لإعلام المستخدم بتنفيذ البرنامج.
هذه وظائف بسيطة جدًا يتم استدعاؤها بسرعة، أصلية على المنصات التي يمكن تثبيت SerialTool عليها (Windows، MacOS، وLinux). هذا يزيل تمامًا الاعتماد على المكتبات الخارجية، والوظائف الأساسية للتفاعل مع المستخدم تصبح بسيطة، سريعة وبديهية في بضعة أسطر من الكود.

عائدين إلى مثالنا الأساسي، نبدأ بإغلاق جميع المنافذ النشطة وبالبحث عن المنافذ السلسلية المتاحة باستخدام وظيفة SerialTool.scan واختيار المستخدم لمنفذ السلسلة لاستخدامه مع وظيفة SerialTool.gui_selectport.
في هذه المرحلة، نعرف المنفذ الذي يريد المستخدم استخدامه، كل ما علينا فعله هو فتحه باستخدام وظيفة SerialTool.open مع إعدادات الوسيط أو مع الوسيطات الموجودة بالفعل في الواجهة الرسومية. بمجرد فتح منفذ السلسلة، يمكننا طلب تحميل الملف باستخدام وظيفة SerialTool.gui_loadfile، فتح الملف باستخدام الوظائف الأصلية في Python، وطلب تأكيد لتنفيذ تحميل البرنامج الثابت مع وظيفة SerialTool.gui_showmessage.
لقد وصلنا إلى اللحظة التي نكتب فيها البوفر الموجود في ملفنا مع SerialTool.write مشيرين إلى عدد البايتات المراد كتابتها وننتظر الرد (إذا كان متوقعًا) من الجهاز المراد تحديثه بأمر SerialTool.read حتى نهاية تحديثنا.
أوامر قليلة وبسيطة تسمح في بضع دقائق بكتابة برنامجك الخاص لتحديث جهازك أو جهاز تابع لطرف ثالث.
هل يبدو الأمر معقدًا؟ يقدم SerialTool أمثلة مدمجة موضحة جيدًا.

أمثلة مدمجة لمنفذ السلسلة في Python

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

تثبيت Python

تبدأ العديد من الدروس بتثبيت Python على جهاز الكمبيوتر الخاص بك إذا لم يكن متوفرًا بالفعل، والتكوين للوصول إلى الحد الأدنى من القابلية للاستخدام. لقد تركنا هذا الجزء للنهاية لأن SerialTool من خلال قائمة بيئة Python سيبحث ويختبر التكوين الحالي لك بمجرد تثبيت Python على جهاز الكمبيوتر الخاص بك.
كما ذكر، Python لغة حرة ومفسرة وتتطلب تثبيت المفسر على جهاز الكمبيوتر الخاص بك. بالنسبة لأولئك الذين يعرفون هذه اللغة، لا توجد العديد من التفسيرات التي يجب تقديمها، ومع ذلك بالنسبة لأولئك الذين قد يجربون هذه اللغة المذهلة وبيئتها التطويرية لأول مرة، فإن الخطوات التي يجب اتخاذها بسيطة جدًا.
بالنسبة لـWindows، ما عليك سوى تحميل أحدث نسخة من Python (3.12 في وقت كتابة هذا الوثيقة) وتشغيل الملف التنفيذي حتى اكتمال التثبيت.
بالنسبة لـMacOS، يجب أن يكون Python مثبتًا بالفعل ربما يشير إلى الإصدار 2 من Python ومن الضروري تحديثه إلى أحدث إصدار (3.12 في وقت كتابة هذا الوثيقة) من خلال تنزيل الملف التنفيذي مباشرة من الموقع الرسمي لـ Python والمضي قدمًا في التثبيت (كما في Windows).

ملاحظة لمستخدمي MacOS: في النسخة الحالية من SerialTool لنظام التشغيل MacOS ، تم دمج إطار العمل Python 3.12 بالفعل للامتثال لمتطلبات Apple المتعلقة بتوقيع الكود. إذا كنت ترغب في استخدام إصدار مختلف مثبت على نظامك ، يمكنك تغيير الإعدادات من القائمة "Python Environment".

بالنسبة لـLinux، سيكون من الضروري تثبيته عبر سطر الأوامر Ubuntu sudo apt-get install python3 أو Fedora sudo dnf install python3
إذا كان لديك أي شكوك أو صعوبات في تثبيت Python، يمكنك دائمًا الرجوع إلى الموقع الرسمي أو العديد من الدروس المتاحة عبر الإنترنت.
بمجرد التثبيت والتحقق من التثبيت من قائمة "بيئة Python"، يكفي الضغط على زر "تحقق من التثبيت" لاستيراد إعداد Python الحالي وحفظه لبدء تشغيل SerialTool اللاحق.

أنت جاهز! قم بتحميل الأمثلة الأولى واضغط على زر [RUN] لبدء مغامرتك مع SerialTool و Python بكتابة برنامجك الأول لمنفذ السلسلة.

بعض المعلومات الإضافية

لتسهيل كتابة البرامج النصية، يحتوي المحرر المدمج على الميزات النموذجية لـ IDE ولكنه لا يسمح بالتصحيح لحظيًا.
من بين الخيارات المتاحة، من المستحسن دائمًا تحديد الخيار "إغلاق منافذ السلسلة تلقائيًا عند انتهاء تنفيذ البرنامج النصي." إذا واجه برنامجك النصي أخطاء في الكتابة، يوفر SerialTool لإغلاق أي منافذ سلسلة مفتوحة لتجنب الحاجة إلى إغلاقها في بدايات تشغيل البرنامج النصي اللاحقة.
لإيقاف البرنامج النصي والخروج، لا يُنصح باستخدام وظيفة sys.exit() لأنها ستؤدي إلى إغلاق SerialTool بالكامل كون Python مدمجًا. إذا لزم الأمر لإيقاف تنفيذ البرنامج النصي عبر الكود المصدري، توفر وظيفة SerialTool.stopscript.
إذا وجدت نفسك داخل حلقة، من الممكن إيقاف التنفيذ عبر زر [STOP] مباشرة من الواجهة الرسومية.
بما أن Python مدمج مباشرة في SerialTool، من المهم تذكر أن برنامجك النصي يصبح جزءًا من عمليات SerialTool. في هذا الصدد، عندما تتضمن حلقات While True في دورتك، من الضروري مزجها مع فترة توقف قصيرة (عادةً 0.1 ثانية) باستخدام وظيفة time.sleep(0.1) (من مكتبة الوقت) للسماح بتنفيذ العمليات الرئيسية لواجهة الاستخدام الرسومية؛ وإلا، فإنك تخاطر بتجميد الواجهة بالكامل.
لا تقلق بشكل مفرط، حيث تبرز أمثلتنا النقاط الحرجة التي يجب إدراج فترات التوقف القصيرة فيها.

الأسئلة المتكررة

هل يقتصر دمج Python على بعض الوظائف؟
لا. جميع وظائف البرامج النصية Python متاحة مباشرة بما في ذلك تحميل المكتبات الخارجية (إذا كانت موجودة في النظام).

هل يعمل SerialTool وPython على جميع أنظمة التشغيل؟
نعم. على جميع المنصات التي يتوفر فيها SerialTool وPython، يمكن استخدامه، أي في Windows، MacOS، وLinux.

هل يجب علي بالضرورة تحميل وتثبيت Python؟
نعم. يجب أن يكون مفسر Python موجودًا على الكمبيوتر الذي يُقصد استخدامه فيه. يعتمد SerialTool على Python3 والتوافق العكسي مع Python2 يعتمد مباشرةً على التوافق بين الإصدارين. يُوصى لمستخدمي Python2 باستخدام Python3 في كل الحالات.

كيف يتفاعل Python مع SerialTool؟
يتفاعل البرنامج النصي Python من خلال مكتبة SerialTool المدمجة مباشرةً في برنامجنا من خلال استدعاء الوظائف المطلوبة. يرتبط الوسيطات المضبوطة عبر Python بما في ذلك فتح وإغلاق منفذ السلسلة بشكل مباشر بواجهة المستخدم الرئيسية. في الأساس، أنت تقود SerialTool مباشرةً من Python من خلال مكتبة SerialTool ووظائفها.

هل يمكنني مواصلة استخدام وظائف SerialTool؟
نعم. تظل جميع وظائف SerialTool متاحة، الإجابة الآلية, الإنذار, المذبذب التسلسلي, عرض الحزم، تسجيل البيانات, إرسال الحزم إلى الشبكة، إلخ. وتظل متاحة وقابلة للتحديد من واجهة المستخدم.

هل من الممكن استخدام عدة منافذ في وقت واحد؟
نعم. تعتبر السمة الأساسية لـ SerialTool هي إدارة عدة منافذ سلسلة في وقت واحد. من Python، من الممكن تعيين الرقم التسلسلي ليتم استخدامه لمنفذ السلسلة الذي تنوي استخدامه من خلال وظيفة SerialTool.assignPort.

هل يجب علي دائمًا استخدام الواجهة الرسومية لفتح وضبط المنافذ قبل الاستخدام؟
لا. كما تمت الإشارة إليه، فإن إدارة المنافذ السلسلة متاحة مباشرةً من Python.

هل يمكنني ضبط معلمات RTS و DTR أيضًا؟
نعم. تسمح المكتبة بضبط مباشر لتحديدات دبابيس RTS وDTR عند فتح منفذ السلسلة وأثناء تنفيذ البرنامج النصي.

هل يمكنني طلب تطوير وظائف أخرى في مكتبة SerialTool؟
نعم. سيتم أخذ أي تطوير إضافي لوظائف إضافية لمكتبة SerialTool على Python بعين الاعتبار وتنفيذها، حيثما كان ذلك ممكنًا وبناءً على ديناميكيات تطوير SerialTool.

أي نوع من الدعم يمكنني الحصول عليه؟
فريقنا متاح لمساعدتك في دمج برامجك النصية لتسهيل كتابة برامجك النصية أو تحديد أي أخطاء. الدعم غير مشمول في كتابة البرامج النصية Python الفعلية أو عند الطلب. الدعم متعلق بدمج Python مع SerialTool.