سؤال

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

أود أن يتصل الجهاز عبر USB وأن يكون (الكمبيوتر) مستقلًا.

ليس لدي أدنى فكرة عن مكان البدء ، باستثناء البدء في قراءة موقع Arduino. هل هذا أفضل خيار/فقط؟ هل هناك شيء أكثر ملاءمة للتواصل مع جافا؟

ملحوظة: أعلم أن Arduino له علاقة بـ Java (لست متأكدًا من ما) ، ولكن يبدو أن الكود يجب أن يكون مكتوبًا في مجموعة فرعية من C.

كيف يمكنني التحرك في هذا الموضوع؟


1 - لا ضحك من فضلك.

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

المحلول

تتم كتابة بيئة التنمية Arduino في Java.

لكن اللغة القياسية التي تكتب فيها برنامج لمنصة Arduino هي C ++ بشكل فعال.

تعتمد منصة Arduino على شريحة Atmel AVR. هناك واحد على الأقل Java VM لشرائح AVR. هناك لغات أخرى متاحة لـ AVR مثل راب و BASIC (على الرغم من أنه لا يمكنني العثور إلا على إصدارات تجارية ، لذلك سأقوم إذا كنت ترغب في العثور عليها ، والبحث عن "AVR Basic").

يستخدم Arduino منفذ COM الظاهري للتواصل بين الكمبيوتر المضيف و IT. يحاكي ميناء COM الظاهري خطًا مسلسلًا على الطراز القديم ولكنه يتم مع USB. يمكنك استعمال ال Java Communication API بعد ذلك ، فإن برنامج Java يعمل على الكمبيوتر المضيف يتواصل مع جهازك الفعلي.

نصائح أخرى

بالنسبة لبعض المشفرات والأزرار ، ربما تريد تنفيذ جهاز USB HID. إذا كنت ستنتج أكثر من اثنين منهم ، فستحتاج إلى عمل لوحة مخصصة. الدفع V-USB, ، مكتبة مفتوحة المصدر لجعل أجهزة USB HID باستخدام متحكم ATMEL. لديهم مجموعة من الأمثلة على المشاريع التي تستخدم هذه المكتبة.

من المحتمل أن تجعل هذا يبدو وكأنه عصا التحكم HID ، باستخدام أجهزة التشفير لإنتاج معلومات محور X/Y وتوفير الأزرار مثل الأزرار. يمكنك استخدام واجهات برمجة تطبيقات ألعاب Java القياسية لقراءة قيم عصا التحكم.

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

بالنسبة للعمل مع أجهزة USB من Java ، فقد لعبت مع مكتبة JUSB قليلاً ويبدو واعداً ، ولكن يبدو أنها تقتصر على Linux فقط لأن إصدار Windows من نصف المكتبة الأصلية لم يتم كتابة . يمكن للبدائل التي عثر عليها بواسطة Googling "Hid Java".

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

أتمنى أن يساعد هذا ، مع أطيب التحيات ، توم.

أعلم أن المنفذ التسلسلي كانت هناك مكتبات موجودة للتفاعل معها (مكتبة RS232). أعاد Googling لـ Java و USB عدة إجابات (تم تسمية الأول JUSB). سيكون هذا هو النوع الأول من الشيء الذي كنت أبحث عنه.

عينة لاتصال Java USB إلى Microcontroller Freescale:

http://javausbapi.blogspot.com/

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