ورود

View Full Version : دسترسی به سخت افزار در جاوا



emplab
دوشنبه 23 تیر 1393, 08:36 صبح
دوستان من یک بورد آرم دارم که سیستم عامل لینوکس روی اون بالا میاد. اسم تجاری بورد این هست CW9G20. که یک Embedded Board هست و لینوکس 2.6.30 روی آن بوت میشه.
تونستم از سایت اوراکل jvm مخصوص این خانواده از میکروکنترلرها را پیدا کنم و دانلود و نصب کنم. بنابراین در حال حاضر میتونم برنامه های جاوایی که نوشته میشه را روی این بورد به خوبی اجرا کنم.
اما هدف بنده فراتر از اینهاست. در واقع از سیستم Embedded استفاده میکنم که یک سری سخت افزار را کنترل کنم. بنابراین نیاز به دسترسی به پورت سریال، پین های IO و... دارم. این دسترسی را میخام از طریق برنامه ای که تحت جاوا می نویسم داشته باشم. بنابراین سوالم این هست:
چطور میتونم به سخت افزار از طریق یک برنامه جاوا دسترسی داشته باشم؟ آیا به اجبار باید از JNI استفاده کرد یا راه دیگری هم هست؟
همانطور که میدونید برای دسترسی به سخت افزار در لینوکس، معادل هر قسمت سخت افزاری یک درایور باید در سیستم نصب بشه که نصب درایورها منجر به ایجاد یک فایل در مسیر /dev خواهد شد. آیا نمیشه با فایلهایی که در این مسیر ساخته میشه ارتباط برقرار کرد و سخت افزار مربوطه را به دست گرفت؟
به عبارت دیگه خیلی خلاصه بخام بگم: آیا کسی توانسته در جاوا به واحدهای سخت افزاری سیستم دسترسی پیدا کنه؟ مثلا پین های IO؟ یا پورت سریال و ...؟ البته این سیستم بهتره یک سیستم Embedded باشه. چون روی کامپیوتر خیلی مد نظر من نیست.
خلاصه ممنون میشم دوستان هر اطلاعاتی دارند اینجا بگذارند تا همه استفاده کنیم.

aqm176
پنج شنبه 19 آذر 1394, 12:09 عصر
سلام و خسته نباشید.
آره با جاوا میشه این کار رو انجام داد.
ولی یه سری پکت هایی داره که ذکر کردید در لینوکس باید نصب بشه، لذا مد نظر من این است که، وقتی لینوکس رو نصب میکنید، اول برای اجرای برنامه اون رو اجرا کنید تا برنامه رو لود کنه.
و برنامتون باید بر مبتنی بر سیستم عامل نوشته شده باشه تا بتونه کتابخانه های گرافیکی رو هم لود کنه و همچنین از طریق اون و ماشین مجازیش، به منابع سخت افزاری دسترسی پیدا کرد.
اما سخت میشه این برنامه نوشته شده، چون پس از احرا باید کاری کنه که فرد یا کاربر، هیچ گونه دسترسی به سیستم عامل نداشته باشه چون اگر دسترسی داشته باشه میتونه هم برنامتون رو هک کنه، و هم میتونه کلا سیستمتون رو منحل کنه.
ولی اگر شما بتونید برای برنامتون آی دی خاصی در نظر بگیرید، از این کارا جلوگیری میکنید، لذا باید در لینوکسی که نصب کردید طوری تنظیم کنید که برنامه ای غیر از این برنامه شما اجرا نشه تا بتونه منابع رو کامل در اختیار شما قرار بده.
اطلاعات بیشتر از این ندارم شرمنده.
:لبخند:
سپس