ما هي لغة البرمجة الجيدة (أو مجموعة مكتبات لـ C++) للتفاعل مع المكونات الإلكترونية (المحركات السائر وما إلى ذلك)؟

StackOverflow https://stackoverflow.com/questions/700025

سؤال

أنا لست متخصصًا في الإلكترونيات، لذا قد لا أتمكن من شرح ما أحتاج إليه بدقة.هذا هو السؤال الذي يطرحه عليّ أحد الأصدقاء باستمرار.

ما يبحث عنه صديقي هو لغة برمجة تتيح له:

  1. واجهة مع الأجهزة (عبر المنافذ التسلسلية ومنافذ USB).
  2. كتابة كود متعدد الخيوط.
  3. قم بتجميع واجهات المستخدم معًا بسرعة كبيرة.
  4. قم بنقل الكود الخاص به إلى Linux وOS X بسهولة قدر الإمكان (حسنًا، هذا ما أنا يريد).

إنه يقوم ببناء أداة لمجموعة محلية تقوم بتدريس الروبوتات الأساسية لطلاب الجامعات.وهو يستخدم حاليًا لغة C++، لكن كتابة كود واجهة المستخدم بلغة C++ ليست مهمة ممتعة تمامًا.وهو يستخدم أيضًا بعض المكتبات الخاصة بنظام Windows لـ (1)، مما يعني أنه لا يمكنني تجربة الكود الخاص به ولا مساعدته في إصلاح الأخطاء (أستخدم جهاز Mac).

يحرر:نرحب بمكتبات Python/Ruby.

هل كانت مفيدة؟

المحلول

قد ترغب في إلقاء نظرة على التكميلية إلى حد ما يعالج و الأسلاك أدوات.المعالجة هي بيئة لبناء واجهات المستخدم، أما Wiring فهي بيئة لبرمجة لوحات الإدخال/الإخراج مثل لوحة Wiring التي تحمل اسمها، وهي ابن عمها الأبسط اردوينو, ، والأجهزة ذات الصلة.تتواصل لوحات الأسلاك عادةً مع كمبيوتر سطح المكتب عبر رابط تسلسلي، أو عبر USB مع محاكاة تسلسلية.

نصائح أخرى

قد تكون Java خيارًا جيدًا هنا.يحتوي على مكتبات متاحة لواجهات برمجة التطبيقات (API) للترابط والاتصال ذات المستوى المنخفض، ويجب أن يكون أداؤه جيدًا بما يكفي لحلقة التحكم.أعلم أنه يحتوي على مكتبة اتصالات المنفذ التسلسلي، وأعتقد أن هناك بعض مكتبات USB مفتوحة المصدر.بالنسبة لواجهة المستخدم، يمكنك استخدام Java 2D Graphics API، أو لواجهة مستخدم أكثر تقدمًا، يمكنك تجربة Java3D المهملة قليلاً أو مكتبات JOGL الأحدث.يحتوي Swing على عيوبه، ولكنه في الواقع سهل الاستخدام جدًا لإنشاء نماذج واجهة المستخدم الأساسية.

إذا كنت تريد الكثير من الأجهزة المدعومة بسهولة، فأعتقد أن أفضل رهان لك هو Labview.إنها كلها برمجة رسومية (كتل السحب، وإجراء الاتصالات) والعديد من أجهزة USB (DIO على سبيل المثال) تتمتع بدعم Labview.الدعم التسلسلي مدمج.يمكنه إنشاء واجهات المستخدم بسهولة (وهي مخصصة في المقام الأول للتحكم في واجهة المستخدم الرسومية).

ستعمل Ruby and Shoes (GUI) بشكل جيد، خاصة أنها مناسبة تمامًا لبيئة التعلم/المنصات المتعددة

تحرير - وجدته (من الصعب العثور عليه):

http://shoooes.net/

بارِع (http://www.cs.wustl.edu/~schmidt/ACE.html) هي مكتبة C++ مستقلة عن النظام الأساسي (بدون واجهة مستخدم)، QT (http://www.qtsoftware.com/products/) هي مكتبة واجهة مستخدم عبر الأنظمة الأساسية لـ C++.الوصول إلى الأجهزة هو للأسف أمر لا يزال يعتمد على النظام الأساسي)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top