Kazalo:

Učinkovit razvoj Java za Raspberry Pi: 11 korakov (s slikami)
Učinkovit razvoj Java za Raspberry Pi: 11 korakov (s slikami)

Video: Učinkovit razvoj Java za Raspberry Pi: 11 korakov (s slikami)

Video: Učinkovit razvoj Java za Raspberry Pi: 11 korakov (s slikami)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Julij
Anonim

Ta Instructable opisuje zelo učinkovit pristop za razvoj programov Java za Raspberry Pi. Pristop sem uporabil za razvoj zmogljivosti Jave, od podpore za nizko raven naprav do večnitnih in omrežnih programov. Pristop ni samo učinkovit, je tudi brezplačen!

V osnovi je pristop oddaljeni razvoj z uporabo NetBeans. NetBeans deluje na delovni postaji (namizni ali prenosni računalnik, ne Raspberry Pi), ki je prek Wi -Fi -ja povezana z Raspberry Pi. Ko je vse pravilno nastavljeno, lahko v NetBeans napišete program Java, nato pa z enim klikom sestavite in zgradite program na delovni postaji, ga naložite v Pi, program zaženete na Pi in dostavite izhod na konzolo NetBeans. Magija! Lahko celo odpravite napake v delujočem programu, nastavite prelomne točke in preučite vrednosti spremenljivk. Več čarovnije!

Preostanek tega uvoda opisuje motivacijo za uporabo Jave in daljinski razvoj z uporabo NetBeans. Če vas zanima motivacija, preberite dalje. Če vam ni vseeno, pojdite na korak 1.

Zakaj uporabljati Java na Raspberry Pi?

Za Raspberry Pi je na voljo veliko programskih jezikov, vendar bom razpravo omejil na programske jezike "profesionalnega razreda", ki ciljajo na samostojne programe, podpirajo večopravilnost, omogočajo dostop do strojne opreme in omrežja itd. To pomeni Javo, Python ali C/C ++. Najnovejše izdaje Raspbiana vključujejo razvoj in podporo za vse te jezike.

Python se dejansko "promovira" za uporabo v Pi, vsaj deloma zaradi enostavnosti učenja za nove programerje. Sem izkušen programer in Pythona ne maram zaradi očitno subjektivnega sovraštva do številnih njegovih lastnosti, na primer dinamičnega tipkanja. Obstaja ena značilnost Pythona, za katero je moja nenaklonjenost objektivna - zmogljivost. Ta vir kaže, da je Java vedno hitrejša od Pythona 3 in lahko dejansko teče več stokrat hitreje, odvisno od naloge.

C je po mojem mnenju "strojni jezik na visoki ravni", torej nekaj, kar je zelo blizu strojni opremi sistema ali vsaj operacijskemu sistemu. Lahko naredite skoraj vse in to lahko storite kar se da hitro; pravzaprav ta vir nakazuje, da lahko C deluje do 7X tako hitro kot Java. Tudi C mi ni všeč, ker (subjektivno) ne maram nekaterih njegovih značilnosti, ki se mi zdijo skrivnostne, arhaične ali oboje; na primer izrecni kazalci. Objektivno dejstvo, da lahko storite karkoli, pomeni, da ste le nejasna napaka (npr. Aritmetika slabega kazalca ali napačna memcpy), ki je oddaljena od prepisovanja pomnilnika in morebitnega sesutja programa ali celo celotnega sistema. Java preprečuje takšne nevarnosti, zato je Java varnejša. Menim, da varnost izboljša tudi produktivnost programerja. Menim, da je C ++ objektno usmerjen "ovoj" okoli C, ki nič ne odpravi nevarnosti C.

Bistvo: Java je hitrejša od Pythona. Java je varnejša od C.

Ali obstajajo omejitve pri uporabi Jave?

Doslej sem v Javi lahko naredil vse, kar lahko storim v Pythonu. V C -ju lahko počnemo stvari, ki jih v Javi ne moremo storiti, a spet so vse, kar sem želel narediti, obravnavali ljubitelji Jave v skupnosti Pi. V naslednjem koraku bom ponudil primer. Kljub temu sem kupil senzorje od prodajalcev, ki so dobavili "gonilnike" za senzorje samo v Pythonu (ali C/C ++ za Arduino), zato sem moral napisati ekvivalent Java; dodatni napor ni nujno produktiven, lahko pa povzroči boljši vpogled v delovanje senzorja.

Zakaj razvoj na daljavo, ki temelji na NetBeans?

Ugotovil sem, da oddaljeni razvoj, ki temelji na NetBeansu, močno poveča produktivnost pri uporabi Jave za Raspberry Pi. Prepričan sem, da lahko pristop uporabite za ustvarjanje hitrih in varnih programov zaradi lastnih značilnosti Jave, medtem ko jih pišete, gradite in odpravljate napake veliko hitreje kot drugi pristopi, ki sem jih odkril, zaradi oddaljenega razvoja z uporabo "strokovne" razred "NetBeans integrirano razvojno okolje (IDE).

Morda bi bilo koristno na kratko razpravljati o teh "drugih pristopih". Vsi izpolnjujejo osnovna merila, da Raspberry Pi nima priključene tipkovnice, miške ali zaslona. Razlogov za to merilo je veliko, vendar je moj primarni razlog to, da razvijam mobilne robote in ne želim, da bi bil Pi med razvojem povezan z drugimi zunanjimi napravami, razen z robotskimi podsistemi.

Strežnik VNC, vključen v Raspbian, ponuja oddaljeni grafični uporabniški vmesnik (GUI), ki omogoča obliko oddaljenega razvoja, kjer samo oddaljeni grafični vmesnik deluje na delovni postaji, vse ostalo, pisanje, sestavljanje in sestavljanje pa poteka na Pi. Z VNC je enostavno uporabljati razvojna orodja, ki podpirajo Javo in so na voljo v Raspbianu, kot so BlueJ, Geany in Greenfoot. Nekatere od teh lahko štejemo za IDE; vendar se mi zdijo daleč od poklicne ocene.

Tehnično je mogoče na Raspberry Pi namestiti profesionalni Java IDE, kot sta Eclipse ali NetBeans, in ga uporabljati na daljavo prek VNC. Poročila in zdrava pamet nakazujejo, da bi bili rezultati razočarani zaradi velikega pomnilniškega prostora in zmogljivosti procesorja, ki jih takšni IDE potrebujejo, ter zakasnitve omrežja, ki ga uvaja oddaljeni grafični vmesnik.

Tako Eclipse kot NetBeans delujeta zelo dobro na delovni postaji. Z Eclipse je pisanje kode prijetna izkušnja, vendar gradnja programa ni; prenos programa mora potekati zunaj Eclipse; Izvajanje programa na Pi je popolnoma neodvisno od Eclipse. Splošni rezultat je večstopenjski, skoraj boleč postopek, ki ne podpira daljinskega odpravljanja napak. NetBeans ima vgrajeno prevajanje, izdelavo, prenos, oddaljeno izvajanje in oddaljeno odpravljanje napak, zaradi česar je to vrhunski pristop.

1. korak: Nastavite Raspberry Pi

Za uporabo pristopa oddaljenega razvoja morate začeti z nastavitvijo ciljne Raspberry Pi. Za pomoč pri nastavitvi Raspberry Pi je na voljo veliko virov, vključno z navodili. Oglejte si osnove nastavitve Pi (in več).

Ta Instructable vas predvideva

  • namestite najnovejši Raspbian; Poskrbite, da boste zabeležili uporabnikov ID in geslo Pi
  • nastavite Wifi in se povežite z usmerjevalnikom (glejte to); Poskrbite, da zapišete IP -naslov Pi
  • omogočite SSH (glejte to), da omogočite oddaljeni dostop do Pi z delovne postaje

Ko končate nastavitev, lahko izklopite in odklopite zaslon, tipkovnico in miško iz Pi. To je ena ključnih prednosti daljinskega razvoja. Priključiti morate kateri koli ključ Wifi (seveda ni potreben za model Pi 3 ali Pi Zero W), nato pa lahko Pi vklopite.

Če želite preizkusiti, odprite odjemalca ssh na svoji delovni postaji, na primer terminal v sistemu MacOS ali kit v sistemu Windows. Nato vnesite ukaz ssh (varna lupina) z naslednjo obliko:

ssh the_pi_ip_address -l the_pi_user_id

Morali bi dobiti poziv za vnos gesla za uporabniški ID za Pi. Če se poziv ne prikaže, preverite, ali ste v ukaz ssh vnesli pravi naslov IP. Vnesite geslo (skrito bo) in nato bi morali videti poziv lupine Pi, ki se prikaže nekako takole:

pi@raspberrypi: ~ $

Če poziva ne vidite, preverite uporabniški ID in geslo, ki ste jih uporabili.

Sedaj morate najti pot do časa izvajanja Jave in potrditi, da je privzeta različica Java 8 (velja za najnovejši Raspbian). Če želite poiskati pot izvajanja Java, v odjemalcu ssh vnesite ukaz

sudo update-alternative --display java

Videti bi morali odgovor s prvima dvema vrsticama, ki izgledata takole:

java - samodejni način

najboljša različica povezave je/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

"-8-" v drugi vrstici potrjuje, da je privzeti čas izvajanja Java 8. Pot zapišite v drugo vrstico, saj jo boste potrebovali za konfiguracijo NetBeansa za oddaljeni razvoj v naslednjem koraku.

Če privzeti čas izvajanja ni Java 8, v odjemalcu ssh vnesite naslednji ukaz za preklop na Java 8 (ob predpostavki, da je nameščen)

sudo update-alternative --config java

2. korak: Namestite NetBeans na delovno postajo

Zdaj morate na delovno postajo namestiti NetBeans. Brskalnik delovne postaje usmerite na stran za prenos NetBeans. Videli boste več možnih svežnjev, ki podpirajo obe izdaji Jave in drugih jezikov. Vse, kar potrebujete za razvoj Jave za Raspberry Pi, je Java SE, vendar lahko dobite sveženj Java EE ali paket All. Ko se odločite, kateri paket želite, kliknite ustrezen gumb za prenos. Dodatna navodila za namestitev operacijskega sistema delovne postaje najdete tukaj.

Ko namestite NetBeans, ga zaženite (lahko se to zgodi samodejno po namestitvi). Videti bi morali glavno okno NetBeans, kot je prikazano na sliki. Slika je bila posneta na Macu, glavno okno pa je lahko v sistemu Windows videti nekoliko drugače.

Ko uspešno namestite in zaženete NetBeans, nadaljujte z naslednjim korakom.

3. korak: Konfigurirajte Raspberry Pi kot oddaljeno platformo v NetBeansu

Konfigurirajte Raspberry Pi kot oddaljeno platformo v NetBeansu
Konfigurirajte Raspberry Pi kot oddaljeno platformo v NetBeansu

Naslednja dejanja konfigurirajo Raspberry Pi kot oddaljeno platformo Java SE za NetBeans. To omogoča NetBeansu prenos in izvajanje programov Java na Pi. Tu lahko najdete nekoliko splošen opis.

OPOMBA: V tem in naslednjih korakih prikažem vrednosti, značilne za moje okolje, za različne vidike konfiguracije in kodiranja; tvoj bo očitno drugačen.

Če želite Pi konfigurirati kot oddaljeno platformo:

  1. V glavni menijski vrstici NetBeans izberite Orodja -> Platforme Java. Videli boste pojavno okno Java Platform Manager (slika ena).
  2. V spodnjem levem kotu kliknite Dodaj platformo. Videli boste pojavno okno Dodaj platformo Java [vrsta platforme] (slika dve).
  3. Izberite Remote Java Standard Edition. Kliknite Naprej. Videli boste pojavno okno Dodaj platformo Java [nastavi oddaljeno platformo] (slika tri prikazuje pojavno okno, potem ko sem v polja vnesel ustrezne vrednosti za svoje okolje).
  4. V polje Ime platforme vnesite ime za Pi. Uporabite lahko skoraj vse, vendar mora biti edinstven.
  5. V polje Host vnesite naslov IP za Pi, ki ga najdete v 1. koraku.
  6. V polje Uporabniško ime vnesite uporabniško ime, ki ste ga uporabili v 1. koraku.
  7. Pustite izbrano Uporabo preverjanja pristnosti gesla in v polje Geslo vnesite geslo, ki ste ga ustvarili v 1. koraku.
  8. V polje Oddaljena pot JRE morate vnesti večino poti do časa izvajanja Java na Pi. V prvem koraku je bilo to/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java. Vendar morate v polje vrednost spustiti /bin /java.
  9. NetBeans prenese program, ki ga je mogoče izvesti, v delovni imenik na Pi, ki je označen v polju Working Dir. Privzeta nastavitev je/the_Pi_user_ID/NetBeansProjects/in je povsem sprejemljiva. Če želite, lahko uporabite nekaj drugega, čeprav mora biti na voljo za_Pi_user_ID (slika tri).
  10. Kliknite Dokončaj v spodnjem desnem kotu pojavnega okna. Po obdelavi bi morali znova videti pojavno okno Upravitelja platform Java. Zdaj bi morali videti vaš oddaljeni Pi (pod imenom, ki ste ga uporabili v zgornjem dejanju 4) v kategoriji Oddaljena Java SE (slika štiri).
  11. Kliknite Preskusna platforma v spodnjem levem kotu, da preizkusite povezavo med NetBeans in vašim Pi. Najprej boste videli pojavno okno, ki pravi Preverjanje oddaljene platforme. Če je uspešen, boste dobili drugo pojavno okno, ki označuje, da je povezava … uspešno vzpostavljena. V nasprotnem primeru morate preveriti in popraviti podatke, ki ste jih vnesli v pojavno okno Dodaj platformo Java [nastavi oddaljeno platformo] v zgornjih dejanjih 5-9. To lahko storite v pojavnem oknu Java Platform Manager; preprosto izberite svojo platformo Pi in nato uredite polja na desni strani pojavnega okna.
  12. Po uspešni povezavi v pojavnem oknu Java Platform Manager kliknite Zapri. Zdaj boste videli glavno okno NetBeans.

Zdaj se lahko prava zabava začne!

4. korak: Ustvarite projekt Java na delovni postaji

To ni namenjena popolni razlagi uporabe NetBeansa ali Jave, vendar bom opisal minimalna dejanja za pisanje programa v NetBeansu na delovni postaji in sčasoma program na daljavo zagnal na Raspberry Pi.

V NetBeansu morate najprej ustvariti projekt, ki bo vseboval razrede Java za program. Poleg tega so v Javi razredi v paketih za podporo organizaciji in varnosti. Če želite ustvariti projekt in po želji ustvariti paket in datoteko razreda:

  1. V glavnem oknu NetBeans kliknite ikono novega projekta (2. z leve). Videli boste pojavno okno Nov projekt [izberite projekt] (slika ena).
  2. Privzete vrednosti (kategorija: Java, projekt: aplikacija Java) so pravilne za ta primer, zato preprosto kliknite Naprej. Videli boste pojavno okno Nova aplikacija Java [ime in lokacija] (slika dve prikazuje vrednosti za moj primer). OPOMBA: Svoje uporabniške podatke sem popravil z barvnimi pravokotniki.
  3. V polje Ime projekta vnesite veljavno ime projekta Java po vaši izbiri. Ime se mora začeti z veliko začetnico, pri povezovanju besed pa konvencija predlaga kamelo.
  4. Polje Lokacija projekta nadzoruje, kje se projekt nahaja v vašem datotečnem sistemu. Privzeta vrednost se razlikuje glede na operacijski sistem, vendar je sprejemljiva.
  5. Polje Mapa projekta vam omogoča nadzor imena mape za projekt. Najbolje se mi zdi, da uporabim privzeto, to je združevanje polja Lokacija in polja Ime.
  6. Ko potrdite polje Ustvari glavni razred, NetBeans samodejno ustvari paket in datoteko glavnega razreda (program, ki ga je mogoče zagnati iz ukazne vrstice) z istim imenom kot projekt. Mislim, da ga običajno ni treba potrditi, v tem primeru pa pustim preverjeno, kar odpravlja izrecna dejanja, ki so sicer potrebna (slika druga).
  7. Kliknite Dokončaj, da ustvarite projekt, paket in datoteko glavnega razreda. Zdaj zgornje levo podokno glavnega okna NetBeans prikazuje vaš projekt, ki vsebuje en sam paket, ki pa vsebuje eno datoteko razreda z metodo main (). Zgornje desno podokno vsebuje privzeto izvorno kodo za glavni razred (program), ki ga samodejno ustvari NetBeans (slika tri).

Na tej točki lahko v glavno metodo napišete kodo in jo zaženete na delovni postaji. To je včasih lahko zaželeno, vendar za to navodilo ni potrebno, zato nadaljujte z naslednjim korakom.

5. korak: Konfigurirajte projekt NetBeans za oddaljeni zagon na Raspberry Pi

Če želite konfigurirati projekt NetBeans in program, ki ga vsebuje, za oddaljeni zagon na Raspberry Pi, naredite naslednje:

  1. Z desno tipko miške ali z dvema prstoma (odvisno od operacijskega sistema OS) na projektu v podoknu Projekti v glavnem oknu NetBeans odprete meni projekta in kliknete Lastnosti. Videli boste pojavno okno Lastnosti projekta (slika prikazuje pojavno okno z ustreznimi vrednostmi za moj primer).
  2. V razdelku Kategorije na levi izberite Zaženi.
  3. Kliknite Novo na desni strani polja Konfiguracija. V pojavnem pojavnem oknu Ustvari novo konfiguracijo vnesite ime konfiguracije in kliknite V redu. Ime je lahko karkoli; Pravkar sem ponovno uporabil ime platforme ("Moj Pi"). Še enkrat boste videli pojavno okno Lastnosti projekta.
  4. Kliknite ikono spustnega menija na desni strani polja Runtime Platform. Na pojavnem seznamu izberite oddaljeno platformo, ki ste jo ustvarili prej (v mojem okolju "My Pi").
  5. Kliknite V redu, da nastavite oddaljeno platformo za projekt. Spet boste videli glavno okno.

Zdaj ste pripravljeni za pisanje kode in zagon programa na daljavo.

Korak 6: Napišite program Java na delovno postajo in ga zaženite na Raspberry Pi

Desna plošča v glavnem oknu NetBeans prikazuje datoteko glavnega razreda, ki jo ustvarijo NetBeans. Vnesite preprosto izjavo o tiskanju v glavni način datoteke razreda (slika ena). Zdaj je popoln program Java, ki naredi nekaj, čeprav nekaj zelo preprostega.

Če želite zagnati program na Pi, kliknite ikono Run (zelena puščica, usmerjena v levo) v glavnem oknu. NetBeans sestavi kodo, ustvari datoteko jar, prenese datoteko jar v Raspberry Pi, ki jo identificira oddaljena platforma, izvede program na Pi, zajame izhod (System.out) programa in odmeva ta izhod v NetBeans Izhodno podokno v spodnjem desnem kotu glavnega okna (slika dve).

Zdaj ste znatno razširili svoje sposobnosti za razvoj projektov na Raspberry Pi! Ampak počakaj…. Več je!

7. korak: Odpravite napake v programu Java z NetBeans

Ena najmočnejših značilnosti integriranega razvojnega okolja v industriji, kot je NetBeans, je možnost odpravljanja napak v programu med izvajanjem. NetBeans vam omogoča uporabo celotnega nabora orodij za odpravljanje napak, medtem ko se izvajajo na daljavo. To vključuje nastavitev prelomnih točk na "pomembnih" ali "problematičnih" lokacijah v programu in preučitev vrednosti spremenljivk pri trenutnem stanju izvajanja.

Preprost program v zadnjem koraku je preveč preprost za dokazovanje odpravljanja napak, zato sem programu dodal nekaj dodatne kode. Dodatna koda doda dve spremenljivki.

Če želite uporabiti orodja za odpravljanje napak, morate najprej nastaviti eno ali več prelomnih točk. Če želite nastaviti prelomno točko, kliknite številko vrstice, kjer želite prekiniti izvajanje; pojavi se ikona rdečega pravokotnika in celotna vrstica pridobi rdeče ozadje (slika ena).

Če želite odpraviti napake v programu, ki se izvaja na Pi, kliknite ikono Debug (takoj desno od ikone Run) v glavnem oknu NetBeans. Tako kot pri običajni izvedbi NetBeans zbira, sestavlja, prenaša, izvaja, zajema izpis in odmeva ta izhod. Toda z odpravljanjem napak NetBeans ustavi izvajanje na prelomnih točkah in vam omogoča, da preverite stanje izvajanja (slika dve, ki prikazuje podokno spremenljivk spodaj desno).

Izvajanje se ustavi na prelomni točki, preden izvede ukaz na vrstici s prelomno točko. Zeleno ozadje označuje naslednjo izjavo, ki jo je treba izvesti. Tako v mojem primeru s prelomno točko v vrstici 9 spremenljivka a še ne obstaja, še manj pa ima vrednost.

Zdaj postavite kazalec na ikono menija za odpravljanje napak v glavnem oknu (prva ikona z dvojno puščico navzdol desno od ikone za odpravljanje napak) in kliknite ikono Step Over (v ozadju ima modri dokument in zeleno puščico v nasprotni smeri urinega kazalca). v ospredju). [OPOMBA: če naredite glavno okno NetBeans dovolj široko, se meni za odpravljanje napak razširi in ikone dejanj za odpravljanje napak se prikažejo desno od ikone za odpravljanje napak.] NetBeans izvede stavek na prelomni točki in ustavi izvajanje pred naslednjim stavkom. Zdaj boste videli, da spremenljivka a obstaja in ima pričakovano vrednost (slika tri).

Dvakrat kliknite ikono Korak čez. Videli boste, da imajo vse tri spremenljivke vrednosti; upoštevajte, da je c še vedno nič (slika štiri).

Enkrat kliknite ikono Korak čez. Videli boste, da ima spremenljivka c zdaj ustrezno vrednost, torej vsoto spremenljivk a in b (slika pet).

Na koncu v meniju za odpravljanje napak kliknite ikono Zaženi (zeleni krog z belo puščico). To povzroči, da se izvajanje nadaljuje do naslednje točke prekinitve ali do konca programa, kar nastopi prej. Zdaj se prikaže podokno Output (Izhod) in prikaže enake rezultate kot pri običajni izvedbi, v tem primeru besedilo v stavku print.

8. korak: Izvedite program neodvisno od NetBeans

Lahko pride čas, ko želite izvesti svoj program na Raspberry Pi, brez "pomoči" ali "vmešavanja" s strani NetBeans. To je zelo preprosto. Najprej odprite odjemalca ssh za svoj Pi.

Zapomnite si od tretjega koraka, da NetBeans shrani vaš projektni kozarec v delovni imenik na Pi. Privzeta osnova je/home/pi/NetBeansProjects za uporabnika pi. Določeni imenik ima isto ime kot vaš projekt. NetBeans kozarec postavi v podimenik, imenovan dist. V mojem primeru je celotna pot/home/pi/NetBeansProjects/MyRemoteProg/dist. V odjemalcu ssh na Pi lahko za izvajanje programa uporabite ukaz java z možnostjo 'jar':

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

Rezultate izvedbe boste videli v odjemalcu ssh; v mojem primeru bo rezultat

Pozdrav iz Raspberry Pi!

To deluje, ker podatki v datoteki jar določajo, kateri glavni razred v kozarcu naj se izvede.

Delovni imenik (prek cd) lahko spremenite tudi v lokacijo datoteke jar in nato za krajše ukaze dobite enake rezultate.

java -jar MyRemoteProg.jar

9. korak: Zgradite in naložite program, vendar ga ne izvedite prek NetBeansa

Obstajajo situacije, ko želite, da NetBeans sestavi in prenese vaš program, vendar ga ne izvede. Ena takih situacij se zgodi, ko vaš program potrebuje vnos s tipkovnice. Če je temu tako, s tehniko v prejšnjem koraku, ko zgradite in naložite, se program izvaja na Raspberry Pi in zato pričakuje vnos s tipkovnice iz Pi, seveda pa na Pi ni tipkovnice, zato program visi - ni dobro.

Za izvedbo programa morate uporabiti nekoliko drugačno tehniko. V bistvu ustvarite "lažno" datoteko glavnega razreda, ki v bistvu ne naredi ničesar, in jo označite kot program, ki ga je treba izvesti po prenosu. V tem primeru se izvede "lutka", nato pa lahko zaženete "pravi" program neposredno na Pi.

Če želite uporabiti to tehniko, najprej ustvarite nov glavni razred:

  1. Odprite meni projekta kot v koraku 5 in kliknite Novo-> Glavni razred Java. Videli boste pojavno okno New Java Main Class.
  2. V polje Ime razreda vnesite ime. Ime je lahko karkoli želite; Uporabil sem "Dummy". Polje Package omogoča identifikacijo paketa razreda; paket izberete s spustnim menijem na desni strani polja. Razred je lahko v istem paketu kot vaš "pravi" program ali v drugem paketu; Novi razred sem dal v isti paket. Kliknite Dokončaj. Zdaj boste videli glavno okno NetBeans z novo datoteko na zgornji desni plošči (slika ena). Dodal sem preprosto izjavo za tiskanje o delovanju na Pi, vendar v resnici ni potrebno nič.

Če želite zagnati "Dummy" po prenosu, ga morate privzeto izvesti kot "glavni razred za izvedbo":

  1. Odprite lastnosti projekta kot v koraku 5. Izberite kategorijo Zaženi. Kliknite Prebrskaj desno od polja Glavni razred. Videli boste pojavno okno Prebrskaj glavne razrede (slika dve).
  2. Izberite razred "Dummy". Kliknite Izberi glavni razred. Spet boste videli lastnosti projekta.
  3. Kliknite V redu. Vrnili se boste v glavno okno.

Zdaj, ko kliknete ikono Zaženi, NetBeans upošteva/sestavi celoten projekt, prenese kozarec, ki vsebuje vse datoteke razredov, v Pi in izvede razred "Dummy" (slika tri).

Če želite izvesti svoj pravi program na Pi, morate zdaj uporabiti ukaz java z možnostjo 'classpath', ki zahteva, da izrecno določite glavni razred za izvedbo. Od odjemalca ssh pojdite v imenik dist za svoj projekt. Ustrezen ukaz ima naslednjo obliko:

java -cp ime_projekta.jar ime_paketa.razred_ime

Project_name se očitno nanaša na projekt; ki se spremeni le pri obravnavi novega projekta. Ime_paketa se seveda nanaša na paket, ime_razreda pa na glavni razred za izvedbo. Kot smo že omenili, lahko projekt vsebuje veliko paketov. Podobno lahko paket vsebuje veliko razredov in vsi so lahko glavni razredi ali programi, ki jih je mogoče izvesti iz ukazne vrstice. Tako je tehnika 'classpath' zelo uporabna za razvoj sofisticiranih programov z mnogimi razredi, od katerih so nekateri glavni razredi, ki samo pomagajo pri testiranju enot.

Naslednji ukaz izvede moj primer programa:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

10. korak: Uporabite upravljanje knjižnic NetBeans

Eden najtežjih, a najpomembnejših vidikov sofisticiranih programov je obravnava knjižnic, to je kode, ki jo je že napisal nekdo drug. NetBeans odlično opravlja delo, saj odpravlja večino težav pri upravljanju knjižnic.

Kot primer bom uporabil Pi4J, ki daje programom Java dostop do Raspberry Pi GPIO, vodila I2C in drugega strojno -vmesnega vhoda. Pi4J je le en primer podpore za veliko zabavnih stvari na Pi z Javo.

Knjižnico morate najprej prenesti na svojo delovno postajo. Oglejte si stran za prenos Pi4J. Ker ne nameščate Pi4J na Pi, prenesite zip na svojo delovno postajo. Ko prenesete zip, boste morda morali izrecno razpakirati ali ne.

Zdaj morate ustvariti "globalno knjižnico" v NetBeansu:

  1. V glavnem meniju NetBeans kliknite Orodja -> Knjižnice. Videli boste pojavno okno Ant Library Library Manager (slika ena).
  2. V spodnjem levem kotu kliknite Nova knjižnica. Videli boste pojavno okno Nova knjižnica (slika dve).
  3. Vnesite smiselno ime, ki ga želite uporabiti, in kliknite V redu. Spet boste videli pojavno okno Upravitelj knjižnice mrav. Zdaj prikazuje novo knjižnico, ki ste jo ustvarili (slika tri).
  4. Kliknite Dodaj JAR/mapo na desni. Videli boste pojavno okno Prebrskaj JAR/mapo (slika štiri).
  5. Pomaknite se do in nato izberite pi4j-core.jar. Nato kliknite Dodaj JAR/mapo. Vrnili se boste v pojavno okno Ant Library Manager.
  6. V pojavnem oknu Upravitelj knjižnice mrav kliknite V redu. Vrnili se boste v glavno okno NetBeans.

Knjižnico ste dodali, tako da jo je mogoče uporabiti v katerem koli projektu. Zdaj morate knjižnici dodati svoj projekt:

  1. Odprite pojavno okno Lastnosti projekta (glejte korak 5) in izberite kategorijo Knjižnice (slika pet).
  2. Kliknite Dodaj knjižnico na desni strani pojavnega okna. Videli boste pojavno okno Dodaj knjižnico (slika šest).
  3. Pomaknite se do knjižnice in jo izberite. Nato kliknite Dodaj knjižnico. Spet boste videli pojavno okno Lastnosti projekta. Knjižnica je zdaj prikazana na seznamu knjižnic za čas zbiranja v pojavnem oknu.
  4. V pojavnem oknu Lastnosti projekta kliknite V redu. Vrnili se boste v glavno okno.

Knjižnico ste dodali v svoj projekt, tako da jo lahko uporablja vaš program. Za vse knjižnice, ki jih potrebujete za program, lahko naredite enako zaporedje dejanj.

Knjižnico potrebujete trikrat - prevedite, sestavite in izvedite. Na srečo z NetBeansom vse dodaja knjižnica, kot je prikazano zgoraj. Za potrditev tega sem ustvaril še en glavni razred, ki naredi absolutni minimum, potreben za uporabo zmogljivosti I2C v Pi4J (slika sedem). Dejstvo, da ni napak, pomeni, da razred TestPi4J prevede. S klikom na Zaženi uspešno sestavi in prenese; NetBeans poleg datoteke jar prenese tudi knjižnico, zato se bo program izvajal. Za preverjanje slednjega lahko uporabite tehniko v 9. koraku in v odjemalcu ssh vnesite naslednji ukaz (iz imenika dist):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Poučno je razumeti, kako NetBeans ravna s knjižnicami. Medtem ko ste v imeniku dist za svoj projekt, navedite vsebino imenika (uporabite ukaz ls) in videli boste podimenik lib. Navedite vsebino tega imenika in videli boste datoteko jar, identificirano v globalni knjižnici, ki je v mojem primeru pi4j-core.jar. Vse knjižnice, ki jih dodate projektu, bodo prikazane v imeniku lib, zato so na voljo vsem programom v datoteki jar projekta.

11. korak: Zabavajte se

Opisala sem pristop za doseganje zelo učinkovitega razvoja Java za Raspberry Pi. Raspberry Pi je zelo priljubljena tehnologija za široko paleto projektov. Java je profesionalni programski jezik, ki ponuja prednosti pred zmogljivostjo pred Pythonom in varnostne prednosti pred C/C ++. NetBeans je profesionalni IDE, ki močno poveča produktivnost programerja.

Mislim, da je kombinacija zelo privlačna. Zdaj pa se zabavajte in uporabite kombinacijo za svoje projekte.

Priporočena: