ما هي اللغات/بروتوكولات الإنترنت للتحكم في الروبوتات/الإلكترونيات عن بُعد؟

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

سؤال

أتساءل ما هي اللغات المستخدمة في الروبوتات والإلكترونيات. هل هي لغات منخفضة المستوى مثل Java و C و C ++ وما إلى ذلك؟

وإذا كان من الممكن التحكم في هذه الروبوتات والإلكترونيات من مكان آخر ، فما هو البروتوكول المستخدم؟

لا يمكن أن يكون HTTP الراحة ، هل يمكن ذلك؟ قون

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

المحلول

ماذا عن LEGO Mindstorms؟ ما لم يكن لديك متطلبات محددة فيما يتعلق بالخصائص الفيزيائية للروبوت التي من شأنها استبعاد العواصف/NXT ، يمكنك القيام بالكثير معها. إنها قطعة خطيرة من المجموعة - لا تنخدع من خلال العلامة التجارية "Lego".

http://mindstorms.lego.com/en-us/default.aspx

بالإضافة إلى الشحن بلغة البرمجة الخاصة بها ، يتم دعمه أيضًا من قبل Microsoft Robotics Developer Studio - حتى تتمكن من استخدام .NET لتدوينه.

http://msdn.microsoft.com/en-us/robotics/default

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

لقد بنيت في بلوتوث ، مما يسمح بالتحكم عن بعد. يمكنك أيضًا تنزيل رمز البرنامج المترجم إليه ، بحيث يعمل بشكل مستقل ، إما من خلال USB أو Bluetooth.

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

نصائح أخرى

أصبحت ADA أيضًا خيارًا قابلاً للتطبيق للغة البرمجة حتى بالنسبة للمنصة الأصغر. يتمتع ADA بدعم جيد للغاية للعمليات ذات المستوى المنخفض ، وكذلك الأشياء عالية المستوى.

كأمثلة على المنصات الأصغر ، تتوفر ADA لـ ATMEL AVR (8 بت) مثل AVR -ADA. نرى http://sourceforge.net/apps/mediawiki/AVR-ADA/index.php؟title=main_page

بالنسبة إلى LEGO Mindstorms ، يتوفر ADA من GNAT كإصدار GPL ، والذي يدعم أيضًا ملف تعريف مهمة Ravenscar. وبالتالي يمكنك بسهولة إنشاء تطبيقات متعددة المهام على منصة Mindstorms. نرى http://libre.adacore.com/libre/tools/mindstorms/

أود أن أقول أن ذلك يعتمد على مشروعك. لقد استخدمت C/Assembler لبرمجة المعالجات الدقيقة الإلكترونية ، لكنني أعلم أنه يمكنك استخدام لغات البرمجة عالية المستوى وكذلك لبعض المشاريع ، إذا كان نظام تشغيل الروبوتات الخاص بك يسمح بذلك. مثل Java/C# وهلم جرا. هناك مجموعة متنوعة من البروتوكولات المستخدمة للاتصال بأداة ، وأعتقد أن ذلك TCP/IP أو UDP/IP هو الأكثر شيوعا. لكن بعض الناس يفضلون كتابة/برمجة بروتوكولاتهم الخاصة.

تم بناء معظم الروبوتات التي قمت ببنائها مع عواصف Mindstorms Lego. هناك بعض اللغات التي يمكنك استخدامها ، ولكن اللغة الافتراضية هي طاولة عمل مرئية. يمكنك التحكم عن بُعد في الروبوت عبر البلوتوث أو الأشعة تحت الحمراء (ويتضمن LEGO جهاز إرسال IR متصل بـ USB)

C/C ++ ، Java و Python.

أود أن أقول إن C/C ++ تستخدم على نطاق أوسع من لغات مثل Java و Python لبرمجة الروبوتات ، وذلك ببساطة لأن هناك الكثير من الأشياء الموجودة بالفعل. و C هي أيضًا لغة شائعة الاستخدام للتطبيقات المضمنة. يستخدم الكثير من الأشخاص الذين أعرفهم في الصناعة C كوسيلة للسيطرة على الروبوتات والأجهزة مثل RS-232 و UARTS و Stepper Motors وما إلى ذلك.

عندما كنت أعمل في الأبحاث الأكاديمية ، استخدم زملائي الألمان جافا بشكل حصري تقريبًا على الروبوتات المستقلة ، مع نتائج مرضية. إذا كنت تستخدم Java ، فأنت ببساطة يجب أن تملأ الأجهزة عند استخدامها ، والتي يمكن القيام بها مع اللاعب / المرحلة أو ROS.

كل هذا يتوقف على ما تريد القيام به ، على ما أعتقد. في منطقتي الخاصة (Mitsubishi plcs) C ++ هي اللغة المفضلة. تستخدم الصناعات الأخرى C ++ لبرمجة الروبوتات ، مثل هوندا أسيمو. AMD ATI استخدم Python لبرمجة مسرعات الرسوم الخاصة بهم. إلى حد كبير ، يمكن استخدام أي لغة يمكنها التحدث إلى منفذ الاتصالات للروبوتات.

أما بالنسبة للسيطرة عليها عن بعد ، بوتس من المحتمل أن يكون مثالاً على الجنيه الاسترليني:

بغض النظر عن اللغة التي تختارها ، ستجد قريبًا أنك ستحتاج إلى التحدث من حيث الأصفار واللوائح ؛)

لقد صنعت مؤخرًا روبوتًا بسيطًا يتم التحكم فيه عن بُعد مبرمج في Java بمساعدة هذا الكتاب

http://www.google.co.uk/products/catalog؟q=build+java+Robots&hl=en&cid=346434932749925759&ei=watitisge5_g2asm_tilcq&sa=title&vedgavga oodga

أوضح لي هذا الكتاب كيفية التحدث إلى الروبوت باستخدام البلوتوث.

لقد قرأت أيضًا أن Basic هي لغة جيدة للبدء بها ، عند بناء أول روبوت.

إخلاء المسئولية: أنا لست خبيرًا.

لدي خبرة فقط مع أردوينو, ، والتي يمكن برمجتها مع التجميع أو C ( AVR-GCC أدوات). ومع ذلك ، إذا كانت البيئة المستهدفة قوية بما فيه الكفاية أو لديها ذاكرة كافية ، فلا يوجد شيء يمنع واحد من استخدام لغة مستوى أعلى - بصرف النظر عن القيود الفنية الأخرى مثل ، على سبيل المثال من الصعب في الوقت الحقيقي المتطلبات-مثل ، على سبيل المثال ، لوا أو شيء أعلى مستوى.

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

لما يستحق الأمر ، فيما يتعلق بـ HTTP - قمت ببناء مزاج RGB يمكن التحكم فيه HTTP (الذي يتلاشى بسلاسة بين الألوان!: P) باستخدام Arduino و Ethernet Shield المتاحة لها. يعمل خادم HTTP على Arduino.

يمكنك التحكم في الروبوتات والأدوات الإلكترونية بنوع مختلف من اللغات التي تكون أكثر راحة فيها. لكن ذلك يعتمد أيضًا على نوع الأدوات التي تحاول التحكم فيها ، أي إذا كنت تقوم بتطوير روبوت أو أداة من نقطة الصفر يمكنك برمجتها اللغة التي تختارها مثل C ، C ++. Python و Java وما إلى ذلك. يمكنك أيضًا استخدام اللغة المدمجة لبرمجة وحدة التحكم مع اختيارك للغة ، هناك العديد من المترجمين المختلفين المتاحة فقط لتجميع البرنامج الخاص بك. الكود المضمن الخاص بي لـ MicroControllers. إذا كنت تقوم برمجة نوع من اللوحة مثل Arduino ، فيمكنك استخدام IDE الخاص بها حيث يمكنك برمجته. للتحكم في الروبوتات والأدوات عن بُعد ، يمكنك استخدام العديد من الطرق المختلفة IE.:

  1. الإنترنت: يمكنك استخدام الإنترنت للسيطرة عليها من خلال دمجها مع وحدات مثل ESP8266 و NodeMCU ووحدات GSM وما إلى ذلك واستخدام تطبيق ويب مخصص ، تطبيق الهاتف المحمول للسيطرة عليها. يأتي هذا تحت إنترنت الأشياء (IoT).

2.Bluetooth: يمكنك حتى استخدام Bluetooth للتحكم في الأجهزة عن طريق دمج وحدة Bluetooth مع جهازك ولكن نطاق Bluetooth منخفض.

  1. التردد الراديوي RF: يمكنك أيضًا استخدام وحدات الترددات الترددات للترددات الراديوية للتحكم في الروبوتات في المناطق النائية ولكن تكلفة التنفيذ أعلى من بقية الحالات.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top