Mündəricat:

Raspberry Pi üçün Effektiv Java İnkişafı: 11 Addım (Şəkillərlə birlikdə)
Raspberry Pi üçün Effektiv Java İnkişafı: 11 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi üçün Effektiv Java İnkişafı: 11 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi üçün Effektiv Java İnkişafı: 11 Addım (Şəkillərlə birlikdə)
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, Iyul
Anonim

Bu Təlimat, Raspberry Pi üçün Java proqramlarının hazırlanması üçün çox səmərəli bir yanaşmanı təsvir edir. Aşağı səviyyəli cihaz dəstəyindən çox yivli və şəbəkə əsaslı proqramlara qədər Java bacarıqlarını inkişaf etdirmək üçün bu yanaşmanı istifadə etdim. Bu yanaşma yalnız səmərəli deyil, həm də pulsuzdur!

Əsasən, bu yanaşma NetBeans istifadə edərək uzaqdan inkişafdır. NetBeans, Wifi vasitəsilə Raspberry Pi ilə əlaqəli bir iş stansiyasında (Raspberry Pi deyil, masaüstü və ya dizüstü kompüter) çalışır. Hər şey düzgün qurulduqdan sonra NetBeans -da bir Java proqramı yaza bilərsiniz və sonra bir klik proqramı iş stansiyasında tərtib edir və qurur, proqramı Pi -yə yükləyir, proqramı Pi -də işləyir və çıxışı NetBeans konsoluna çatdırır.. Sehrli! Hətta işləyən proqramı düzəldə bilərsiniz, kəsilmə nöqtələrini təyin edə və dəyişən dəyərləri araşdıra bilərsiniz. Daha çox sehr!

Bu girişin qalan hissəsi Java -nı və NetBeans -ı istifadə edərək uzaqdan inkişaf etdirmə motivasiyasını təsvir edir. Motivasiya ilə maraqlanırsınızsa, oxuyun. Əgər maraqlanmırsınızsa, 1 -ci addıma keçin.

Niyə Java Raspberry Pi -də istifadə olunur?

Raspberry Pi üçün çoxlu proqramlaşdırma dilləri mövcuddur, amma müzakirəni müstəqil proqramları hədəf alan, çoxlu vəzifələri dəstəkləyən, aparat və şəbəkəyə daxil olmağa imkan verən "professional dərəcəli" proqramlaşdırma dilləri ilə məhdudlaşdıracağam. Bu Java, Python və ya C/C ++. Raspbian -ın ən son buraxılışlarına bütün bu dillər üçün inkişaf və işləmə dəstəyi daxildir.

Python, ən azı qismən yeni proqramçılar üçün öyrənmə asanlığı üçün Pi-də istifadə üçün "təşviq olunur". Təcrübəli bir proqramçıyam və bir sıra xüsusiyyətlərini, məsələn, dinamik yazmağı etiraf edən subyektiv bəyənməməsi səbəbindən Python -u sevmirəm. Python -un bəyənmədiyim obyektiv bir xüsusiyyəti var - performans. Bu mənbə göstərir ki, Java həmişə Python 3 -dən daha sürətlidir və əslində vəzifədən asılı olaraq yüz qat daha sürətli işləyə bilər.

Mənim fikrimcə, "yüksək səviyyəli maşın dili", yəni sistemin aparatına və ya ən azından əməliyyat sisteminə çox yaxın olan bir şeydir. Demək olar ki, hər şeyi edə bilərsiniz və bunu mümkün qədər tez edə bilərsiniz; Əslində, bu mənbə C -nin Java qədər 7X qədər sürətli işləyə biləcəyini göstərir. Mən də C -ni sevmirəm, çünki gizli, arxaik və ya hər ikisini tapdığım bəzi xüsusiyyətlərdən (subyektiv olaraq) xoşum gəlmir; məsələn, açıq göstəricilər. Obyektiv olaraq, hər şeyi edə biləcəyiniz, yaddaşın üstünə yazmaqdan və proqramı və ya hətta bütün sistemi çökdürməkdən uzaq olan yalnız qaranlıq bir səhv olduğunuzu göstərir (məsələn, pis göstərici aritmetikası və ya səhv yaddaşı). Java bu cür təhlükələrin qarşısını alır, buna görə də Java daha təhlükəsizdir. Təhlükəsizliyin proqramçı məhsuldarlığını da artırdığını hiss edirəm. Mən C ++ C-nin təhlükələrini aradan qaldırmaq üçün heç bir şey etməyən C ətrafında bir obyekt yönümlü "bükücü" hesab edirəm.

Nəticə: Java Python -dan daha sürətli. Java C -dən daha təhlükəsizdir.

Java istifadə edərkən məhdudiyyətlər varmı?

Bu vaxta qədər Pythonda edə biləcəyim hər şeyi Java -da edə bilmişəm. C -də Java -da edə bilməyəcəyim şeylər var, amma yenə də etmək istədiyim hər şey Pi cəmiyyətindəki Java pərəstişkarları tərəfindən həll edildi. Sonrakı mərhələdə bir nümunə verəcəyəm. Yəni, yalnız Pythonda (və ya Arduino üçün C/C ++) sensorlar üçün "sürücülər" təmin edən satıcılardan sensorlar aldım, buna görə Java ekvivalenti yazmalı oldum; Əlavə səy mütləq məhsuldar deyil, ancaq bir sensorun işini daha yaxşı başa düşməklə nəticələnə bilər.

Niyə NetBeans -a əsaslanan uzaqdan inkişaf?

Raspberry Pi üçün Java istifadə edərkən NetBeans əsaslı uzaqdan inkişafın məhsuldarlığı əhəmiyyətli dərəcədə artırdığını gördüm. Əminəm ki, "professional" vasitəsi ilə uzaqdan inkişaf etdirmə sayəsində Java -nın özünəməxsus xüsusiyyətlərinə görə sürətli və təhlükəsiz proqramlar yaratmaq üçün bu üsulu tapdığım digər yanaşmalardan daha sürətli yazarkən, qurarkən və ayıklayarkən istifadə edə biləcəyinizə əminəm. "NetBeans İnteqrasiya İnkişaf Mühiti (IDE).

Bu "digər yanaşmaları" qısaca müzakirə etmək faydalı ola bilər. Hamısı, Raspberry Pi -nin klaviatura, siçan və ya ekrana bağlı olmadığı əsas meyarlara cavab verir. Bu meyarların bir çox səbəbi var, amma əsas səbəbim mobil robotlar inkişaf etdirməyimdir və hətta inkişaf əsnasında Pi -nin robot alt sistemlərindən başqa heç bir ətraf qurğuya qoşulmasını istəmirəm.

Raspbian -a daxil olan VNC serveri, uzaqdan inkişaf etdirmə formasına imkan verən uzaq bir qrafik istifadəçi interfeysi (GUI) təmin edir, burada iş stansiyasında yalnız uzaq GUI -nin işlədiyi və digər hər şeyin yazılması, tərtib edilməsi və qurulması Pi üzərində baş verir. VNC ilə BlueJ, Geany və Greenfoot kimi Raspbian dilində göndərilən Java qabiliyyətli inkişaf vasitələrindən istifadə etmək asandır. Bunlardan bəziləri IDE hesab edilə bilər; lakin, mən onları peşəkar səviyyədən çox uzaqda görürəm.

Raspberry Pi üzərində Eclipse və ya NetBeans kimi peşəkar dərəcəli Java IDE qurmaq və VNC vasitəsi ilə uzaqdan istifadə etmək texniki cəhətdən mümkündür. Hesabatlar və sağlam düşüncə, bu cür IDE -lərin tələb etdiyi böyük yaddaş izi və CPU gücü və uzaq bir GUI tərəfindən təqdim olunan şəbəkə gecikməsi səbəbindən nəticələrin məyus olacağını göstərir.

Həm Eclipse, həm də NetBeans bir iş stansiyasında çox yaxşı işləyir. Eclipse ilə kod yazmaq xoş bir təcrübədir, ancaq proqramı qurmaq belə deyil; proqramı yükləmək Eclipse xaricində olmalıdır; proqramı Pi üzərində icra etmək Eclipse -dən tamamilə asılıdır. Ümumi nəticə, uzaqdan ayıklamayı dəstəkləyə bilməyən çox addımlı, demək olar ki, ağrılı bir prosesdir. NetBeans, kompilyasiya, qurma, yükləmə, uzaqdan icra və uzaqdan debug etməyi üstün bir yanaşma halına gətirir.

Addım 1: Raspberry Pi qurun

Uzaqdan inkişaf yanaşmasını istifadə etmək üçün hədəf Raspberry Pi qurmaqla başlamalısınız. Bir Raspberry Pi qurmağa kömək etmək üçün Instructables daxil olmaqla bir çox resurs var. Pi (və daha çox) qurmağın əsasları üçün buna baxın.

Bu Təlimat sizə güman edir

  • ən son Raspbian -ı quraşdırın; Pi istifadəçi ID və parolunu yazdığınızdan əmin olun
  • Wifi qurun və yönlendiricinizə qoşulun (bax); Pi -nin IP ünvanını yazdığınızdan əmin olun
  • iş stansiyasından Pi -yə uzaqdan girişə icazə vermək üçün SSH -ni aktivləşdirin (bax)

Quraşdırmanı bitirdikdən sonra ekranı, klaviaturanı və siçanı Pi -dən ayırıb ayıra bilərsiniz. Bu uzaqdan inkişafın əsas üstünlüklərindən biridir. İstənilən Wi -Fi kilidini bağlı qoymalısınız (əlbəttə ki, Pi modeli 3 və ya Pi Zero W üçün lazım deyil) və sonra Pi -ni işə sala bilərsiniz.

Test etmək üçün iş stansiyanızda bir ssh müştəri açın, məsələn, MacOS -da Terminal və ya Windows -da macun. Sonra aşağıdakı formada ssh (təhlükəsiz qabıq) əmrini daxil edin:

ssh the_pi_ip_address -l the_pi_user_id

Pi istifadəçi identifikatorunuzun şifrəsini daxil etməyinizi istəməlisiniz. İstək görünmürsə, ssh əmrində düzgün IP ünvanını daxil etdiyinizə əmin olun. Şifrənizi daxil edin (gizlədiləcək) və sonra belə bir şey görünən Pi qabığı istəməsini görməlisiniz:

pi@moruq: ~ $

İstəyi görmürsənsə, istifadə etdiyin istifadəçi kimliyini və şifrəni yoxla.

İndi Java iş vaxtına gedən yolu tapmalısınız və standart versiyanın Java 8 olduğunu təsdiqləməlisiniz (ən son Raspbian üçün doğru olmalıdır). Java iş vaxtı yolunu tapmaq üçün ssh müştəri əmrini daxil edin

sudo update-alternatives-javanı göstərin

Aşağıdakı kimi görünən ilk iki sətirdən ibarət bir cavab görməlisiniz:

java - avtomatik rejim

link ən yaxşı versiya/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

İkinci sətirdəki "-8-", standart işləmə müddətinin Java 8 olduğunu təsdiqləyir. NetBeans-ı sonrakı mərhələdə uzaqdan inkişaf etdirmək üçün konfiqurasiya etmək üçün lazım olacağı üçün yolu ikinci sətirdə qeyd edin.

Varsayılan iş vaxtı Java 8 deyilsə, ssh müştərisində Java 8 -ə keçmək üçün aşağıdakı əmri daxil edin (quraşdırıldığını güman etməklə)

sudo update-alternatives-config java

Addım 2: İş İstasyonuna NetBeans quraşdırın

İndi iş stansiyanızda NetBeans quraşdırmalısınız. İş stansiyası brauzerinizi NetBeans yükləmə səhifəsinə yönəldin. Java -nın iki nəşrini və digər dilləri dəstəkləyən bir neçə mümkün dəstə görəcəksiniz. Raspberry Pi üçün Java inkişafı üçün lazım olan hər şey Java SE -dir, ancaq Java EE paketini və ya Hamısını ala bilərsiniz. Hansı paketi istədiyinizə qərar verdikdən sonra müvafiq Yükləmə düyməsini basın. İş stansiyası OS üçün əlavə quraşdırma təlimatlarını burada tapa bilərsiniz.

NetBeans qurduqdan sonra işə salın (quraşdırıldıqdan sonra bunu avtomatik olaraq edə bilər). Şəkildə göstərildiyi kimi NetBeans əsas pəncərəsini görməlisiniz. Şəkil Mac -da çəkilib və əsas pəncərə Windows -da bir az fərqli görünə bilər.

NetBeans -ı uğurla qurduqdan və başladıqdan sonra növbəti addıma keçin.

Addım 3: Raspberry Pi -ni NetBeans -da Uzaqdan Bir Platforma olaraq konfiqurasiya edin

Raspberry Pi -ni NetBeans -da Uzaqdan Bir Platforma olaraq konfiqurasiya edin
Raspberry Pi -ni NetBeans -da Uzaqdan Bir Platforma olaraq konfiqurasiya edin

Aşağıdakı hərəkətlər Raspberry Pi -ni NetBeans üçün uzaq bir Java SE platforması olaraq konfiqurasiya edir. Bu, NetBeans -a Java proqramlarını Pi -də yükləməyə və icra etməyə imkan verir. Bir qədər ümumi təsviri burada tapa bilərsiniz.

Qeyd: Bu və sonrakı addımlarda, konfiqurasiya və kodlaşdırmanın müxtəlif aspektləri üçün ətraf mühitə xas olan dəyərləri göstərirəm; səninki fərqli olacaq.

Pi -ni uzaq bir platforma olaraq konfiqurasiya etmək üçün:

  1. NetBeans əsas menyu çubuğunda Alətlər -> Java Platformaları seçin. Java Platform Manager açılır pəncərəsini görəcəksiniz (şəkil 1).
  2. Sol altdakı Platforma Əlavə et düyməsini basın. Java Platforması əlavə et [platform növü] açılır pəncərəsini görəcəksiniz (şəkil iki).
  3. Uzaq Java Standart Edition seçin. Sonrakı düyməsini basın. Java Platforması Əlavə et [uzaq platforma qurma] açılır pəncərəsini görəcəksiniz (sahə ətrafım üçün uyğun dəyərləri daxil etdikdən sonra şəkil 3 açılır pəncərəni göstərir).
  4. Platform Adı sahəsinə Pi üçün bir ad daxil edin. Çox şey istifadə edə bilərsiniz, ancaq unikal olmalıdır.
  5. Host sahəsinə 1 -ci addımda tapılan Pi üçün IP ünvanını daxil edin.
  6. İstifadəçi adı sahəsinə 1 -ci addımda istifadə etdiyiniz istifadəçi adını daxil edin.
  7. Şifrə Doğrulamasından İstifadə et seçin və Şifrə sahəsinə 1 -ci addımda yaratdığınız şifrəni daxil edin.
  8. Uzaqdakı JRE Yolu sahəsində, Pi üzərindəki Java iş vaxtına gedən yolun çox hissəsini daxil etməlisiniz. 1-ci addımda/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java idi. Ancaq sahə dəyərində /bin /java yazmalısınız.
  9. NetBeans, işləyə bilən proqramı İş Direktində müəyyən edilmiş Pi üzərində işləyən bir kataloqa yükləyir. Varsayılan/the_Pi_user_ID/NetBeansProjects/və tamamilə məqbuldur. İstəsəniz fərqli bir şey istifadə edə bilərsiniz, baxmayaraq ki, the_Pi_user_ID (şəkil üç) üçün mövcud olmalıdır.
  10. Açılan pəncərənin sağ altındakı Finish düyməsini basın. İşləndikdən sonra bir daha Java Platform Manager açılır pəncərəsini görməlisiniz. İndi Uzaq Java SE (şəkil dörd) kateqoriyasında uzaqdakı Pi (yuxarıdakı 4 -cü əməliyyatda istifadə etdiyiniz adın altında) görməlisiniz.
  11. NetBeans ilə Pi arasındakı əlaqəni yoxlamaq üçün sol altdakı Test Platformasına vurun. Əvvəlcə Uzaq Platformanı Doğrulama deyərək bir popup görəcəksiniz. Uğurlu olsanız, Bağlantının uğurla qurulduğunu göstərən ikinci bir popup alacaqsınız. Yoxdursa, yuxarıdakı 5-9 hərəkətlərində Java Platforması Əlavə et [uzaq platforma qurma] açılan pəncərəsinə daxil etdiyiniz məlumatları yoxlamalı və düzəltməlisiniz. Bunu Java Platform Manager açılır pəncərəsindən edə bilərsiniz; sadəcə Pi platformanızı seçin və sonra açılan pəncərənin sağ tərəfindəki sahələri redaktə edin.
  12. Uğurlu bir əlaqə qurduqdan sonra Java Platform Manager açılır pəncərəsində Bağla düyməsini basın. İndi NetBeans əsas pəncərəsini görəcəksiniz.

İndi əsl əyləncə başlaya bilər!

Addım 4: İş İstasyonunda Java Layihəsi yaradın

Bu, NetBeans və ya Java -dan necə istifadə olunacağına dair tam bir açıqlama məqsədi daşımır, amma iş stansiyasında NetBeans -da bir proqram yazmaq və nəticədə proqramı Raspberry Pi -də uzaqdan idarə etmək üçün minimal hərəkətləri təsvir edəcəyəm.

NetBeans -da əvvəlcə proqram üçün Java siniflərini saxlamaq üçün bir layihə yaratmalısınız. Bundan əlavə, Java -da dərslər təşkilatı və təhlükəsizliyi dəstəkləmək üçün paketlərdə olur. Layihə yaratmaq və isteğe bağlı olaraq bir paket və sinif faylı yaratmaq üçün:

  1. NetBeans əsas pəncərəsində yeni layihə simgesini vurun (soldan 2 -ci). Yeni Layihə [layihə seçin] açılır pəncərəsini görəcəksiniz (şəkil 1).
  2. Varsayılanlar (Kateqoriya: Java, Layihə: Java Tətbiqi) bu nümunə üçün doğrudur, buna görə sadəcə Next düyməsini basın. Yeni Java Tətbiqi [adı və yeri] açılır pəncərəsini görəcəksiniz (şəkil iki nümunəm üçün dəyərləri göstərir). Qeyd: İstifadəçi məlumatlarımı rəngli düzbucaqlılardan istifadə edərək redaktə etdim.
  3. Layihə Adı sahəsinə, seçdiyiniz etibarlı bir Java layihə adı daxil edin. Ad böyük hərflə başlamalıdır və konvensiya sözləri birləşdirərkən dəvə qutusu təklif edir.
  4. Layihənin fayl sistemində layihənin harada yerləşdiyini Layihə Yeri sahəsi nəzarət edir. Varsayılan əməliyyat sistemindən asılı olaraq dəyişir, lakin qəbul etmək təhlükəsizdir.
  5. Layihə Qovluğu sahəsi, layihə üçün qovluq adını idarə etməyə imkan verir. Məkan və Ad sahəsinin birləşməsi olan varsayılanı istifadə etməyi ən yaxşı hesab edirəm.
  6. Ana Sınıf Yarat onay qutusu seçildikdə, NetBeans avtomatik olaraq layihə ilə eyni adda bir paket və əsas sinif faylı (əmr satırından işlədilə bilən bir proqram) yaradır. Düşünürəm ki, ümumiyyətlə yoxlanılmamalıdır, amma bu vəziyyətdə, başqa cür etmək üçün lazım olan açıq hərəkətləri aradan qaldıran yoxladım (şəkil iki).
  7. Layihə, paket və əsas sinif faylı yaratmaq üçün Bitir düyməsini basın. İndi NetBeans əsas pəncərəsinin sol üst bölməsi, bir paketdən ibarət olan, öz növbəsində main () metodu olan bir sinif faylını ehtiva edən layihənizi göstərir. Sağ üst bölmədə, NetBeans tərəfindən avtomatik olaraq yaradılan əsas sinif (proqram) üçün standart mənbə kodu var (şəkil üç).

Bu nöqtədə, əsas metodda bir kod yaza və iş stansiyasında işlədə bilərsiniz. Bəzən bu arzu oluna bilər, amma bu Təlimat üçün lazımsızdır, buna görə növbəti addıma keçin.

Addım 5: Raspberry Pi üzərində Uzaqdan Çalışmaq üçün NetBeans Layihəsini konfiqurasiya edin

NetBeans layihəsini və ehtiva etdiyi bir proqramı konfiqurasiya etmək üçün Raspberry Pi üzərində uzaqdan çalışmaq üçün aşağıdakıları edin:

  1. NetBeans əsas pəncərəsinin Layihələr bölməsindəki layihədə sağ və ya 2 barmaqla (iş stansiyası OS-dən asılı olaraq) klikləyin və layihə menyusunu açın və Xüsusiyyətlər düyməsini basın. Layihə Xüsusiyyətləri açılır pəncərəsini görəcəksiniz (şəkil nümunəm üçün uyğun dəyərləri olan popupu göstərir).
  2. Soldakı Kateqoriyalar altında Çalıştır seçin.
  3. Konfiqurasiya sahəsinin sağındakı Yeni düyməsini basın. Yaranan Yeni Konfiqurasiya Yarat açılan pəncərəsində konfiqurasiya üçün bir ad daxil edin və OK düyməsini basın. Adı hər şey ola bilər; Platformanın adını yenidən istifadə etdim ("Mənim Pi"). Bir daha Project Properties açılır pəncərəsini görəcəksiniz.
  4. Çalışma Zamanı Platforması sahəsinin sağındakı açılan işarəni vurun. Açılan siyahıdan əvvəllər yaratdığınız uzaq platformanı seçin (mənim mühitimdə "Mənim Pi").
  5. Layihə üçün uzaq platforma qurmaq üçün OK düyməsini basın. Bir daha əsas pəncərəni görəcəksiniz.

Kod yazmağa və proqramı uzaqdan idarə etməyə hazırsınız.

Addım 6: İş İstasyonunda bir Java Proqramı yazın və Raspberry Pi üzərində işləyin

NetBeans əsas pəncərəsindəki sağ panel, NetBeans tərəfindən yaradılan əsas sinif faylını göstərir. Sınıf faylının əsas üsuluna sadə bir çap ifadəsi yazın (şəkil 1). İndi çox sadə bir şey olsa da, bir şey edən tam bir Java proqramıdır.

Proqramı Pi-də işə salmaq üçün əsas pəncərədə Çalış simgesini (sola işarə edən yaşıl ox) basın. NetBeans kodu tərtib edir, bir jar faylı qurur, jar faylını uzaq platformanın müəyyən etdiyi Raspberry Pi -yə yükləyir, proqramı Pi üzərində icra edir, proqramın çıxışını (System.out) ələ keçirir və bu çıxışı NetBeans -a əks etdirir. Əsas pəncərənin sağ alt hissəsindəki çıxış bölməsi (şəkil iki).

İndi Raspberry Pi üzərində layihələr hazırlamaq üçün bacarıq dəstinizi əhəmiyyətli dərəcədə genişləndirdiniz! Amma gözləyin …. Daha çox var!

Addım 7: Java Proqramını NetBeans ilə düzəldin

NetBeans kimi bir sənaye gücünün İnteqrasiya edilmiş İnkişaf Mühitinin ən güclü xüsusiyyətlərindən biri, işləyərkən proqramı ayıklama qabiliyyətidir. NetBeans, uzaqdan işləyərkən tam ayıklama vasitələrindən istifadə etməyə imkan verir. Bura proqramdakı "vacib" və ya "çətin" yerlərdə kəsilmə nöqtələrinin təyin edilməsi və cari icra vəziyyətində dəyişənlərin dəyərinin araşdırılması daxildir.

Son addımdakı sadə proqram, hata ayıklamasını göstərmək üçün çox sadədir, buna görə proqrama bir neçə əlavə kod əlavə etdim. Əlavə kod iki dəyişən əlavə edir.

Ayıklama vasitələrindən istifadə etmək üçün əvvəlcə bir və ya daha çox nöqtəni təyin etməlisiniz. Bir kəsilmə nöqtəsi təyin etmək üçün icra etməyi dayandırmaq istədiyiniz xətt nömrəsini vurun; qırmızı düzbucaqlı bir simge görünür və bütün xətt qırmızı bir fon əldə edir (şəkil bir).

Pi üzərində işləyən proqramı düzəltmək üçün NetBeans əsas pəncərəsindəki Debug simgesini (dərhal Çalış simgesinin sağında) basın. Normal icrada olduğu kimi, NetBeans tərtib edir, qurur, yükləyir, icra edir, çıxışı tutur və bu çıxışı əks etdirir. Ancaq ayıklama ilə NetBeans, kəsmə nöqtələrində icra etməyi dayandırır və icra vəziyyətini araşdırmağa imkan verir (sağ altdakı Dəyişənlər bölməsini göstərən ikinci şəkil).

İcra, kəsmə nöqtəsi olan xətdəki təlimatı yerinə yetirməzdən əvvəl dayanma nöqtəsində dayanır. Yaşıl fon, icra ediləcək növbəti ifadəni göstərir. Beləliklə, mənim nümunəmdə, 9 -cu sətirdə bir kəsmə nöqtəsi ilə, a dəyişən hələ mövcud deyil, daha az dəyəri var.

İndi imleci əsas pəncərədəki ayıklama menyu simgesinin üzərinə gətirin (Debug simvolunun sağındakı ilk ikiqat ox işarəsi) və üzərinə keçin simgesini vurun (arxa planında mavi bir sənəd və saatın əksinə yaşıl bir ox var) ön planda). [DİQQƏT: NetBeans -ı əsas pəncərənizi kifayət qədər geniş etsəniz, debug menyu genişlənir və Debug simvolunun sağında hata ayıklama hərəkəti nişanları görünür.] NetBeans ifadəni kəsmə nöqtəsində icra edir və növbəti ifadədən əvvəl icraatı dayandırır. İndi bir dəyişənin mövcud olduğunu və gözlənilən dəyərə sahib olduğunu görəcəksiniz (şəkil üç).

Üzərinə keçmək simgesini iki dəfə vurun. Hər üç dəyişənin dəyərlərə malik olduğunu görəcəksiniz; c -nin hələ sıfır olduğunu unutmayın (şəkil dörd).

Üzərinə keçmək simgesini bir dəfə vurun. C dəyişəninin uyğun dəyərə, yəni a və b dəyişənlərinin cəminə sahib olduğunu görəcəksiniz (şəkil beş).

Nəhayət, ayıklama menyusunda Çalış simgesini (ağ oxlu yaşıl bir dairə) basın. Bu, icranın növbəti kəsmə nöqtəsinə və ya proqramın sonuna qədər davam etməsinə səbəb olur. İndi Çıxış bölməsi görünür və normal icra ilə eyni çıxışı göstərir, bu halda çap ifadəsindəki mətn.

Addım 8: Proqramı NetBeansdan asılı olmayaraq icra edin

NetBeans -ın "köməyi" və ya "müdaxiləsi" olmadan Raspberry Pi -də proqramınızı icra etmək istədiyiniz vaxt gələ bilər. Çox sadədir. Əvvəlcə Pi -yə bir ssh müştəri açın.

3 -cü addımdan unutmayın ki, NetBeans layihə qabınızı Pi üzərində işləyən bir kataloqa yerləşdirir. Varsayılan baz istifadəçi pi üçün/home/pi/NetBeansProjects -dir. Xüsusi kataloq, layihənizlə eyni ada malikdir. NetBeans, kavanozu dist adlı bir alt qovluğa yerləşdirir. Mənim nümunəm üçün tam yol/home/pi/NetBeansProjects/MyRemoteProg/dist. Pi üzərindəki ssh müştərisində, proqramı yerinə yetirmək üçün 'jar' seçimi ilə java əmrindən istifadə edə bilərsiniz:

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

Ssh müştərisində icra nəticələrini görəcəksiniz; mənim nümunəmdə çıxış olacaq

Raspberry Pi -dən salam!

Bu, jar faylındakı məlumatlar, bankanın hansı əsas sinifinin icra olunacağını müəyyən etdiyi üçün işləyir.

İş qovluğunu (cd vasitəsi ilə) jar faylının yerinə dəyişə və eyni nəticələr çıxarmaq üçün daha qısa bir əmr verə bilərsiniz.

java -jar MyRemoteProg.jar

Addım 9: Proqramı qurun və yükləyin, ancaq NetBeans vasitəsi ilə icra etməyin

NetBeans -ın proqramınızı qurmasını və yükləməsini istədiyiniz hallar var, amma icra etməyəcəksiniz. Proqramınızın klaviatura girişinə ehtiyacı olduqda belə bir vəziyyət yaranır. Əgər belədirsə, əvvəlki addımdakı texnikadan istifadə edərək, qurub yüklədikdən sonra proqram Raspberry Pi üzərində işləyir və Pi -dən klaviatura girişi gözləyir, amma əlbəttə ki, Pi -yə əlavə edilmiş heç bir klaviatura yoxdur, buna görə də proqram dayanır - yaxşı deyil.

Proqramı yerinə yetirmək üçün bir az fərqli texnikadan istifadə etməlisiniz. Əsasən, heç bir şey etməyən bir "kukla" əsas sinif faylı yaradırsınız və yükləndikdən sonra icra ediləcək proqram olaraq təyin edirsiniz. Bu vəziyyətdə "kukla" icra olunur və sonra "həqiqi" proqramınızı birbaşa Pi üzərində işlədə bilərsiniz.

Bu texnikadan istifadə etmək üçün əvvəlcə yeni bir əsas sinif yaradın:

  1. Layihə menyusunu 5-ci addımda olduğu kimi gətirin və New-> Java Main Class düyməsini basın. Yeni Java Ana Sınıfı açılır pəncərəsini görəcəksiniz.
  2. Sinif Adı sahəsinə bir ad daxil edin. Adı istədiyiniz hər şey ola bilər; "Dummy" istifadə etdim. Paket sahəsi, sinif paketini müəyyən etməyə imkan verir; sahənin sağındakı açılan menyudan istifadə edərək paketi seçin. Sinif "real" proqramınızla eyni paketdə və ya fərqli bir paketdə ola bilər; Yeni sinfi eyni paketə qoydum. Bitir düyməsini basın. İndi sağ üst paneldə yeni bir fayl olan NetBeans əsas pəncərəsini görəcəksiniz (bir şəkil). Pi üzərində çalışmaqla bağlı sadə bir çap ifadəsi əlavə etdim, amma əslində heç bir şeyə ehtiyac yoxdur.

Yüklədikdən sonra "Dummy" ni işə salmaq üçün layihə üçün "standart olaraq icra ediləcək əsas sinif" etməlisiniz:

  1. Layihə Xüsusiyyətlərini 5 -ci addımda olduğu kimi açın. Çalıştır kateqoriyasını seçin. Main Class sahəsinin sağındakı Browse düyməsini basın. Əsas Sınıflara Gözat açılır pəncərəsini görəcəksiniz (şəkil iki).
  2. "Dummy" sinifini seçin. Əsas Sınıfı seçin. Bir daha Layihə Xüsusiyyətlərini görəcəksiniz.
  3. OK düyməsini basın. Əsas pəncərəyə qayıdacaqsınız.

İndi Çalış simgesini tıkladığınızda, NetBeans bütün layihəni yerinə yetirir/qurur, bütün sinif fayllarını ehtiva edən bankanı Pi -yə yükləyir və "Dummy" sinifini icra edir (şəkil üç).

Həqiqi proqramınızı Pi -də yerinə yetirmək üçün indi java əmrini 'classpath' seçimi ilə istifadə etməlisiniz ki, bu da yerinə yetirmək üçün əsas sinfi açıq şəkildə təyin etməyinizi tələb edir. Bir ssh müştərisindən layihəniz üçün dist qovluğuna gedin. Düzgün əmr aşağıdakı formadadır:

java -cp project_name.jar package_name.class_name

Project_name açıq şəkildə layihəyə aiddir; yalnız yeni bir layihə ilə məşğul olduqda dəyişir. Əlbəttə ki, package_name paketi, class_name isə icra etmək üçün əsas sinfə aiddir. Daha əvvəl dediyimiz kimi, bir layihə bir çox paketdən ibarət ola bilər. Eynilə, bir paket bir çox sinifdən ibarət ola bilər və hamısı əmr satırından icra oluna bilən əsas siniflər və ya proqramlar ola bilər. Beləliklə, 'classpath' texnikası, bir çoxları yalnız vahid testlərinə kömək etmək üçün əsas siniflər olan inkişaf etmiş proqramlar hazırlamaq üçün olduqca faydalıdır.

Aşağıdakı əmr nümunə proqramımı icra edir:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

Addım 10: NetBeans Kitabxana İdarəçiliyindən istifadə edin

Mürəkkəb proqramların ən çətin, lakin ən vacib cəhətlərindən biri kitabxanalarla, yəni başqasının yazdığı kodla işləməkdir. NetBeans, kitabxana idarəçiliyinin ən ağrısını aradan qaldırmaq üçün təqdirəlayiq bir iş görür.

Java proqramlarına Raspberry Pi GPIO, I2C avtobusu və digər aparat giriş/çıxışına giriş imkanı verən Pi4J nümunəsi olaraq istifadə edəcəyəm. Pi4J, Java ilə Pi -də çox əyləncəli işlər görməyin bir nümunəsidir.

Əvvəlcə kitabxananı iş stansiyanıza yükləməlisiniz. Pi4J yükləmə səhifəsinə baxın. Pi4J -ni Pi -yə quraşdırmadığınız üçün zipi iş stansiyanıza yükləyin. Zip yükləndikdən sonra açıq şəkildə açmaq lazım ola bilər və ya olmaya bilər.

İndi NetBeans -da "qlobal kitabxana" yaratmalısınız:

  1. NetBeans əsas menyusunda Alətlər -> Kitabxanalar vurun. Ant Kitabxana Meneceri açılır pəncərəsini görəcəksiniz (şəkil 1).
  2. Sol altdakı Yeni Kitabxana düyməsini basın. Yeni Kitabxana açılır pəncərəsini görəcəksiniz (şəkil iki).
  3. İstifadə etmək istədiyiniz mənalı bir ad yazın və OK düyməsini basın. Bir dəfə Ant Kitabxana Meneceri açılır pəncərəsini görəcəksiniz. İndi yaratdığınız yeni kitabxananı göstərir (şəkil üç).
  4. Sağdakı JAR/Qovluq əlavə et düyməsini basın. JAR/Qovluğa Gözat açılır pəncərəsini görəcəksiniz (şəkil dörd).
  5. Gedin və sonra pi4j-core.jar seçin. Sonra JAR/Qovluq əlavə et düyməsini basın. Ant Kitabxana Meneceri açılır pəncərəsinə qayıdacaqsınız.
  6. Ant Library Manager menyu açılır pəncərəsində OK düyməsini basın. NetBeans əsas pəncərəsinə qayıdacaqsınız.

Kitabxananı hər hansı bir layihədə istifadə etmək üçün əlavə etdiniz. İndi kitabxananı layihənizə əlavə etməlisiniz:

  1. Layihə Xüsusiyyətləri açılır pəncərəsini açın (5 -ci addıma baxın) və Kitabxanalar kateqoriyasını seçin (şəkil beş).
  2. Açılan pəncərənin sağ tərəfində Kitabxana Əlavə et vurun. Kitabxana əlavə et açılır pəncərəsini görəcəksiniz (şəkil altı).
  3. Kitabxanaya gedin və seçin. Sonra Kitabxana Əlavə et vurun. Yenidən Layihə Xüsusiyyətləri açılır pəncərəsini görəcəksiniz. Kitabxana indi açılan pəncərədə Kompilyasiya vaxtı kitabxanaları siyahısında görünür.
  4. Layihə Xüsusiyyətləri açılan pəncərəsində OK düyməsini basın. Əsas pəncərəyə qayıdacaqsınız.

Proqramınızdan istifadə edə bilməsi üçün kitabxananı layihənizə əlavə etdiniz. Bir proqram üçün lazım olan hər hansı bir kitabxana üçün eyni hərəkət ardıcıllığını edə bilərsiniz.

Kitabxanaya üç dəfə ehtiyacınız var - tərtib etmək, qurmaq və icra etmək. Xoşbəxtlikdən, NetBeans ilə yuxarıda göstərildiyi kimi kitabxananı əlavə etmək hamısını idarə edir. Bunu təsdiq etmək üçün Pi4J -də I2C qabiliyyətindən istifadə etmək üçün mütləq minimumu yerinə yetirən başqa bir əsas sinif yaratdım (şəkil yeddi). Göstərilən səhvlərin olmaması, TestPi4J sinifinin tərtib edildiyini bildirir. "Çalış" düyməsini basaraq uğurla qurur və yükləyir; NetBeans, jar faylına əlavə olaraq kitabxananı da yükləyir, buna görə də proqram icra olunacaq. İkincisini yoxlamaq üçün 9 -cu addımdakı texnikadan istifadə edə bilərsiniz və ssh müştərisinə aşağıdakı əmri daxil edin (dist qovluğundan):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

NetBeans -ın kitabxanaları necə idarə etdiyini başa düşmək ibrətamizdir. Layihəniz üçün dist qovluğunda olarkən, kataloqun məzmununu sadalayın (ls əmrindən istifadə edin) və bir lib alt kataloqu görəcəksiniz. Həmin kataloqun məzmununu sadalayın və misalımda pi4j-core.jar olan qlobal kitabxanada müəyyən edilmiş jar faylını görəcəksiniz. Layihəyə əlavə etdiyiniz bütün kitabxanalar lib qovluğunda görünəcək və buna görə də layihə jar faylındakı bütün proqramlar üçün əlçatandır.

Addım 11: Əylən

Raspberry Pi üçün çox səmərəli Java inkişafına nail olmaq üçün bir yanaşma təsvir etdim. Raspberry Pi, geniş spektrli layihələr üçün olduqca populyar bir texnologiyadır. Java, Python üzərində performans üstünlükləri təqdim edən və C/C ++ ilə müqayisədə təhlükəsizlik üstünlükləri təqdim edən peşəkar bir proqramlaşdırma dilidir. NetBeans, proqramçı məhsuldarlığını əhəmiyyətli dərəcədə artıran peşəkar bir IDE -dir.

Düşünürəm ki, birləşmə olduqca cəlbedicidir. İndi gedin layihələriniz üçün birləşməni istifadə edərək əylənin.

Tövsiyə: