فهرست مطالب:

توسعه کارآمد جاوا برای رزبری پای: 11 مرحله (همراه با تصاویر)
توسعه کارآمد جاوا برای رزبری پای: 11 مرحله (همراه با تصاویر)
Anonim

این دستورالعمل یک رویکرد بسیار کارآمد برای توسعه برنامه های جاوا برای رزبری پای توصیف می کند. من از این روش برای توسعه قابلیت های جاوا از پشتیبانی سطح پایین دستگاه تا برنامه های چند رشته ای و مبتنی بر شبکه استفاده کرده ام. این روش نه تنها کارآمد است ، بلکه رایگان است!

اساساً ، رویکرد توسعه از راه دور با استفاده از NetBeans است. NetBeans روی یک ایستگاه کاری (رایانه رومیزی یا لپ تاپ ، نه Raspberry Pi) اجرا می شود که از طریق Wifi به Raspberry Pi متصل شده است. هنگامی که همه چیز به درستی تنظیم شد ، می توانید یک برنامه جاوا در NetBeans بنویسید و سپس یک کلیک برنامه را در ایستگاه کاری کامپایل کرده و می سازد ، برنامه را به Pi بارگیری می کند ، برنامه را روی Pi اجرا می کند و خروجی را به کنسول NetBeans ارائه می دهد. به شعبده بازي! حتی می توانید برنامه در حال اجرا را عیب یابی کنید ، نقاط شکست را تنظیم کرده و مقادیر متغیر را بررسی کنید. جادوی بیشتر!

بقیه این مقدمه انگیزه استفاده از جاوا و توسعه از راه دور با استفاده از NetBeans را توضیح می دهد. اگر به انگیزه اهمیت می دهید ، ادامه مطلب را بخوانید. اگر اهمیتی نمی دهید ، به مرحله 1 بروید.

چرا از جاوا در رزبری پای استفاده می کنیم؟

زبانهای برنامه نویسی زیادی برای رزبری پای وجود دارد ، اما من بحث را به زبانهای برنامه نویسی "درجه حرفه ای" محدود می کنم که برنامه های مستقل را مورد هدف قرار می دهند ، از چند وظیفه پشتیبانی می کنند ، اجازه دسترسی به سخت افزار و شبکه و غیره را می دهند. این به معنی جاوا ، پایتون یا C/C ++. جدیدترین نسخه های Raspbian شامل توسعه و پشتیبانی از زمان اجرا برای همه این زبان ها است.

پایتون در واقع برای استفاده در Pi "ارتقاء یافته است" ، حداقل تا حدی برای سهولت یادگیری آن برای برنامه نویسان جدید. من یک برنامه نویس باتجربه هستم و به Python علاقه ای ندارم به دلیل عدم تمایل ذهنی به تعدادی از ویژگی های آن ، به عنوان مثال ، تایپ پویا. یک ویژگی پایتون وجود دارد که دوست نداشتن من عینی است - عملکرد. این منبع نشان می دهد که جاوا همیشه سریعتر از پایتون 3 است و بسته به وظیفه می تواند صدها بار سریعتر اجرا شود.

به نظر من C یک "زبان ماشین سطح بالا" است ، یعنی چیزی که بسیار نزدیک به سخت افزار سیستم یا حداقل سیستم عامل است. تقریباً می توانید هر کاری را انجام دهید و می توانید آن را در اسرع وقت انجام دهید. در واقع ، این منبع نشان می دهد که C می تواند تا 7 برابر سریعتر از جاوا اجرا شود. من همچنین علاقه ای به C ندارم ، زیرا (از نظر ذهنی) برخی از ویژگیهای آن را که به نظرم قدیمی ، قدیمی یا هر دو است ، دوست ندارم. به عنوان مثال ، اشاره گرهای صریح. از نظر عینی ، این واقعیت که شما می توانید هر کاری را انجام دهید به این معنی است که شما فقط یک اشکال مبهم (به عنوان مثال ، حساب بد اشاره گر یا یک ممکپی اشتباه) به دور از بازنویسی حافظه و خرابی احتمالی برنامه یا حتی کل سیستم هستید. جاوا از چنین خطرات جلوگیری می کند ، بنابراین جاوا ایمن تر است. احساس می کنم ایمنی بهره وری برنامه نویس را نیز افزایش می دهد. من C ++ را "پیچشی" شی گرا در اطراف C می دانم که هیچ کاری برای از بین بردن خطرات C انجام نمی دهد.

نتیجه: جاوا سریعتر از پایتون است. جاوا از C امن تر است.

آیا هنگام استفاده از جاوا محدودیت هایی وجود دارد؟

تا اینجا ، من توانستم هر کاری را که می توانم در پایتون انجام دهم در جاوا انجام دهم. کارهایی وجود دارد که می توان در C انجام داد که در جاوا نمی توان انجام داد ، اما باز هم ، تا اینجا همه چیزهایی که می خواستم انجام دهم توسط طرفداران جاوا در انجمن Pi مورد توجه قرار گرفته است. در مرحله بعد یک مثال ارائه می دهم. با این وجود ، من سنسورهایی را از فروشندگانی خریداری کرده ام که "درایور" سنسورها را فقط در پایتون (یا C/C ++ برای آردوینو) ارائه می دهند ، بنابراین مجبور شدم معادل جاوا را بنویسم. تلاش اضافی لزوماً سازنده نیست ، اما می تواند به بینش بیشتری در مورد عملکرد سنسور منجر شود.

چرا توسعه از راه دور بر اساس NetBeans؟

من دریافتم که توسعه از راه دور مبتنی بر NetBeans بهره وری را هنگام استفاده از جاوا برای رزبری پای بسیار افزایش می دهد. من اطمینان دارم که می توانید از این رویکرد برای ایجاد برنامه های سریع و ایمن ، به دلیل ویژگیهای ذاتی جاوا استفاده کنید ، در حالی که نوشتن ، ساخت و اشکال زدایی آنها بسیار سریعتر از سایر روشهایی است که من پیدا کرده ام ، به دلیل توسعه از راه دور با استفاده از "حرفه ای" درجه "محیط توسعه یکپارچه NetBeans (IDE).

شاید بتوان به طور مختصر در مورد "سایر رویکردها" بحث کرد. همه معیارهای اساسی را دارند که رزبری پای از صفحه کلید ، ماوس یا صفحه نمایش متصل ندارد. دلایل زیادی برای این معیارها وجود دارد ، اما دلیل اصلی من این است که من روبات های متحرک را توسعه می دهم و نمی خواهم Pi حتی در حین توسعه به هیچ وسیله جانبی به جز زیر سیستم های رباتیک متصل شود.

سرور VNC موجود در Raspbian یک رابط کاربری گرافیکی از راه دور (GUI) را ارائه می دهد که امکان توسعه از راه دور را می دهد ، جایی که فقط GUI از راه دور روی ایستگاه کار اجرا می شود و سایر موارد ، نوشتن ، کامپایل و ساختن ، روی Pi انجام می شود. با VNC به راحتی می توان از ابزارهای توسعه جاوا استفاده کرد که در Raspbian مانند BlueJ ، Geany و Greenfoot ارسال می شوند. برخی از این موارد را می توان یک IDE در نظر گرفت. با این حال ، من آنها را دور از درجه حرفه ای می دانم.

از نظر فنی امکان نصب Java IDE حرفه ای مانند Eclipse یا NetBeans بر روی رزبری پای و استفاده از راه دور از طریق VNC وجود دارد. گزارشات و عقل سلیم نشان می دهد که نتایج ناامید کننده خواهد بود ، به دلیل وجود حافظه زیاد و قدرت CPU که IDE ها به آن احتیاج دارند ، و همچنین تأخیر شبکه که توسط GUI از راه دور معرفی شده است.

Eclipse و NetBeans هر دو روی یک ایستگاه کاری بسیار خوب اجرا می شوند. با Eclipse ، نوشتن کد یک تجربه دلپذیر است ، اما ساختن برنامه چنین نیست. بارگیری برنامه باید خارج از Eclipse انجام شود. اجرای برنامه بر روی Pi کاملاً مستقل از Eclipse است. نتیجه کلی یک فرآیند چند مرحله ای ، تقریباً دردناک است که نمی تواند از اشکال زدایی از راه دور پشتیبانی کند. NetBeans دارای کامپایل ، ساخت ، بارگیری ، اجرای از راه دور و اشکال زدایی از راه دور است که آن را به یک رویکرد برتر تبدیل می کند.

مرحله 1: رزبری پای را تنظیم کنید

برای استفاده از روش توسعه از راه دور باید با راه اندازی رزبری پای شروع کنید. منابع زیادی از جمله Instructables برای کمک به راه اندازی رزبری پای در دسترس هستند. برای آشنایی با اصول اولیه تنظیم Pi (و موارد دیگر) به اینجا مراجعه کنید.

این دستورالعمل شما را فرض می کند

  • آخرین Raspbian را نصب کنید ؛ مطمئن شوید که شناسه کاربری و رمز عبور Pi را ثبت کرده اید
  • Wifi را تنظیم کرده و به روتر خود متصل شوید (این را ببینید) ؛ اطمینان حاصل کنید که آدرس IP Pi را ضبط کرده اید
  • SSH را فعال کنید (این را ببینید) تا دسترسی از راه دور به ایستگاه کار به Pi امکان پذیر شود

پس از اتمام راه اندازی ، می توانید صفحه نمایش ، صفحه کلید و موس را از Pi خاموش کرده و جدا کنید. این یکی از مزایای اصلی توسعه از راه دور است. شما باید هر دانگل Wifi را متصل کنید (البته برای Pi مدل 3 یا Pi Zero W لازم نیست) ، و سپس می توانید Pi را روشن کنید.

برای آزمایش ، یک سرویس گیرنده ssh را در ایستگاه کاری خود باز کنید ، به عنوان مثال ، ترمینال در MacOS یا بتونه در Windows. سپس دستور ssh (پوسته امن) را با فرم زیر وارد کنید:

ssh the_pi_ip_address -l the_pi_user_id

شما باید یک پیام برای وارد کردن رمز عبور شناسه کاربری Pi خود دریافت کنید. در صورت عدم نمایش پیام ، مطمئن شوید که آدرس IP مناسب را در دستور ssh وارد کرده اید. رمز عبور خود را وارد کنید (مخفی می شود) و سپس باید اعلان پوسته Pi را مشاهده کنید که چیزی شبیه به این است:

pi@raspberrypi: ~ $

در صورت عدم مشاهده درخواست ، شناسه کاربری و گذرواژه مورد استفاده را بررسی کنید.

اکنون باید مسیر دسترسی به جاوا را پیدا کنید و تأیید کنید که نسخه پیش فرض جاوا 8 است (باید برای آخرین Raspbian صادق باشد). برای یافتن مسیر اجرای جاوا ، در سرویس گیرنده ssh دستور را وارد کنید

sudo update-alternatives-نمایش جاوا

شما باید پاسخی را با دو خط اول مشاهده کنید که شبیه شکل زیر است:

جاوا - حالت خودکار

پیوند بهترین نسخه/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java است

"-8-" در خط دوم تأیید می کند که زمان اجرا به طور پیش فرض Java 8 است. مسیر را در خط دوم ضبط کنید زیرا برای پیکربندی NetBeans برای توسعه از راه دور در مرحله بعد به آن نیاز خواهید داشت.

اگر زمان اجرای پیش فرض جاوا 8 نیست ، در سرویس گیرنده ssh دستور زیر را برای تغییر به جاوا 8 وارد کنید (با فرض نصب بودن آن)

sudo update-alternatives-configig java

مرحله 2: NetBeans را روی Workstation نصب کنید

اکنون باید NetBeans را روی ایستگاه کاری خود نصب کنید. مرورگر ایستگاه کاری خود را به صفحه بارگیری NetBeans هدایت کنید. چندین بسته نرم افزاری احتمالی را مشاهده خواهید کرد که از دو نسخه جاوا و سایر زبان ها پشتیبانی می کند. تنها چیزی که برای توسعه جاوا برای Raspberry Pi نیاز دارید Java SE است ، اما می توانید بسته Java EE یا بسته نرم افزاری All را دریافت کنید. هنگامی که تصمیم گرفتید کدام بسته را می خواهید روی دکمه بارگیری مربوطه کلیک کنید. در اینجا می توانید دستورالعمل های اضافی نصب سیستم عامل ایستگاه کاری خود را بیابید.

پس از نصب NetBeans ، آن را راه اندازی کنید (ممکن است پس از نصب به طور خودکار این کار را انجام دهد). همانطور که در تصویر نشان داده شده است ، باید پنجره اصلی NetBeans را مشاهده کنید. تصویر در Mac گرفته شده است و ممکن است پنجره اصلی در ویندوز کمی متفاوت باشد.

هنگامی که NetBeans را با موفقیت نصب و راه اندازی کردید ، به مرحله بعدی بروید.

مرحله 3: Raspberry Pi را به عنوان یک پلت فرم از راه دور در NetBeans پیکربندی کنید

Raspberry Pi را به عنوان یک پلت فرم از راه دور در NetBeans پیکربندی کنید
Raspberry Pi را به عنوان یک پلت فرم از راه دور در NetBeans پیکربندی کنید

اقدامات زیر Raspberry Pi را به عنوان یک پلت فرم Java SE از راه دور برای NetBeans پیکربندی می کند. این NetBeans را قادر می سازد تا برنامه های جاوا را در Pi بارگیری و اجرا کند. در اینجا می توانید توضیحات کلی را پیدا کنید.

توجه: در این مرحله و مراحل بعدی ، من مقادیر خاص محیط خود را برای جنبه های مختلف پیکربندی و کدگذاری نشان می دهم. واضح است که شما متفاوت خواهد بود

برای پیکربندی Pi به عنوان یک پلت فرم از راه دور:

  1. در نوار منوی اصلی NetBeans ، Tools -> Java Platforms را انتخاب کنید. پنجره بازشو Java Platform Manager (تصویر یک) را مشاهده خواهید کرد.
  2. روی Add Platform در پایین سمت چپ کلیک کنید. پنجره افزونه Add Java Platform [type platform] (تصویر دو) را مشاهده خواهید کرد.
  3. Remote Java Standard Edition را انتخاب کنید. Next را کلیک کنید. پنجره Add Java Platform [راه اندازی پلتفرم از راه دور] را مشاهده خواهید کرد (تصویر سه بعد از وارد کردن مقادیر مناسب برای محیط من در فیلدها ، پنجره را نشان می دهد).
  4. در قسمت Platform Name نام Pi را وارد کنید. تقریباً می توانید از هر چیزی استفاده کنید ، اما باید منحصر به فرد باشد.
  5. در قسمت میزبان آدرس IP Pi را که در مرحله 1 یافت می شود وارد کنید.
  6. در قسمت نام کاربری نام کاربری را که در مرحله 1 استفاده کرده اید وارد کنید.
  7. Use Use Password Authentication را انتخاب کرده و در قسمت Password گذرواژه ای را که در مرحله 1 ایجاد کرده اید وارد کنید.
  8. در قسمت Remote JRE Path باید بیشتر مسیر مربوط به زمان اجرای جاوا در Pi را وارد کنید. در مرحله 1 ، usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java بود. اما باید مقدار /bin /java را در مقدار فیلد رها کنید.
  9. NetBeans برنامه قابل اجرا را به فهرست راهنمای کار بر روی Pi ، که در قسمت Working Dir مشخص شده است ، بارگیری می کند. پیش فرض/the_Pi_user_ID/NetBeansProjects است و کاملاً قابل قبول است. در صورت تمایل می توانید از موارد متفاوتی استفاده کنید ، هرچند باید در دسترس the_Pi_user_ID (تصویر سه) باشد.
  10. روی پایان در پایین سمت راست پنجره بازشو کلیک کنید. پس از پردازش ، باید بار دیگر پنجره بازشو Java Platform Manager را مشاهده کنید. اکنون باید Pi از راه دور خود را (تحت نامی که در عمل 4 در بالا استفاده کردید) در زیر دسته Remote Java SE (تصویر چهارم) مشاهده کنید.
  11. برای آزمایش اتصال NetBeans و Pi خود روی Test Platform در پایین سمت چپ کلیک کنید. ابتدا یک پنجره بازشو مشاهده خواهید کرد که می گوید Verify Remote Platform. در صورت موفقیت ، پنجره دوم را دریافت خواهید کرد که نشان می دهد اتصال… با موفقیت برقرار شده است. در غیر این صورت ، باید اطلاعاتی را که در پنجره پنجم افزودن بستر افزودن جاوا [راه اندازی پلت فرم از راه دور] وارد کرده اید ، بررسی و تصحیح کنید. می توانید این کار را از پنجره باز شده Java Platform Manager انجام دهید. به سادگی پلت فرم Pi خود را انتخاب کنید و سپس فیلدهای سمت راست پنجره را ویرایش کنید.
  12. پس از اتصال موفقیت آمیز ، در پنجره باز شده Java Platform Manager روی Close کلیک کنید. اکنون پنجره اصلی NetBeans را مشاهده خواهید کرد.

حالا سرگرمی واقعی می تواند شروع شود!

مرحله 4: ایجاد یک پروژه جاوا در ایستگاه کاری

این به منظور توضیح کامل نحوه استفاده از NetBeans یا جاوا نیست ، اما من حداقل اقدامات را برای نوشتن برنامه در NetBeans در ایستگاه کاری و در نهایت اجرای برنامه از راه دور بر روی Raspberry Pi شرح خواهم داد.

در NetBeans ابتدا باید یک پروژه ایجاد کنید تا کلاس (های) جاوا را برای برنامه نگه دارد. علاوه بر این ، در جاوا ، کلاسها در بسته هایی برای پشتیبانی از سازمان و امنیت قرار دارند. برای ایجاد پروژه و ایجاد اختیاری یک بسته و یک فایل کلاس:

  1. در پنجره اصلی NetBeans ، روی نماد پروژه جدید (دوم از سمت چپ) کلیک کنید. پنجره پروژه جدید [انتخاب پروژه] (تصویر یک) را مشاهده خواهید کرد.
  2. پیش فرض ها (دسته: جاوا ، پروژه: برنامه جاوا) برای این مثال درست است ، بنابراین به سادگی روی Next کلیک کنید. پنجره باز شده New Java Application [name and location] (تصویر دو مقادیر مثال من را نشان می دهد) را مشاهده خواهید کرد. توجه: من اطلاعات کاربر خود را با استفاده از مستطیل های رنگی تغییر داده ام.
  3. در قسمت نام پروژه ، نام پروژه جاوا را به دلخواه وارد کنید. این نام باید با یک حرف بزرگ شروع شود و طبق قرارداد ، هنگام اتصال کلمات ، مورد شتر را نشان می دهد.
  4. فیلد محل پروژه محل سکونت پروژه در سیستم فایل شما را کنترل می کند. پیش فرض بسته به سیستم عامل متفاوت است ، اما پذیرفتن آن ایمن است.
  5. قسمت Project Folder به شما امکان می دهد نام پوشه پروژه را کنترل کنید. به نظر من بهتر است از پیش فرض که ترکیبی از قسمت Location و فیلد Name است استفاده کنم.
  6. وقتی کادر تأیید ایجاد کلاس اصلی علامت زده می شود ، NetBeans به طور خودکار یک بسته و یک فایل کلاس اصلی (برنامه ای که می تواند از خط فرمان اجرا شود) با نام پروژه ایجاد می کند. من فکر می کنم معمولاً باید کنترل نشده باشد ، اما در این مورد ، آن را علامت زده می کنم که اقدامات صریح دیگری را که برای انجام آن لازم است حذف می کند (تصویر دو).
  7. روی Finish کلیک کنید تا پروژه ، یک بسته و یک فایل کلاس اصلی ایجاد شود. اکنون پنجره سمت چپ بالای پنجره اصلی NetBeans پروژه شما را نشان می دهد که شامل یک بسته است ، که به نوبه خود شامل یک فایل کلاس با متد main () می باشد. پنجره بالا سمت راست شامل کد منبع پیش فرض برای کلاس اصلی (برنامه) است که به طور خودکار توسط NetBeans ایجاد می شود (تصویر سه).

در این مرحله ، می توانید مقداری کد را در متد اصلی بنویسید و روی ایستگاه کاری اجرا کنید. ممکن است گاهی اوقات مطلوب باشد ، اما برای این دستورالعمل ضروری نیست ، بنابراین به مرحله بعدی بروید.

مرحله 5: پروژه NetBeans را برای راه اندازی از راه دور روی رزبری پای پیکربندی کنید

برای پیکربندی پروژه NetBeans و برنامه ای که شامل آن است ، برای اجرا از راه دور روی رزبری پای ، موارد زیر را انجام دهید:

  1. کلیک راست یا 2 انگشتی (بستگی به سیستم عامل ایستگاه کاری) در پروژه در قسمت Projects در پنجره اصلی NetBeans دارد تا منوی پروژه ظاهر شود و روی Properties کلیک کنید. پنجره Properties Project را مشاهده خواهید کرد (تصویر پنجره ای با مقادیر مناسب برای مثال من نشان می دهد).
  2. در بخش Categories در سمت چپ ، Run را انتخاب کنید.
  3. روی New در سمت راست قسمت Configuration کلیک کنید. در پنجره ایجاد شده ایجاد پیکربندی جدید ، نام پیکربندی را وارد کرده و روی OK کلیک کنید. نام می تواند هر چیزی باشد ؛ من فقط از نام پلتفرم ("My Pi") استفاده کردم. یکبار دیگر پنجره باز شده Properties Project را مشاهده خواهید کرد.
  4. روی نماد کشویی در قسمت راست Runtime Platform کلیک کنید. از لیست موجود در پنجره ، پلت فرم راه دور را که قبلاً ایجاد کرده اید (در محیط من ، "My Pi") انتخاب کنید.
  5. روی OK کلیک کنید تا پلتفرم راه دور برای پروژه راه اندازی شود. بار دیگر پنجره اصلی را مشاهده خواهید کرد.

اکنون آماده نوشتن کد و اجرای برنامه از راه دور هستید.

مرحله 6: یک برنامه جاوا روی ایستگاه کاری بنویسید و آن را روی رزبری پای اجرا کنید

پانل سمت راست در پنجره اصلی NetBeans فایل کلاس اصلی ایجاد شده توسط NetBeans را نشان می دهد. یک دستور چاپ ساده در متد اصلی فایل کلاس (تصویر یک) تایپ کنید. در حال حاضر این یک برنامه جاوا کامل است که کاری انجام می دهد ، هر چند بسیار ساده است.

برای اجرای برنامه بر روی Pi ، روی نماد Run (پیکان سبز سمت چپ) در پنجره اصلی کلیک کنید. NetBeans کد را کامپایل می کند ، یک فایل jar می سازد ، فایل jar را به Raspberry Pi بارگیری می کند که توسط پلت فرم از راه دور مشخص شده است ، برنامه را روی Pi اجرا می کند ، خروجی (System.out) برنامه را ضبط می کند و خروجی را به NetBeans می دهد پنجره خروجی در سمت راست پایین پنجره اصلی (تصویر دو).

اکنون مجموعه مهارت های خود را برای توسعه پروژه های Raspberry Pi به میزان قابل توجهی افزایش داده اید! اما صبر کن…. باز هم هست!

مرحله 7: برنامه Java را با NetBeans اشکال زدایی کنید

یکی از قدرتمندترین ویژگیهای یک محیط توسعه صنعتی یکپارچه مانند NetBeans ، توانایی اشکال زدایی برنامه در حین اجرا است. NetBeans به شما این امکان را می دهد که از مجموعه کامل ابزارهای اشکال زدایی در حین کار از راه دور استفاده کنید. این شامل تنظیم نقاط شکست در مکانهای "مهم" یا "دردسرساز" در برنامه و بررسی ارزش متغیرها در حالت اجرا فعلی است.

برنامه ساده در مرحله آخر بسیار ساده است تا اشکال زدایی را نشان دهد ، بنابراین من تعدادی کد اضافی به برنامه اضافه کردم. کد اضافی دو متغیر اضافه می کند.

برای استفاده از ابزارهای اشکال زدایی ، ابتدا باید یک یا چند نقطه شکست را تنظیم کنید. برای تعیین نقطه شکست ، روی شماره خطی که می خواهید اجرا را به حالت تعلیق درآورد ، کلیک کنید. یک نماد مستطیل قرمز ظاهر می شود و کل خط پس زمینه ای قرمز رنگ می گیرد (تصویر یک).

برای اشکال زدایی برنامه ای که روی Pi اجرا می شود ، روی نماد Debug (بلافاصله در سمت راست نماد Run) در پنجره اصلی NetBeans کلیک کنید. مانند اجرای عادی ، NetBeans کامپایل ، ایجاد ، بارگیری ، اجرا ، ضبط خروجی و تکرار آن خروجی می شود. اما با اشکال زدایی ، NetBeans اجرا را در نقاط شکست متوقف می کند و به شما امکان می دهد وضعیت اجرا را بررسی کنید (تصویر دو ، قسمت Variables را در پایین سمت راست نشان می دهد).

قبل از اجرای دستورالعمل روی خط با نقطه شکست ، اجرا در نقطه شکست متوقف می شود. پس زمینه سبز نشان دهنده عبارت بعدی است که باید اجرا شود. بنابراین در مثال من ، با یک نقطه شکست در خط 9 ، متغیر a هنوز وجود ندارد ، بسیار کمتر از یک مقدار.

اکنون مکان نما را روی نماد منوی اشکال زدایی در پنجره اصلی (اولین نماد دو پیکان به سمت پایین در سمت راست نماد اشکال زدایی) ببرید و روی نماد Step Over کلیک کنید (دارای یک سند آبی در پس زمینه و یک پیکان سبز در جهت عقربه های ساعت است) در پیش زمینه) [توجه: اگر پنجره اصلی NetBeans خود را به اندازه کافی گسترده کنید ، منوی اشکال زدایی گسترش می یابد و نمادهای عملکرد اشکال زدایی در سمت راست نماد Debug نمایش داده می شود.] NetBeans بیانیه را در نقطه شکست اجرا می کند و قبل از دستور بعدی اجرا را متوقف می کند. اکنون خواهید دید که متغیر a وجود دارد و مقدار مورد انتظار را دارد (تصویر سه).

دوبار روی نماد Step Over کلیک کنید. خواهید دید که هر سه متغیر دارای مقادیر هستند. توجه داشته باشید که c هنوز صفر است (تصویر چهار).

یک بار روی نماد Step Over کلیک کنید. خواهید دید که متغیر c در حال حاضر دارای مقدار مناسب است ، یعنی مجموع متغیرهای a و b (تصویر پنجم).

در نهایت ، در منوی اشکال زدایی ، روی نماد Run (یک دایره سبز با پیکان سفید) کلیک کنید. این باعث می شود اجرا تا نقطه شکست بعدی یا تا انتهای برنامه ادامه پیدا کند ، هر کدام که زودتر بیاید.اکنون پنجره Output ظاهر می شود و خروجی مشابه عملکرد معمولی را نشان می دهد ، در این مورد متن در دستور print.

مرحله 8: برنامه مستقل از NetBeans را اجرا کنید

ممکن است زمانی برسد که بخواهید برنامه خود را در Raspberry Pi بدون "کمک" یا "دخالت" NetBeans اجرا کنید. بسیار ساده است. ابتدا یک مشتری ssh را برای Pi خود باز کنید.

از مرحله 3 به یاد داشته باشید که NetBeans شیشه پروژه شما را در فهرست راهنمای کار بر روی Pi قرار می دهد. پایه پیش فرض/home/pi/NetBeansProjects برای کاربر pi است. دایرکتوری خاص نام پروژه شما را دارد. NetBeans شیشه را در زیر شاخه ای به نام dist قرار می دهد. برای مثال من ، مسیر کامل/home/pi/NetBeansProjects/MyRemoteProg/dist است. در کلاینت ssh روی Pi ، برای اجرای برنامه می توانید از دستور java با گزینه 'jar' استفاده کنید:

java -jar /home/pi/NetBeansProjects/MyRemoteProg/dist/MyRemoteProg.jar

نتایج اجرا را در ssh client مشاهده خواهید کرد. در مثال من ، خروجی خواهد بود

سلام از رزبری پای!

این کار می کند زیرا اطلاعات موجود در فایل jar مشخص می کند که کدام کلاس اصلی در jar اجرا شود.

همچنین می توانید دایرکتوری کاری (از طریق cd) را به محل فایل jar تغییر دهید و سپس یک فرمان کوتاهتر برای تولید نتایج مشابه صادر کنید.

java -jar MyRemoteProg.jar

مرحله 9: برنامه را بسازید و بارگیری کنید ، اما از طریق NetBeans برنامه را اجرا نکنید

شرایطی وجود دارد که می خواهید NetBeans برنامه شما را بسازد و بارگیری کند ، اما آن را اجرا نکند. یکی از این شرایط زمانی رخ می دهد که برنامه شما به ورودی صفحه کلید نیاز دارد. در این صورت ، با استفاده از تکنیک در مرحله قبل ، هنگامی که برنامه را ساختید و بارگیری کردید ، برنامه بر روی رزبری پای اجرا می شود و بنابراین از ورودی صفحه کلید از Pi انتظار می رود ، اما البته ، هیچ صفحه کلیدی به Pi متصل نیست ، بنابراین برنامه متوقف می شود - خوب نیست.

برای اجرای برنامه باید از تکنیک متفاوتی استفاده کنید. اساساً ، شما یک فایل کلاس اصلی "ساختگی" ایجاد می کنید که اساساً هیچ کاری انجام نمی دهد و آن را به عنوان برنامه ای که پس از بارگیری اجرا می شود ، مشخص می کنید. در این حالت ، "ساختگی" اجرا می شود و می توانید برنامه "واقعی" خود را مستقیماً روی Pi اجرا کنید.

برای استفاده از این تکنیک ، ابتدا یک کلاس اصلی جدید ایجاد کنید:

  1. منوی پروژه را مانند مرحله 5 باز کرده و روی New-> Java Main Class کلیک کنید. پنجره باز شده New Java Main Class را مشاهده خواهید کرد.
  2. در قسمت Class name یک نام وارد کنید. نام می تواند هر چیزی باشد که دوست دارید ؛ من از "Dummy" استفاده کردم. فیلد Package به شما امکان می دهد بسته کلاس را شناسایی کنید. بسته را با استفاده از منوی کشویی سمت راست قسمت انتخاب می کنید. کلاس می تواند در یک بسته با برنامه "واقعی" شما یا در یک بسته متفاوت باشد. کلاس جدید را در همان بسته قرار دادم. روی پایان کلیک کنید. اکنون پنجره اصلی NetBeans را مشاهده می کنید که فایل جدید آن در قسمت بالا سمت راست (تصویر یک) قرار دارد. من یک دستور چاپ ساده در مورد اجرای روی Pi اضافه کردم ، اما واقعاً به چیزی نیاز نیست.

برای اجرای "Dummy" پس از بارگیری ، باید آن را "کلاس اصلی برای اجرای پیش فرض" پروژه کنید:

  1. مطابق مرحله 5 ، Project Properties را باز کنید. دسته Run را انتخاب کنید. روی Browse در سمت راست قسمت Main Class کلیک کنید. پنجره Browse Main Classes (تصویر دو) را مشاهده خواهید کرد.
  2. کلاس "Dummy" را انتخاب کنید. روی Select Main Class کلیک کنید. بار دیگر ویژگی های پروژه را مشاهده خواهید کرد.
  3. روی OK کلیک کنید. به پنجره اصلی باز می گردید.

حالا وقتی روی نماد اجرا کلیک می کنید ، NetBeans کل پروژه را مطابق/می سازد ، شیشه حاوی تمام فایل های کلاس را در Pi بارگیری می کند و کلاس "Dummy" (تصویر سوم) را اجرا می کند.

برای اجرای برنامه واقعی خود در Pi ، اکنون باید از دستور java با گزینه 'classpath' استفاده کنید ، که این امر مستلزم آن است که شما به طور صریح کلاس اصلی را برای اجرا مشخص کنید. از یک ssh client به دایرکتوری dist برای پروژه خود بروید. دستور مناسب به شکل زیر است:

java -cp project_name.jar package_name.class_name

نام پروژه بدیهی است که به پروژه اشاره دارد. که تنها در هنگام برخورد با یک پروژه جدید تغییر می کند. نام package_ البته به بسته اشاره می کند و class_name به کلاس اصلی برای اجرا اشاره می کند. همانطور که قبلاً گفته شد ، یک پروژه می تواند شامل بسته های زیادی باشد. به طور مشابه ، یک بسته می تواند شامل کلاس های زیادی باشد و همه می توانند کلاس های اصلی یا برنامه هایی باشند که می توانند از خط فرمان اجرا شوند. بنابراین ، تکنیک 'classpath' برای توسعه برنامه های پیچیده با کلاسهای بسیار مفید است ، که برخی از آنها کلاسهای اصلی فقط برای کمک به تست واحد هستند.

دستور زیر برنامه نمونه من را اجرا می کند:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

مرحله 10: استفاده از مدیریت کتابخانه NetBeans

یکی از سخت ترین اما مهمترین جنبه های برنامه های پیچیده ، پرداختن به کتابخانه ها است ، یعنی کدی که شخص دیگری قبلاً نوشته است. NetBeans یک کار تحسین برانگیز برای از بین بردن بیشتر درد مدیریت کتابخانه انجام می دهد.

من به عنوان نمونه Pi4J ، که به برنامه های جاوا دسترسی به Raspberry Pi GPIO ، گذرگاه I2C و سایر ورودی ها و ورودی های سخت افزاری را می دهد ، استفاده می کنم. Pi4J تنها یک نمونه از پشتیبانی برای انجام بسیاری از کارهای سرگرم کننده در Pi با جاوا است.

ابتدا باید کتابخانه را در ایستگاه کاری خود بارگیری کنید. به صفحه بارگیری Pi4J مراجعه کنید. از آنجا که Pi4J را روی Pi نصب نمی کنید ، فایل زیپ را در ایستگاه کاری خود بارگیری کنید. ممکن است مجبور شوید پس از بارگیری فایل زیپ ، صراحتا آن را از حالت فشرده خارج کنید.

اکنون باید یک "کتابخانه جهانی" در NetBeans ایجاد کنید:

  1. در منوی اصلی NetBeans ، روی Tools -> Libraries کلیک کنید. پنجره باز شده Ant Library Manager (تصویر یک) را مشاهده خواهید کرد.
  2. روی کتابخانه جدید در پایین سمت چپ کلیک کنید. پنجره جدید کتابخانه (تصویر دو) را مشاهده خواهید کرد.
  3. نام معناداری را که می خواهید استفاده کنید وارد کنید و روی تأیید کلیک کنید. بار دیگر پنجره باز شده Ant Library Manager را مشاهده خواهید کرد. اکنون کتابخانه جدیدی را که ایجاد کرده اید نشان می دهد (تصویر سوم).
  4. روی Add JAR/Folder در سمت راست کلیک کنید. پنجره Browse JAR/Folder (تصویر چهارم) را مشاهده خواهید کرد.
  5. به قسمت pi4j-core.jar بروید و سپس آن را انتخاب کنید. سپس روی Add JAR/Folder کلیک کنید. شما به پنجره باز شده Ant Library Library باز می گردید.
  6. در پنجره باز شده Ant Library Manager ، روی OK کلیک کنید. شما به پنجره اصلی NetBeans باز می گردید.

شما کتابخانه را اضافه کرده اید تا بتوان از آن در هر پروژه ای استفاده کرد. اکنون باید کتابخانه را به پروژه خود اضافه کنید:

  1. پنجره Properties Project را باز کنید (مرحله 5 را ببینید) و دسته کتابخانه ها را انتخاب کنید (تصویر پنجم).
  2. روی افزودن کتابخانه در سمت راست پنجره بازشو کلیک کنید. پنجره افزودن کتابخانه (تصویر شش) را مشاهده خواهید کرد.
  3. به کتابخانه بروید و آن را انتخاب کنید. سپس روی افزودن کتابخانه کلیک کنید. دوباره پنجره باز شده Properties Project را مشاهده خواهید کرد. اکنون کتابخانه در لیست کتابخانه های Compile-time در پنجره باز شده ظاهر می شود.
  4. در پنجره باز شده Properties روی OK کلیک کنید. به پنجره اصلی باز می گردید.

شما کتابخانه را به پروژه خود اضافه کرده اید تا برنامه شما بتواند از آن استفاده کند. می توانید دنباله یکسانی از اقدامات را برای هر کتابخانه ای که برای یک برنامه نیاز دارید انجام دهید.

سه بار به کتابخانه نیاز دارید - کامپایل ، ساخت و اجرا. خوشبختانه ، با NetBeans ، افزودن کتابخانه همانطور که در بالا نشان داده شده است ، همه را کنترل می کند. برای تأیید این ، من یک کلاس اصلی دیگر ایجاد کرده ام که حداقل مطلق لازم برای استفاده از قابلیت I2C در Pi4J (تصویر هفت) را انجام می دهد. این واقعیت که هیچ خطایی در نمایش وجود ندارد به این معنی است که کلاس TestPi4J کامپایل می شود. با کلیک بر روی اجرا با موفقیت ساخت و بارگیری می شود. NetBeans علاوه بر فایل jar ، کتابخانه را بارگیری می کند ، بنابراین برنامه اجرا می شود. برای تأیید مورد اخیر ، می توانید از تکنیک مرحله 9 استفاده کنید و در ssh client دستور زیر (از فهرست dist) را وارد کنید:

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

درک نحوه مدیریت NetBeans با کتابخانه ها بسیار آموزنده است. در حالی که در فهرست dist برای پروژه خود هستید ، محتویات فهرست (از دستور ls استفاده کنید) و یک زیرشاخه lib مشاهده خواهید کرد. محتویات آن فهرست را فهرست کنید و فایل jar را در کتابخانه سراسری مشاهده کنید ، که در مثال من pi4j-core.jar است. همه کتابخانه هایی که به پروژه اضافه می کنید در فهرست lib ظاهر می شوند و بنابراین برای همه برنامه های موجود در فایل jar پروژه در دسترس هستند.

مرحله 11: برو خوش بگذران

من روشی را برای دستیابی به توسعه بسیار کارآمد جاوا برای رزبری پای شرح داده ام. Raspberry Pi یک فناوری بسیار محبوب برای طیف گسترده ای از پروژه ها است. جاوا یک زبان برنامه نویسی حرفه ای است که مزایای عملکرد را نسبت به پایتون ارائه می دهد و مزایای ایمنی را نسبت به C/C ++ ارائه می دهد. NetBeans یک IDE حرفه ای است که بهره وری برنامه نویس را تا حد زیادی افزایش می دهد.

من فکر می کنم ترکیب کاملاً قانع کننده است. حالا ، بروید و از ترکیب برای پروژه های خود لذت ببرید.

توصیه شده: