Mundarija:

Raspberry Pi uchun Java -ni samarali ishlab chiqish: 11 qadam (rasmlar bilan)
Raspberry Pi uchun Java -ni samarali ishlab chiqish: 11 qadam (rasmlar bilan)

Video: Raspberry Pi uchun Java -ni samarali ishlab chiqish: 11 qadam (rasmlar bilan)

Video: Raspberry Pi uchun Java -ni samarali ishlab chiqish: 11 qadam (rasmlar bilan)
Video: Я запустил Java Майнкрафт на ЭТОМ... | Майнкрафт Открытия 2024, Iyul
Anonim

Bu yo'riqnomada Raspberry Pi uchun Java dasturlarini ishlab chiqishning juda samarali usuli tasvirlangan. Men Java-ning imkoniyatlarini rivojlantirish uchun past darajadagi qurilmani qo'llab-quvvatlashdan tortib ko'p tarmoqli va tarmoqqa asoslangan dasturlarga qadar foydalanganman. Usul nafaqat samarali, balki bepul!

Asosan, bu yondashuv NetBeans yordamida masofaviy rivojlanishdir. NetBeans Wi -Fi orqali Raspberry Pi -ga ulangan ish stantsiyasida (Raspberry Pi emas, ish stoli yoki noutbuk) ishlaydi. Hamma narsa to'g'ri o'rnatilgandan so'ng, siz NetBeans -da Java dasturini yozishingiz mumkin, keyin bir marta bosish bilan dastur ish stantsiyasida tuziladi va o'rnatiladi, dasturni Pi -ga yuklanadi, dasturda Pi -da ishlaydi va chiqishlar NetBeans konsoliga etkazib beriladi.. Sehr! Siz hatto ishlaydigan dasturni disk raskadrovka qilishingiz, to'xtash nuqtalarini o'rnatishingiz va o'zgaruvchan qiymatlarni o'rganishingiz mumkin. Yana sehr!

Qolgan qismi Java -dan foydalanish motivatsiyasini va NetBeans -dan foydalanib masofadan turib ishlab chiqarishni tavsiflaydi. Agar motivatsiya haqida qayg'urayotgan bo'lsangiz, o'qing. Agar bunga ahamiyat bermasangiz, 1 -bosqichga o'ting.

Nima uchun Raspberry Pi -da Java -dan foydalanish kerak?

Raspberry Pi uchun ko'plab dasturlash tillari mavjud, lekin men munozarani "professional darajadagi" mustaqil dasturlarga mo'ljallangan, ko'p vazifalarni qo'llab-quvvatlaydigan, apparat va tarmoqqa kirishga ruxsat beruvchi dasturlash tillari bilan cheklayman. Bu Java, Python yoki C/C ++. Raspbian -ning so'nggi nashrlari bu tillarning barchasini ishlab chiqish va qo'llab -quvvatlashni o'z ichiga oladi.

Python, hech bo'lmaganda qisman yangi dasturchilar uchun oson o'rganilishi uchun, Pi-da foydalanish uchun "targ'ib qilinadi". Men tajribali dasturchiman va Python -ni yoqtirmayman, chunki uning bir qator xususiyatlarini, masalan, dinamik yozishni, sub'ektiv yoqtirmayman. Python -ning o'ziga xos xususiyati bor, u menga yoqmaydi - bu ishlash. Bu manba shuni ko'rsatadiki, Java har doim Python 3 ga qaraganda tezroq bo'ladi va aslida vazifaga qarab yuzlab marta tezroq ishlashi mumkin.

Menimcha, C - bu "yuqori darajadagi mashina tili", ya'ni tizim uskunasiga yoki hech bo'lmaganda operatsion tizimga juda yaqin bo'lgan narsa. Siz deyarli hamma narsani qilishingiz mumkin va buni iloji boricha tezroq qilishingiz mumkin; Aslida, bu manba shuni ko'rsatadiki, C 7x ga qadar Java kabi tez ishlaydi. Menga C ham yoqmaydi, chunki men uning sub'ektiv xususiyatlarini yoqtirmayman. masalan, aniq ko'rsatgichlar. Ob'ektiv ravishda, siz hamma narsani qila olasiz degani, siz xotirani qayta yozishdan va dasturni yoki hatto butun tizimni ishdan chiqarmasligingiz mumkin bo'lgan noaniq xato (masalan, yomon ko'rsatgich arifmetikasi yoki noto'g'ri xat) ekanligini bildirasiz. Java bunday xavflarni oldini oladi, shuning uchun Java xavfsizroq. Menimcha, xavfsizlik dasturchi samaradorligini oshiradi. Men C ++ ni C atrofidagi ob'ektga yo'naltirilgan "o'rash" deb hisoblayman, bu C xavfini bartaraf etishga hech narsa qilmaydi.

Xulosa: Java Pythonga qaraganda tezroq. Java C ga qaraganda xavfsizroq.

Java -dan foydalanishda cheklovlar bormi?

Hozircha men Java -da Pythonda qila oladigan hamma narsani qila oldim. Java -da qila olmaydigan C -da qila oladigan narsalar bor, lekin yana shuni aytmoqchimanki, men xohlagan hamma narsani Pi jamoasida Java muxlislari hal qilishgan. Men keyingi bosqichda misol keltiraman. Aytgancha, men sensorlar uchun "haydovchilar" ni faqat Python -da (yoki Arduino uchun C/C ++) etkazib beradigan sotuvchilardan sensorlar sotib oldim, shuning uchun men Java ekvivalentini yozishga majbur bo'ldim; qo'shimcha harakat, albatta, unumli emas, lekin sensorning ishi haqida ko'proq ma'lumotga ega bo'lishi mumkin.

Nega NetBeans -ga asoslangan masofaviy rivojlanish?

Men NetBeans-ga asoslangan masofaviy rivojlanish Raspberry Pi uchun Java-dan foydalanganda unumdorlikni sezilarli darajada oshiradi. Ishonchim komilki, siz Java -ning o'ziga xos xususiyatlarini hisobga olgan holda, tez va xavfsiz dasturlar yaratish uchun "professional" yordamida masofaviy ishlab chiqish tufayli men topgan boshqa yondashuvlarga qaraganda tezroq yozish, tuzish va disk raskadrovka qilishda foydalanishingiz mumkin. "NetBeans Integrated Development Environment (IDE)" bahosi.

Bu "boshqa yondashuvlar" ni qisqacha muhokama qilish foydali bo'lishi mumkin. Hammasi Raspberry Pi -da klaviatura, sichqoncha yoki displey ulanmagan asosiy mezonlarga javob beradi. Bu mezonlarning ko'p sabablari bor, lekin mening asosiy sababim - bu mobil robotlarni ishlab chiqish va men, hatto ishlab chiqish paytida ham, robot quyi tizimlaridan tashqari, hech qanday tashqi qurilmalarga ulanishni xohlamayman.

Raspbian -ga kiritilgan VNC -server masofaviy grafik interfeysini (GUI) ta'minlaydi, bu masofadan ishlab chiqish shaklini beradi, bu erda ish stantsiyasida faqat masofadan boshqariladigan GUI ishlaydi, qolgan hamma narsa yozish, kompilyatsiya qilish va qurish Pi -da amalga oshiriladi. VNC yordamida BlueJ, Geany va Greenfoot kabi Raspbian-da ishlaydigan Java-ni ishlab chiqish vositalaridan foydalanish oson. Ulardan ba'zilari IDE deb hisoblanishi mumkin; ammo, men ularni professional darajadan uzoqda topaman.

Raspberry Pi -da Eclipse yoki NetBeans kabi professional darajadagi Java IDE -ni o'rnatish va undan VNC orqali masofadan foydalanish texnik jihatdan mumkin. Hisobotlar va sog'lom fikr shuni ko'rsatadiki, natijalar umidsizlikka tushadi, chunki xotira izining katta bo'lishi va bunday IDE protsessorining kuchi, shuningdek, masofali GUI tomonidan kiritilgan tarmoqning kechikishi.

Eclipse ham, NetBeans ham ish stantsiyasida juda yaxshi ishlaydi. Eclipse -da, kod yozish - yoqimli tajriba, lekin dasturni tuzish - bu emas; dasturni yuklab olish Eclipse -dan tashqarida bo'lishi kerak; Pi dasturini bajarish Eclipse -dan mutlaqo mustaqildir. Umumiy natija-ko'p bosqichli, deyarli og'riqli jarayon bo'lib, u masofadan turib disk raskadrovka qila olmaydi. NetBeans kompilyatsiya qilish, yaratish, yuklab olish, masofadan turib bajarish va masofadan turib disk raskadrovka qilish imkoniyatiga ega.

1 -qadam: Raspberry Pi -ni o'rnating

Rivojlanishning uzoqdan yondashuvidan foydalanish uchun siz Raspberry Pi -ni maqsadli sozlashdan boshlashingiz kerak. Raspberry Pi -ni o'rnatishga yordam beradigan ko'plab manbalar, shu jumladan Instructables. Pi (va boshqalar) ni sozlash asoslari uchun qarang.

Bu ko'rsatma sizni taxmin qiladi

  • eng yangi Raspbian -ni o'rnating; Pi foydalanuvchi identifikatori va parolini yozganingizga ishonch hosil qiling
  • Wi -Fi -ni o'rnating va yo'riqnoma bilan ulang (qarang); Pi -ning IP -manzilini yozganingizga ishonch hosil qiling
  • ish stantsiyasidan Pi ga masofadan kirishga ruxsat berish uchun SSH -ni yoqing (qarang)

O'rnatishni tugatgandan so'ng, siz displeyni, klaviaturani va sichqonchani Pi -dan o'chirib qo'yishingiz mumkin. Bu masofaviy rivojlanishning asosiy afzalliklaridan biridir. Siz har qanday Wi -Fi dongle -ni ulangan holda qoldirishingiz kerak (albatta, Pi modeli 3 yoki Pi Zero W uchun kerak emas), shunda siz Pi -ni yoqishingiz mumkin.

Tekshirish uchun ish stantsiyangizda ssh mijozini oching, masalan, MacOS -dagi terminal yoki Windows -dagi macun. Keyin ssh (xavfsiz qobiq) buyrug'ini quyidagi shakl bilan kiriting:

ssh the_pi_ip_address -l the_pi_user_id

Siz Pi foydalanuvchi identifikatorining parolini kiritish so'rovini olishingiz kerak. Agar so'rov paydo bo'lmasa, ssh buyrug'iga to'g'ri IP -manzilni kiritganingizga ishonch hosil qiling. Parolni kiriting (u yashirin bo'ladi), shunda siz Pi -ning qobig'ini ko'rasiz, u shunday bo'ladi:

pi@malina: ~ $

Agar siz taklifni ko'rmasangiz, foydalanuvchi identifikatori va parolni tekshiring.

Endi siz Java ish vaqti yo'lini topishingiz va Java 8 standart versiyasini tasdiqlashingiz kerak (oxirgi Raspbian uchun to'g'ri bo'lishi kerak). Java ish vaqti yo'lini topish uchun ssh mijoziga buyruqni kiriting

sudo update-alternatives-java-ni ko'rsatish

Siz birinchi ikkita satrga o'xshash javobni ko'rishingiz kerak:

java - avtomatik rejim

havolaning eng yaxshi versiyasi/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

Ikkinchi satrdagi "-8-" standart ish vaqti Java 8 ekanligini tasdiqlaydi. Yo'lni ikkinchi qatorga yozib oling, chunki NetBeansni keyingi bosqichda masofaviy rivojlanish uchun sozlash uchun kerak bo'ladi.

Agar standart ish vaqti Java 8 bo'lmasa, ssh mijoziga Java 8 ga o'tish uchun quyidagi buyruqni kiriting (agar u o'rnatilgan bo'lsa)

sudo update-alternatives-config java

2 -qadam: NetBeans -ni ish stantsiyasiga o'rnating

Endi siz ish stantsiyangizga NetBeans -ni o'rnatishingiz kerak. Ish stantsiyasi brauzerini NetBeans yuklab olish sahifasiga yo'naltiring. Siz Java -ning ikkita nashrini va boshqa tillarni qo'llab -quvvatlaydigan bir nechta mumkin bo'lgan to'plamlarni ko'rasiz. Raspberry Pi uchun Java -ni ishlab chiqish uchun sizga kerak bo'lgan narsa bu Java SE, lekin siz Java EE to'plamini yoki All to'plamini olishingiz mumkin. Qaysi to'plamni tanlash kerakligini hal qilgandan so'ng, tegishli Yuklab olish tugmasini bosing. Bu erda ish stantsiyasi OS uchun qo'shimcha o'rnatish ko'rsatmalarini topishingiz mumkin.

NetBeans -ni o'rnatganingizdan so'ng, uni ishga tushiring (u o'rnatilgandan so'ng avtomatik tarzda o'rnatilishi mumkin). Siz NetBeans -ning asosiy oynasini rasmda ko'rsatilgandek ko'rishingiz kerak. Rasm Mac -da olingan va Windows -ning asosiy oynasi boshqacha ko'rinishi mumkin.

NetBeans -ni muvaffaqiyatli o'rnatgan va ishga tushirganingizdan so'ng, keyingi bosqichga o'ting.

3 -qadam: Raspberry Pi -ni NetBeans -da masofaviy platforma sifatida sozlang

Raspberry Pi -ni NetBeans -da masofaviy platforma sifatida sozlang
Raspberry Pi -ni NetBeans -da masofaviy platforma sifatida sozlang

Quyidagi harakatlar Raspberry Pi -ni NetBeans uchun Java SE masofali platformasi sifatida sozlaydi. Bu NetBeans -ga Pi -da Java dasturlarini yuklab olish va bajarishga imkon beradi. Bu erda biroz umumiy tavsifni topishingiz mumkin.

QAYD: Bu va keyingi bosqichlarda men konfiguratsiya va kodlashning turli jihatlari uchun o'z muhitimga xos bo'lgan qiymatlarni ko'rsataman; sizniki boshqacha bo'lishi aniq.

Pi -ni masofaviy platforma sifatida sozlash uchun:

  1. NetBeans asosiy menyu satrida Asboblar -> Java platformalari -ni tanlang. Siz Java Platform Manager menyu oynasini ko'rasiz (birinchi rasm).
  2. Pastki chapdagi Platformani qo'shish -ni bosing. Siz Java platformasini qo'shish [platforma turi] qalqib chiquvchi oynasini ko'rasiz (ikkinchi rasm).
  3. Java masofaviy standart versiyasini tanlang. Keyingiga bosing. Siz Java platformasini qo'shish [masofaviy platformani o'rnatish] qalqib chiquvchi oynasini ko'rasiz (uchta rasmda men o'z maydonim uchun kerakli qiymatlarni kiritganimdan keyin qalqib chiquvchi oynani ko'rsatadi).
  4. "Platforma nomi" maydoniga Pi uchun nom kiriting. Siz deyarli hamma narsani ishlatishingiz mumkin, lekin u o'ziga xos bo'lishi kerak.
  5. Xost maydoniga 1 -qadamda topilgan Pi uchun IP manzilini kiriting.
  6. Foydalanuvchi nomi maydoniga 1 -qadamda ishlatilgan foydalanuvchi nomini kiriting.
  7. Parolni autentifikatsiyadan foydalanish -ni tanlang va Parol maydoniga 1 -qadamda yaratgan parolni kiriting.
  8. Uzoqdagi JRE yo'li maydonida siz Java -da ishlash vaqtining ko'p qismini Pi -ga kiritishingiz kerak. 1-qadamda, bu/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java edi. Biroq, maydon qiymatida /bin /java ni o'chirish kerak.
  9. NetBeans ishlaydigan dasturni Pi -dagi Ishchi Direkt maydonida ko'rsatilgan ishchi katalogga yuklaydi. Odatiy bo'lib/the_Pi_user_ID/NetBeansProjects/va u juda maqbuldir. Agar xohlasangiz, boshqa narsani ishlatishingiz mumkin, lekin u the_Pi_user_ID uchun mavjud bo'lishi kerak (3 -rasm).
  10. Ochilgan oynaning pastki o'ng burchagidagi Finish tugmasini bosing. Qayta ishlashdan so'ng, siz yana Java Platform Manager menyu oynasini ko'rishingiz kerak. Endi siz masofaviy Pi SE -ni (yuqoridagi 4 -harakatda ishlatgan nomingiz bilan) Masofaviy Java SE toifasida ko'rishingiz kerak (to'rtinchi rasm).
  11. NetBeans va Pi o'rtasidagi aloqani sinab ko'rish uchun pastki chapdagi Test platformasini bosing. Siz birinchi navbatda "Masofaviy platformani tasdiqlash" degan qalqib chiquvchi oynani ko'rasiz. Muvaffaqiyatli bo'lsa, siz ulanish muvaffaqiyatli o'rnatilganligini ko'rsatadigan ikkinchi popupni olasiz. Agar shunday bo'lmasa, yuqoridagi 5-9-harakatlarda Java platformasini qo'shish [masofaviy platformani o'rnatish] popupiga kiritilgan ma'lumotlarni tekshirish va to'g'rilash kerak. Siz buni Java Platform Manager menyu oynasida qilishingiz mumkin; faqat Pi platformasini tanlang va keyin qalqib chiquvchi oynaning o'ng tomonidagi maydonlarni tahrirlang.
  12. Muvaffaqiyatli ulanishdan so'ng, Java Platform Manager menyu oynasida Yopish -ni bosing. Endi siz NetBeans asosiy oynasini ko'rasiz.

Endi haqiqiy o'yin -kulgi boshlanishi mumkin!

4 -qadam: Ish stantsiyasida Java loyihasini yarating

Bu NetBeans yoki Java -dan qanday foydalanish haqida to'liq tushuntirish uchun mo'ljallanmagan, lekin men ish stantsiyasida NetBeans -da dastur yozish va oxir -oqibat dasturni masofadan turib Raspberry Pi -da ishga tushirishning minimal harakatlarini tasvirlab beraman.

NetBeans -da siz birinchi navbatda dastur uchun Java sinflarini saqlash uchun loyiha yaratishingiz kerak. Bundan tashqari, Java -da darslar tashkilot va xavfsizlikni qo'llab -quvvatlash uchun paketlarda joylashgan. Loyihani yaratish va ixtiyoriy ravishda paket va sinf faylini yaratish uchun:

  1. NetBeans asosiy oynasida yangi loyiha belgisini bosing (chapdan 2 -chi). Siz Yangi loyiha [loyihani tanlash] qalqib chiquvchi oynasini ko'rasiz (birinchi rasm).
  2. Standartlar (toifa: Java, loyiha: Java ilovasi) bu misol uchun to'g'ri, shuning uchun "Keyingi" tugmasini bosing. Siz yangi Java ilovasi [nomi va joylashuvi] qalqib chiquvchi oynasini ko'rasiz (ikkinchi rasm mening misolim uchun qiymatlarni ko'rsatadi). QAYD: Men foydalanuvchilar haqidagi ma'lumotlarni rangli to'rtburchaklar yordamida o'zgartirdim.
  3. Loyiha nomi maydoniga o'zingiz tanlagan Java loyihasining to'g'ri nomini kiriting. Ism bosh harf bilan boshlanishi kerak va konventsiya so'zlarni birlashtirishda tuya qutisini taklif qiladi.
  4. Loyihaning joylashuvi maydoni loyiha sizning fayl tizimingizda qaerda joylashganligini boshqaradi. Standart operatsion tizimga qarab o'zgaradi, lekin qabul qilish xavfsiz.
  5. Project Folder maydoni loyiha uchun papka nomini boshqarishga imkon beradi. Men "Manzil" va "Ism" maydonlarining birikmasi bo'lgan standartni ishlatishni ma'qul ko'raman.
  6. "Asosiy sinf yaratish" katagiga belgi qo'yilsa, NetBeans avtomatik ravishda loyiha bilan bir xil nomdagi paket va asosiy sinf faylini (buyruq satridan ishga tushirish mumkin bo'lgan dastur) yaratadi. O'ylaymanki, odatda, bu belgilanmagan bo'lishi kerak, lekin bu holda men buni tekshirib qo'yaman, aks holda buni qilish kerak bo'lgan aniq harakatlarni yo'q qiladi (ikkinchi rasm).
  7. Loyihani, paketni va asosiy sinf faylini yaratish uchun Finish tugmasini bosing. Endi NetBeans asosiy oynasining chap yuqori paneli sizning loyihangizni ko'rsatadi, u bitta paketni o'z ichiga oladi, u o'z navbatida main () usuli bilan bitta sinf faylini o'z ichiga oladi. O'ng yuqori panelda NetBeans tomonidan avtomatik ravishda yaratilgan asosiy sinf (dastur) uchun standart manba kodi mavjud (uchinchi rasm).

Bu vaqtda siz asosiy usulda ba'zi kodlarni yozib, uni ish stantsiyasida ishga tushirishingiz mumkin. Bu ba'zida kerakli bo'lishi mumkin, lekin bu ko'rsatmaga kerak emas, shuning uchun keyingi bosqichga o'ting.

5 -qadam: NetBeans loyihasini Raspberry Pi -da uzoqdan ishga tushirish uchun sozlang

Raspberry Pi -da masofadan turib ishlash uchun NetBeans loyihasini va uning tarkibidagi dasturni sozlash uchun quyidagilarni bajaring:

  1. NetBeans asosiy oynasining Loyihalar panelidagi loyihani o'ng yoki 2 barmoq bilan bosish (ish stantsiyasi OS ga bog'liq), loyiha menyusini ochadi va Xususiyatlar-ni bosing. Siz "Properties Properties" qalqib chiquvchi oynasini ko'rasiz (rasmda mening misolimga mos keladigan qiymatlar ko'rsatiladi).
  2. Chapdagi toifalar ostida Ishga tushirish -ni tanlang.
  3. Konfiguratsiya maydonining o'ng tomonidagi Yangi ni bosing. Olingan yangi konfiguratsiyani yaratish oynasida konfiguratsiya nomini kiriting va OK tugmasini bosing. Ism har qanday bo'lishi mumkin; Men faqat platformaning nomini qayta ishlatdim ("Mening Pi"). Yana bir bor siz Properties popupini ko'rasiz.
  4. Ish vaqti platformasi maydonining o'ng tomonidagi ochiladigan belgini bosing. Ochilgan ro'yxatda ilgari yaratgan masofaviy platformani tanlang (mening muhitimda "Mening Pi").
  5. Loyihaning masofaviy platformasini o'rnatish uchun OK ni bosing. Siz yana bir marta asosiy oynani ko'rasiz.

Siz endi kod yozishga va dasturni masofadan boshqarishga tayyormiz.

6 -qadam: Ish stantsiyasida Java dasturini yozing va Raspberry Pi -da ishga tushiring

NetBeans asosiy oynasidagi o'ng panel NetBeans tomonidan yaratilgan asosiy sinf faylini ko'rsatadi. Sinf faylining asosiy usulida oddiy bosma bayonotni kiriting (birinchi rasm). Endi bu juda oddiy bo'lsa -da, biror narsani bajaradigan to'liq Java dasturi.

Dasturni Pi-da ishga tushirish uchun asosiy oynadagi Ishga tushirish belgisini (chapga yo'naltirilgan yashil o'q) bosing. NetBeans kodni kompilyatsiya qiladi, jar faylini yaratadi, jar faylini masofali platforma tomonidan aniqlangan Raspberry Pi -ga yuklaydi, dasturni Pi -da bajaradi, dasturning chiqishini (System.out) yozib oladi va NetBeans -ga qaytaradi. Asosiy oynaning pastki o'ng burchagidagi chiqish paneli (ikkinchi rasm).

Siz hozir Raspberry Pi -da loyihalar ishlab chiqish bo'yicha o'z mahoratingizni sezilarli darajada kengaytirdingiz! Lekin kuting …. Yana bor!

7 -qadam: NetBeans yordamida Java dasturini tuzating

NetBeans kabi ishlab chiqarish quvvatining integratsiyalashgan muhitining eng kuchli xususiyatlaridan biri bu ishlayotganda dasturni disk raskadrovka qilish qobiliyatidir. NetBeans sizga masofadan turib ishlashda disk raskadrovka vositalarining to'liq to'plamidan foydalanish imkonini beradi. Bunga dasturning "muhim" yoki "muammoli" joylarida to'xtash nuqtalarini o'rnatish va joriy bajarilish holatidagi o'zgaruvchilar qiymatini o'rganish kiradi.

Oxirgi bosqichdagi oddiy dastur, nosozliklarni tuzatish uchun juda oddiy, shuning uchun men dasturga qo'shimcha kod qo'shdim. Qo'shimcha kod ikkita o'zgaruvchini qo'shadi.

Nosozliklarni tuzatish vositalaridan foydalanish uchun avval siz bir yoki bir nechta to'xtash nuqtalarini o'rnatishingiz kerak. To'xtash nuqtasini o'rnatish uchun bajarishni to'xtatmoqchi bo'lgan qator raqamini bosing; qizil to'rtburchak belgisi paydo bo'ladi va butun chiziq qizil fonga ega bo'ladi (birinchi rasm).

Pi -da ishlaydigan dasturni disk raskadrovka qilish uchun NetBeans asosiy oynasidagi Debug belgisini (Ishga tushirish belgisining o'ng tomonida) bosing. Oddiy bajarishda bo'lgani kabi, NetBeans kompilyatsiya qiladi, quradi, yuklaydi, bajaradi, chiqishni yozib oladi va bu chiqishni aks ettiradi. Ammo disk raskadrovka yordamida NetBeans to'xtash nuqtalarida bajarishni to'xtatadi va bajarilish holatini tekshirishga imkon beradi (o'ngdagi pastki qismida O'zgaruvchilar oynasi ko'rsatilgan ikkinchi rasm).

To'xtatish nuqtasi bilan chiziqdagi ko'rsatmani bajarishdan oldin, bajarish to'xtash nuqtasida to'xtaydi. Yashil fon keyingi bajariladigan buyruqni bildiradi. Shunday qilib, mening misolimda, 9 -satrda to'xtash nuqtasi bilan, a o'zgaruvchisi hali mavjud emas, juda kam qiymatga ega.

Endi kursorni asosiy oynadagi nosozliklarni tuzatish menyusi belgisiga olib keling (disk raskadrovka belgisining o'ng tomonidagi ikki marta pastga qaragan birinchi belgi) va ustiga o'tish belgisini bosing (fonda ko'k hujjat va soat sohasi farqli o'laroq yashil o'q bor) birinchi o'rinda). [QAYD: agar siz NetBeans -ni asosiy oynasini etarlicha keng qilib qo'ysangiz, disk raskadrovka menyusi kengayadi va disk raskadrovka belgisining o'ng tomonida disk raskadrovka harakatlari ko'rsatiladi.] NetBeans bayonotni to'xtash nuqtasida bajaradi va keyingi bayonotdan oldin bajarishni to'xtatadi. Endi siz o'zgaruvchining mavjudligini va kutilgan qiymatga ega ekanligini ko'rasiz (3 -rasm).

O'tish belgisini ikki marta bosing. Siz barcha uch o'zgaruvchining qiymatlari borligini ko'rasiz; E'tibor bering, c hali ham nol (to'rtinchi rasm).

O'tish belgisini bir marta bosing. Siz c o'zgaruvchining mos qiymatga ega ekanligini ko'rasiz, ya'ni a va b o'zgaruvchilar yig'indisi (beshinchi rasm).

Nihoyat, disk raskadrovka menyusida Ishga tushirish belgisini bosing (oq o'qli yashil doira). Bu bajarilishning keyingi to'xtash nuqtasida yoki dastur oxirigacha davom etishiga olib keladi, qaysi biri birinchi bo'lsa. Endi Chiqish paneli paydo bo'ladi va oddiy bajarilgandek bir xil chiqishni ko'rsatadi, bu holda bosma bayonotidagi matn.

8 -qadam: NetBeansdan mustaqil dasturni bajaring

Vaqt o'tishi mumkinki, siz dasturni Raspberry Pi -da, NetBeans -ning "yordamisiz" yoki "aralashuvisiz" bajarishni xohlaysiz. Bu juda oddiy. Birinchidan, Pi uchun ssh mijozini oching.

3 -qadamdan esda tutingki, NetBeans sizning loyiha bankangizni Pi -dagi ishchi katalogga joylashtiradi. Foydalanuvchi pi uchun/home/pi/NetBeansProjects standart bazasi hisoblanadi. Muayyan katalog sizning loyihangiz bilan bir xil nomga ega. NetBeans bankani dist deb nomlangan pastki katalogga joylashtiradi. Mening misolim uchun, to'liq yo'l/home/pi/NetBeansProjects/MyRemoteProg/dist. Pi -dagi ssh mijozida dasturni bajarish uchun java buyrug'ini 'jar' opsiyasi bilan ishlatishingiz mumkin:

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

Siz ssh mijozida ijro natijalarini ko'rasiz; mening misolimda chiqish bo'ladi

Raspberry Pi -dan salom!

Bu ishlaydi, chunki jar faylidagi ma'lumotlar bankdagi qaysi asosiy sinf bajarilishini aniqlaydi.

Siz shuningdek, ishchi katalogini (CD orqali) jar faylining joylashgan joyiga o'zgartirishingiz va bir xil natijalarga erishish uchun qisqa buyruq berishingiz mumkin.

java -jar MyRemoteProg.jar

9 -qadam: Tuzing va yuklab oling, lekin NetBeans orqali dasturni bajarmang

NetBeans -dan sizning dasturingizni yaratishni va yuklab olishni xohlagan holatlar mavjud, lekin uni bajarmaydi. Bunday holatlardan biri sizning dasturingizga klaviatura kiritish zarur bo'lganda yuzaga keladi. Agar shunday bo'lsa, avvalgi bosqichdagi texnikani qo'llagan holda, siz o'rnatgan va yuklaganingizdan so'ng, dastur Raspberry Pi -da ishlaydi va Pi -dan klaviatura kiritilishini kutadi, lekin, albatta, Pi -ga biriktirilgan klaviatura yo'q, shuning uchun dastur uzilib qoladi - yaxshi emas.

Dasturni bajarish uchun siz biroz boshqacha texnikadan foydalanishingiz kerak. Asosan, siz "qo'g'irchoq" asosiy sinf faylini yaratasiz, u hech narsa qilmaydi va uni yuklashdan keyin bajariladigan dastur sifatida aniqlaydi. Bunday holda, "qo'g'irchoq" bajariladi va siz "haqiqiy" dasturingizni to'g'ridan -to'g'ri Pi -da ishga tushirishingiz mumkin.

Ushbu texnikadan foydalanish uchun avval yangi asosiy sinf yarating:

  1. Loyiha menyusini 5-qadamda keltiring va New-> Java Main Class-ni bosing. Siz Java -ning asosiy sinfining yangi oynasini ko'rasiz.
  2. Sinf nomi maydoniga ism kiriting. Ism sizga yoqadigan har qanday narsa bo'lishi mumkin; Men "Dummy" dan foydalanardim. Paket maydoni sizga sinf paketini aniqlash imkonini beradi; Siz maydonni o'ng tomonidagi ochiladigan menyudan foydalanib paketni tanlaysiz. Sinf sizning "haqiqiy" dasturingiz bilan bir xil paketda yoki boshqa paketda bo'lishi mumkin; Men yangi sinfni bir xil paketga joylashtirdim. Finish tugmasini bosing. Endi siz NetBeans -ning asosiy oynasini ko'rasiz, yangi fayl yuqori o'ng panelda joylashgan (birinchi rasm). Men Pi -da ishlash haqida oddiy bosma bayonot qo'shdim, lekin hech narsa kerak emas.

Yuklab olingandan so'ng "qo'g'irchoq" ni ishga tushirish uchun siz uni "sukut bo'yicha bajariladigan asosiy sinf" ga aylantirishingiz kerak:

  1. Loyiha xususiyatlarini 5 -qadamda bo'lgani kabi oching. Asosiy sinf maydonining o'ng tomonidagi Ko'rish -ni bosing. Siz asosiy sinflarni ko'rib chiqish oynasini ko'rasiz (ikkinchi rasm).
  2. "Dummy" sinfini tanlang. Asosiy sinfni tanlash -ni bosing. Siz yana loyiha xususiyatlarini ko'rasiz.
  3. OK ni bosing. Siz asosiy oynaga qaytasiz.

"Ishga tushirish" belgisini bosganingizda, NetBeans butun loyihani bajaradi/quradi, barcha sinf fayllarini o'z ichiga olgan idni Pi -ga yuklaydi va "qo'g'irchoq" sinfini bajaradi (3 -rasm).

Haqiqiy dasturingizni Pi -da bajarish uchun endi siz java buyrug'ini "classpath" opsiyasi bilan ishlatishingiz kerak, bu esa bajariladigan asosiy sinfni aniq aniqlashni talab qiladi. Ssh mijozidan loyihangiz uchun dist katalogiga o'ting. To'g'ri buyruq quyidagi shaklda bo'ladi:

java -cp project_name.jar package_name.class_name

Project_name aniq loyihaga tegishli; Bu faqat yangi loyiha bilan ishlashda o'zgaradi. Albatta, paket_ nomi paketga, class_name esa bajariladigan asosiy sinfga ishora qiladi. Yuqorida aytib o'tganimizdek, loyiha ko'plab paketlarni o'z ichiga olishi mumkin. Xuddi shunday, paketda ko'plab sinflar bo'lishi mumkin va ularning barchasi buyruq satridan bajariladigan asosiy sinflar yoki dasturlar bo'lishi mumkin. Shunday qilib, "sinf yo'li" texnikasi ko'plab sinflarga ega bo'lgan murakkab dasturlarni ishlab chiqish uchun juda foydalidir, ularning ba'zilari faqat birlik sinovlariga yordam berish uchun asosiy sinflardir.

Quyidagi buyruq mening namunali dasturimni bajaradi:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

10 -qadam: NetBeans kutubxonasini boshqarishdan foydalaning

Murakkab dasturlarning eng qiyin, lekin muhim jihatlaridan biri bu kutubxonalar bilan ishlash, ya'ni boshqa birov yozgan koddir. NetBeans kutubxona boshqaruvi azoblarining ko'pini yo'qotadigan ajoyib ishni bajaradi.

Men Java dasturlariga Raspberry Pi GPIO, I2C avtobusi va boshqa uskunalarni kiritish -chiqarish qurilmalariga kirishni ta'minlaydigan Pi4J misolini keltiraman. Pi4J - bu Java -da juda ko'p qiziqarli narsalarni bajarishni qo'llab -quvvatlashning bir misoli.

Avval kutubxonani ish stantsiyangizga yuklab olishingiz kerak. Pi4J yuklab olish sahifasiga qarang. Pi4J -ni Pi -ga o'rnatmaganingiz uchun, zip -ni ish stantsiyangizga yuklab oling. Zip yuklab olingandan so'ng, siz ochishingiz kerak yoki bo'lmasligi mumkin.

Endi siz NetBeans -da "global kutubxona" yaratishingiz kerak:

  1. NetBeans asosiy menyusida Asboblar -> Kutubxonalar -ni bosing. Siz Ant kutubxonasi menejeri qalqib chiqishini ko'rasiz (birinchi rasm).
  2. Pastki chapdagi Yangi kutubxona -ni bosing. Yangi kutubxona ochiladi (ikkinchi rasm).
  3. Foydalanmoqchi bo'lgan ma'noli ismni kiriting va OK ni bosing. Siz yana chumolilar kutubxonasi menejerini ko'rasiz. Endi u siz yaratgan yangi kutubxonani ko'rsatadi (uchinchi rasm).
  4. O'ng tomondagi JAR/Jild qo'shish -ni bosing. Siz JAR/Jildni ko'zdan kechirish oynasini ko'rasiz (to'rtinchi rasm).
  5. Ga o'ting va keyin pi4j-core.jar-ni tanlang. Keyin JAR/Jild qo'shish -ni bosing. Siz Ant Library Manager menyu oynasiga qaytasiz.
  6. Chumolilar kutubxonasi menejeri oynasida OK ni bosing. Siz NetBeans asosiy oynasiga qaytasiz.

Siz kutubxonani har qanday loyihada foydalanish uchun qo'shdingiz. Endi siz kutubxonani loyihangizga qo'shishingiz kerak:

  1. Loyiha xususiyatlari oynasini oching (5 -qadamga qarang) va kutubxonalar toifasini tanlang (beshinchi rasm).
  2. Ochilgan oynaning o'ng tomonida Kutubxona qo'shish -ni bosing. Siz kutubxona qo'shish oynasini ko'rasiz (oltinchi rasm).
  3. Kutubxonaga o'ting va uni tanlang. Keyin kutubxona qo'shish -ni bosing. Siz yana loyiha xususiyatlari oynasini ko'rasiz. Kutubxona endi ochilgan oynada kompilyatsiya vaqtli kutubxonalar ro'yxatida paydo bo'ladi.
  4. Loyiha xususiyatlari oynasida OK ni bosing. Siz asosiy oynaga qaytasiz.

Siz kutubxonani loyihangizga qo'shdingiz, shunda dasturingiz undan foydalana oladi. Siz dastur uchun kerak bo'lgan har qanday kutubxonalar uchun xuddi shunday harakatlar ketma -ketligini bajarishingiz mumkin.

Kutubxonaga uch marta kerak bo'ladi - kompilyatsiya qilish, tuzish va bajarish. Yaxshiyamki, NetBeans bilan kutubxonani yuqorida ko'rsatilgan tarzda qo'shish hammasini boshqaradi. Buni tasdiqlash uchun men Pi4J -dagi I2C imkoniyatlaridan foydalanish uchun zarur bo'lgan minimal minimal darajadagi boshqa asosiy sinfni yaratdim (7 -rasm). Hech qanday xato ko'rsatilmasligi, TestPi4J sinfining kompilyatsiya qilinishini bildiradi. "Ishga tushirish" tugmachasini bosish muvaffaqiyatli quriladi va yuklanadi; NetBeans kutubxonani jar fayliga qo'shimcha ravishda yuklaydi, shuning uchun dastur bajariladi. Ikkinchisini tekshirish uchun siz 9 -bosqichda texnikadan foydalanishingiz mumkin va ssh mijoziga quyidagi buyruqni kiriting (dist katalogidan):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

NetBeans kutubxonalar bilan qanday ishlashini tushunish o'rgatadi. Loyihangiz uchun dist katalogida bo'lganingizda, katalog tarkibini ro'yxatga oling (ls buyrug'idan foydalaning) va siz lib pastki katalogini ko'rasiz. Ushbu katalog tarkibini sanab bering va siz mening misolimda pi4j-core.jar bo'lgan global kutubxonada aniqlangan jar faylini ko'rasiz. Loyihaga qo'shgan barcha kutubxonalar lib katalogida paydo bo'ladi va shuning uchun loyiha jar faylidagi barcha dasturlar uchun mavjud bo'ladi.

11 -qadam: Dam oling

Men Raspberry Pi uchun Java -ni juda samarali ishlab chiqish usulini tasvirlab berdim. Raspberry Pi - bu keng ko'lamli loyihalar uchun juda mashhur texnologiya. Java - bu professional darajadagi dasturlash tili bo'lib, u Pythonga nisbatan ishlash afzalliklarini va C/C ++ ga nisbatan xavfsizlik afzalliklarini taklif qiladi. NetBeans - bu professional darajadagi IDE bo'lib, u dasturchi unumdorligini sezilarli darajada oshiradi.

Menimcha, bu kombinatsiya juda jozibali. Endi o'z loyihalaringiz uchun kombinatsiyadan foydalanib, dam oling.

Tavsiya: