Sadržaj:

Efikasan Java razvoj za Raspberry Pi: 11 koraka (sa slikama)
Efikasan Java razvoj za Raspberry Pi: 11 koraka (sa slikama)

Video: Efikasan Java razvoj za Raspberry Pi: 11 koraka (sa slikama)

Video: Efikasan Java razvoj za Raspberry Pi: 11 koraka (sa slikama)
Video: 30 глупых вопросов Product Manager [Карьера в IT] 2024, Juli
Anonim

Ovaj Instructable opisuje vrlo efikasan pristup za razvoj Java programa za Raspberry Pi. Koristio sam pristup za razvoj Java mogućnosti u rasponu od podrške za uređaje na niskom nivou do više niti i mrežnih programa. Pristup nije samo efikasan, već je i besplatan!

U osnovi, pristup je udaljeni razvoj pomoću NetBeansa. NetBeans radi na radnoj stanici (stolnom ili prijenosnom računaru, a ne na Raspberry Pi) povezanoj putem Wi -Fi -ja na Raspberry Pi. Nakon što je sve pravilno postavljeno, možete napisati Java program u NetBeans -u, a zatim jednim klikom sastaviti i izgraditi program na radnoj stanici, preuzeti program na Pi, pokrenuti program na Pi -u i isporučiti izlaz na NetBeans konzolu. Magija! Možete čak i otkloniti greške u pokrenutom programu, postaviti tačke prekida i ispitati vrijednosti varijabli. Još magije!

Ostatak ovog uvoda opisuje motivaciju za korištenje Jave i daljinski razvoj pomoću NetBeansa. Ako vam je stalo do motivacije, čitajte dalje. Ako vam nije stalo, idite na korak 1.

Zašto koristiti Java na Raspberry Pi?

Za Raspberry Pi dostupno je mnogo programskih jezika, ali ću ograničiti raspravu na programske jezike "profesionalne klase" koji ciljaju samostalne programe, podržavaju više zadataka, dopuštaju pristup hardveru i mreži itd. To znači Java, Python ili C/C ++. Najnovija izdanja Raspbiana uključuju razvoj i podršku za sve ove jezike.

Python je u stvari "promoviran" za upotrebu na Pi-u, barem djelomično zbog lakšeg učenja za nove programere. Ja sam iskusan programer i ne volim Python zbog, doduše, subjektivne nesklonosti prema brojnim njegovim karakteristikama, na primjer, dinamičkom kucanju. Postoji jedna karakteristika Pythona za koju je objektivno moje nesviđanje - izvedba. Ovaj izvor pokazuje da je Java uvijek brža od Pythona 3, a zapravo može raditi stotine puta brže, ovisno o zadatku.

C je po mom mišljenju "mašinski jezik na visokom nivou", tj. Nešto što je vrlo blizu sistemskom hardveru, ili barem operativnom sistemu. Možete učiniti skoro sve, a možete to učiniti što je brže moguće; u stvari, ovaj izvor sugerira da C može raditi do 7X brže od Jave. Takođe mi se C ne sviđa jer (subjektivno) ne volim neke njegove karakteristike koje smatram tajnovitim, arhaičnim ili oboje; na primjer, eksplicitni pokazivači. Objektivno, činjenica da možete učiniti bilo šta znači da ste samo opskurna greška (npr. Aritmetika lošeg pokazivača ili pogrešna memcpy) udaljena od prepisivanja memorije i potencijalnog rušenja programa ili čak cijelog sistema. Java sprječava takve opasnosti, pa je Java sigurnija. Osećam da bezbednost takođe poboljšava produktivnost programera. Smatram C ++ objektno orijentiranim "omotom" oko C-a koji ne čini ništa kako bi uklonio opasnosti C.

Zaključak: Java je brža od Pythona. Java je sigurnija od C.

Postoje li ograničenja pri korištenju Jave?

Do sada sam u Javi mogao raditi sve što mogu u Pythonu. Postoje stvari koje se mogu raditi u C -u, a koje se ne mogu raditi u Javi, ali opet, do sada su obožavatelji Jave u Pi zajednici rješavali sve što sam želio učiniti. U nastavku ću ponuditi primjer. S tim u vezi, kupio sam senzore od dobavljača koji su isporučili "upravljačke programe" za senzore samo u Pythonu (ili C/C ++ za Arduino), pa sam morao napisati Java ekvivalent; dodatni napor nije nužno produktivan, ali može rezultirati boljim uvidom u rad senzora.

Zašto daljinski razvoj zasnovan na NetBeans -u?

Otkrio sam da daljinski razvoj zasnovan na NetBeansu uvelike povećava produktivnost kada koristi Javu za Raspberry Pi. Uvjeren sam da možete koristiti pristup za kreiranje brzih i sigurnih programa, zbog svojstvenih karakteristika Jave, dok ih pišete, izrađujete i otklanjate greške mnogo brže od drugih pristupa koje sam pronašao, zbog daljinskog razvoja pomoću "profesionalnog" razred "NetBeans integrirano razvojno okruženje (IDE).

Moglo bi biti korisno ukratko razgovarati o tim "drugim pristupima". Svi oni zadovoljavaju osnovne kriterije da Raspberry Pi nema spojenu tipkovnicu, miš ili zaslon. Mnogo je razloga za ovaj kriterij, ali moj primarni razlog je što razvijam mobilne robote i ne želim da Pi bude povezan ni s jednom periferijom osim robotskih podsistema, čak ni tijekom razvoja.

VNC poslužitelj uključen u Raspbian pruža udaljeno grafičko korisničko sučelje (GUI) koje dopušta oblik udaljenog razvoja, gdje samo udaljeni GUI radi na radnoj stanici, a sve ostalo, pisanje, kompajliranje i izrada, odvija se na Pi. S VNC-om je lako koristiti Java razvojne alate koji se isporučuju u Raspbian-u, poput BlueJ-a, Geany-a i Greenfoot-a. Neki od njih se mogu smatrati IDE -om; međutim, smatram ih daleko od profesionalne ocjene.

Tehnički je moguće instalirati Java IDE profesionalnog razreda poput Eclipse ili NetBeans na Raspberry Pi i koristiti ga daljinski putem VNC -a. Izvještaji i zdrav razum sugeriraju da bi rezultati bili razočaravajući, zbog velikog zauzeća memorije i snage procesora koje takvi IDE -i zahtijevaju, kao i mrežnog kašnjenja koje je uveo udaljeni GUI.

I Eclipse i NetBeans rade vrlo dobro na radnoj stanici. Uz Eclipse, pisanje koda je ugodno iskustvo, međutim izgradnja programa nije; preuzimanje programa mora se odvijati izvan Eclipse -a; izvršavanje programa na Pi potpuno je neovisno o Eclipse -u. Ukupni rezultat je proces u više koraka, gotovo bolan, koji ne može podržati daljinsko otklanjanje grešaka. NetBeans ima ugrađeno kompajliranje, izgradnju, preuzimanje, daljinsko izvršavanje i daljinsko otklanjanje grešaka, što ga čini superiornim pristupom.

Korak 1: Postavite Raspberry Pi

Da biste koristili pristup daljinskog razvoja, morate početi postavljanjem ciljanog Raspberry Pi. Postoje mnogi resursi, uključujući Instructables, dostupni za pomoć pri postavljanju Raspberry Pi. Pogledajte ovo za osnove postavljanja Pi (i više).

Ovaj Instructable pretpostavlja vas

  • instalirajte najnoviji Raspbian; obavezno zapišite Pi korisnički ID i lozinku
  • postavite Wifi i povežite se s usmjerivačem (pogledajte ovo); obavezno zabilježite Pi -jevu IP adresu
  • omogućite SSH (pogledajte ovo) da biste omogućili daljinski pristup Pi sa radne stanice

Nakon što dovršite postavljanje, možete isključiti i odspojiti zaslon, tipkovnicu i miš s Pi -a. Ovo je jedna od ključnih prednosti daljinskog razvoja. Morate ostaviti priključen bilo koji Wifi ključ (naravno, nije potreban za Pi model 3 ili Pi Zero W), a zatim možete uključiti Pi.

Da biste testirali, otvorite ssh klijent na svojoj radnoj stanici, npr. Terminal na MacOS -u ili kit na Windows -u. Zatim unesite naredbu ssh (sigurna ljuska) sa sljedećim oblikom:

ssh the_pi_ip_address -l the_pi_user_id

Trebali biste dobiti upit za unos lozinke svog korisničkog ID -a za Pi. Ako se ne pojavi upit, provjerite jeste li unijeli pravu IP adresu u naredbu ssh. Unesite svoju lozinku (bit će skrivena) i tada biste trebali vidjeti Pi -ov prompt ljuske koji izgleda otprilike ovako:

pi@raspberrypi: ~ $

Ako ne vidite upit, provjerite korisnički ID i lozinku koju ste koristili.

Sada morate pronaći put do Java vremena izvođenja i potvrditi da je zadana verzija Java 8 (trebalo bi biti tačno za najnoviji Raspbian). Da biste pronašli putanju izvršavanja Jave, u ssh klijentu unesite naredbu

sudo update-alternative --display java

Trebali biste vidjeti odgovor s prve dvije linije koje izgledaju ovako:

java - automatski način rada

najbolja verzija linka je/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

"-8-" u drugom retku potvrđuje da je zadano vrijeme izvođenja Java 8. Zapišite putanju u drugi red jer će vam trebati za konfiguriranje NetBeansa za daljinski razvoj u kasnijem koraku.

Ako zadano vrijeme izvođenja nije Java 8, u ssh klijentu unesite sljedeću naredbu za prebacivanje na Java 8 (pod pretpostavkom da je instalirano)

sudo update-alternative --config java

Korak 2: Instalirajte NetBeans na radnu stanicu

Sada morate instalirati NetBeans na svoju radnu stanicu. Usmerite pregledač radne stanice na stranicu za preuzimanje NetBeans -a. Vidjet ćete nekoliko mogućih paketa koji podržavaju dva izdanja Jave, kao i drugih jezika. Sve što vam je potrebno za razvoj Jave za Raspberry Pi je Java SE, ali možete nabaviti paket Java EE ili paket All. Nakon što odlučite koji paket želite, kliknite odgovarajuće dugme za preuzimanje. Ovdje možete pronaći dodatna uputstva za instalaciju vašeg OS -a radne stanice.

Nakon što instalirate NetBeans, pokrenite ga (to može učiniti automatski nakon instalacije). Trebali biste vidjeti glavni prozor NetBeansa kao što je prikazano na slici. Slika je snimljena na Macu, a glavni prozor bi mogao izgledati malo drugačije u Windowsima.

Nakon što ste uspješno instalirali i pokrenuli NetBeans, prijeđite na sljedeći korak.

Korak 3: Konfigurirajte Raspberry Pi kao udaljenu platformu u NetBeansu

Konfigurirajte Raspberry Pi kao udaljenu platformu u NetBeansu
Konfigurirajte Raspberry Pi kao udaljenu platformu u NetBeansu

Sljedeće radnje konfiguriraju Raspberry Pi kao udaljenu Java SE platformu za NetBeans. Ovo omogućava NetBeansu preuzimanje i izvršavanje Java programa na Pi -u. Ovdje možete pronaći donekle opći opis.

NAPOMENA: U ovom i narednim koracima pokazujem vrijednosti specifične za moje okruženje za različite aspekte konfiguracije i kodiranja; tvoje će očigledno biti drugačije.

Da biste konfigurirali Pi kao udaljenu platformu:

  1. Na glavnoj traci menija NetBeans odaberite Alati -> Java platforme. Vidjet ćete skočni prozor Java Platform Manager (slika prva).
  2. Kliknite Dodaj platformu u donjem lijevom kutu. Vidjet ćete skočni prozor Add Java Platform [tip platforme] (slika dva).
  3. Odaberite Remote Java Standard Edition. Pritisnite Dalje. Vidjet ćete skočni prozor Dodaj Java platformu [postavi udaljenu platformu] (slika tri prikazuje skočni prozor nakon što sam u polja unio odgovarajuće vrijednosti za svoju okolinu).
  4. U polje Naziv platforme unesite naziv za Pi. Možete koristiti gotovo sve, ali mora biti jedinstveno.
  5. U polje Host unesite IP adresu za Pi koja se nalazi u koraku 1.
  6. U polje Korisničko ime unesite korisničko ime koje ste koristili u koraku 1.
  7. Ostavite Koristi provjeru autentičnosti lozinke odabranim i u polje Lozinka unesite lozinku koju ste stvorili u koraku 1.
  8. U polje Remote JRE Path morate unijeti većinu puta do Java izvođenja na Pi. U prvom koraku to je bio/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java. Međutim, morate ispustiti /bin /java u vrijednost polja.
  9. NetBeans preuzima pokrenuti program u radni direktorij na Pi, identificiran u polju Working Dir. Zadana vrijednost je/the_Pi_user_ID/NetBeansProjects/i savršeno je prihvatljiva. Možete koristiti nešto drugo ako želite, iako to mora biti dostupno za_Pi_user_ID (slika tri).
  10. Kliknite Završi u donjem desnom kutu skočnog prozora. Nakon obrade, trebali biste ponovo vidjeti skočni prozor Java Platform Manager -a. Sada biste trebali vidjeti svoj udaljeni Pi (pod imenom koje ste koristili u radnji 4 gore) pod kategorijom Remote Java SE (slika četiri).
  11. Pritisnite Test Platform u donjem lijevom kutu da biste testirali vezu između NetBeans -a i vašeg Pi -a. Prvo ćete vidjeti skočni prozor s potvrdom udaljene platforme. Ako uspijete, dobit ćete drugi skočni prozor koji pokazuje da je veza … uspješno uspostavljena. Ako ne, morate provjeriti i ispraviti podatke koje ste unijeli u skočni prozor Dodaj Java platformu [postavi udaljenu platformu] u gore navedenim radnjama 5-9. To možete učiniti iz skočnog prozora Java Platform Manager -a; jednostavno odaberite svoju Pi platformu, a zatim uredite polja s desne strane skočnog prozora.
  12. Nakon uspješne veze, kliknite Zatvori u skočnom prozoru Java Platform Manager. Sada ćete vidjeti glavni prozor NetBeansa.

Sada prava zabava može početi!

Korak 4: Napravite Java projekt na radnoj stanici

Ovo nije namjera da bude potpuno objašnjenje kako se koristi NetBeans ili Java, ali ću opisati minimalne radnje za pisanje programa u NetBeansu na radnoj stanici i, na kraju, daljinsko pokretanje programa na Raspberry Pi.

U NetBeansu prvo morate stvoriti projekt koji će sadržati Java klase za program. Nadalje, u Javi klase se nalaze u paketima za podršku organizaciji i sigurnosti. Za kreiranje projekta i opcionalno kreiranje paketa i datoteke klase:

  1. U glavnom prozoru NetBeansa kliknite ikonu novog projekta (2. s lijeva). Vidjet ćete skočni prozor Novi projekt [odaberite projekt] (slika prva).
  2. Zadane vrijednosti (Kategorija: Java, Projekt: Java aplikacija) su ispravne za ovaj primjer, pa jednostavno kliknite Dalje. Vidjet ćete skočni prozor Nove Java aplikacije [ime i lokacija] (slika dva prikazuje vrijednosti za moj primjer). NAPOMENA: Izmijenio sam svoje korisničke podatke koristeći pravokutnike u boji.
  3. U polje Naziv projekta unesite važeće ime Java projekta po svom izboru. Ime mora započeti velikim slovom, a konvencija sugeriše veličinu slova deva pri povezivanju riječi.
  4. Polje Lokacija projekta kontrolira gdje se projekt nalazi u vašem sistemu datoteka. Zadana vrijednost varira ovisno o operativnom sistemu, ali je prihvatljiva.
  5. Polje Project Folder vam omogućava da kontrolišete naziv fascikle za projekat. Smatram da je najbolje koristiti zadano, a to je povezivanje polja Lokacija i polja Ime.
  6. Kada je potvrđeno polje za potvrdu Kreiraj glavnu klasu, NetBeans automatski kreira paket i datoteku glavne klase (program koji se može pokrenuti iz komandne linije) sa istim imenom kao i projekat. Mislim da obično ne treba provjeravati, ali u ovom slučaju ostavit ću to označeno čime se eliminiraju eksplicitne radnje koje su inače potrebne za to (slika dva).
  7. Pritisnite Završi da biste kreirali projekt, paket i datoteku glavne klase. Sada gornje lijevo okno glavnog prozora NetBeansa prikazuje vaš projekt, koji sadrži jedan paket, koji pak sadrži jednu datoteku klase s glavnom () metodom. Gornje desno okno sadrži zadani izvorni kod za glavnu klasu (program) koji je automatski generirao NetBeans (slika tri).

U ovom trenutku možete napisati neki kod u glavnu metodu i pokrenuti ga na radnoj stanici. To je povremeno možda poželjno, ali za ovaj Instructable nije potrebno, pa prijeđite na sljedeći korak.

Korak 5: Konfigurirajte NetBeans projekt za daljinsko pokretanje na Raspberry Pi

Da biste konfigurirali projekt NetBeans i program koji sadrži za daljinsko pokretanje na Raspberry Pi -u, učinite sljedeće:

  1. Kliknite desnim tasterom miša ili dva prsta (zavisi od operativnog sistema na radnoj stanici) na projektu u oknu Projekti glavnog prozora NetBeansa da biste otvorili meni projekta i kliknite na Svojstva. Vidjet ćete skočni prozor Svojstva projekta (slika prikazuje skočni prozor s odgovarajućim vrijednostima za moj primjer).
  2. U odjeljku Kategorije s lijeve strane odaberite Pokreni.
  3. Kliknite Novo s desne strane polja Konfiguracija. U skočnom prozoru Kreiraj novu konfiguraciju unesite naziv konfiguracije i kliknite U redu. Ime može biti bilo šta; Upravo sam ponovo upotrijebio naziv platforme ("Moj Pi"). Još jednom ćete vidjeti skočni prozor Svojstva projekta.
  4. Kliknite ikonu padajućeg izbornika s desne strane polja Runtime Platform. S popisa u skočnom prozoru odaberite udaljenu platformu koju ste ranije stvorili (u mom okruženju, "My Pi").
  5. Pritisnite U redu za postavljanje udaljene platforme za projekt. Ponovo ćete vidjeti glavni prozor.

Sada ste spremni za pisanje koda i daljinsko pokretanje programa.

Korak 6: Napišite Java program na radnoj stanici i pokrenite ga na Raspberry Pi

Desna ploča u glavnom prozoru NetBeansa prikazuje datoteku glavne klase koju su generirali NetBeans. Upišite jednostavan ispis ispisa u glavnu metodu datoteke klase (slika prva). To je sada kompletan Java program koji radi nešto, iako nešto vrlo jednostavno.

Da biste pokrenuli program na Pi, kliknite ikonu Pokreni (zelena strelica usmjerena ulijevo) u glavnom prozoru. NetBeans sastavlja kôd, gradi jar datoteku, preuzima jar datoteku na Raspberry Pi koju je identifikovala udaljena platforma, izvršava program na Pi, snima izlaz (System.out) programa i odzvanja taj izlaz na NetBeans Okno za izlaz u donjem desnom uglu glavnog prozora (slika dva).

Sada ste značajno proširili skup vještina za razvoj projekata na Raspberry Pi! Ali čekaj…. Ima još!

Korak 7: Otklonite greške u Java programu pomoću NetBeansa

Jedna od najmoćnijih značajki integriranog razvojnog okruženja industrijske snage poput NetBeansa je mogućnost otklanjanja grešaka u programu dok je pokrenut. NetBeans vam omogućuje da iskoristite cijeli paket alata za otklanjanje grešaka dok radite na daljinu. Ovo uključuje postavljanje tačaka prekida na "važnim" ili "problematičnim" lokacijama u programu i ispitivanje vrijednosti varijabli u trenutnom stanju izvršenja.

Jednostavan program u posljednjem koraku je previše jednostavan za demonstraciju otklanjanja grešaka, pa sam programu dodao dodatni kôd. Dodatni kod dodaje dvije varijable.

Da biste iskoristili alate za otklanjanje grešaka, prvo morate postaviti jednu ili više tačaka prekida. Da biste postavili tačku prekida, kliknite na broj linije na kojoj želite obustaviti izvršenje; pojavljuje se crvena ikona pravokutnika i cijela linija dobiva crvenu pozadinu (slika jedna).

Da biste otklonili greške u programu koji radi na Pi, kliknite ikonu Otklanjanje grešaka (odmah desno od ikone Pokreni) u glavnom prozoru NetBeansa. Kao i kod normalnog izvođenja, NetBeans kompajlira, gradi, preuzima, izvršava, bilježi izlaz i ponavlja taj izlaz. Ali otklanjanjem grešaka, NetBeans zaustavlja izvršavanje na tačkama prekida i omogućava vam da pregledate stanje izvršenja (slika dva, prikazuje okno Varijable u donjem desnom uglu).

Izvođenje se zaustavlja na točki prekida prije izvođenja instrukcije na liniji s točkom prekida. Zelena pozadina označava sljedeću naredbu koju treba izvršiti. Tako u mom primjeru, s prekidom u retku 9, varijabla a još ne postoji, a još manje ima vrijednost.

Sada zadržite pokazivač iznad ikone menija za otklanjanje grešaka u glavnom prozoru (prva ikona sa dvostrukom strelicom nadole desno od ikone za otklanjanje grešaka) i kliknite na ikonu Korak preko (ima plavi dokument u pozadini i zelenu strelicu u smjeru kazaljke na satu) u prvom planu). [NAPOMENA: ako učinite svoj NetBeans glavni prozor dovoljno širokim, meni za otklanjanje grešaka se proširuje, a ikone radnji za otklanjanje grešaka prikazuju se desno od ikone za otklanjanje grešaka.] NetBeans izvršava naredbu na tački prekida i zaustavlja izvršavanje prije sljedeće naredbe. Sada ćete vidjeti da varijabla a postoji i da ima očekivanu vrijednost (slika tri).

Dvaput kliknite na ikonu Step Over. Vidjet ćete da sve tri varijable imaju vrijednosti; imajte na umu da je c i dalje nula (slika četiri).

Kliknite jednom na ikonu Step Over. Vidjet ćete da varijabla c sada ima odgovarajuću vrijednost, tj. Zbir varijabli a i b (slika pet).

Na kraju, u meniju za otklanjanje grešaka kliknite ikonu Pokreni (zeleni krug s bijelom strelicom). To uzrokuje da se izvršavanje nastavi do sljedeće točke prekida ili do kraja programa, ovisno o tome što se dogodi prije. Sada se pojavljuje okno Output i prikazuje isti izlaz kao i kod normalnog izvođenja, u ovom slučaju tekst u iskazu print.

Korak 8: Izvedite program neovisno o NetBeansu

Može doći trenutak kada želite izvršiti svoj program na Raspberry Pi -u, bez "pomoći" ili "ometanja" od strane NetBeansa. Vrlo je jednostavno. Prvo otvorite ssh klijent za svoj Pi.

Zapamtite od koraka 3 da NetBeans stavlja vašu staklenku projekta u radni direktorij na Pi. Zadana baza je/home/pi/NetBeansProjects za korisnika pi. Određeni direktorij ima isto ime kao i vaš projekt. NetBeans postavlja staklenku u poddirektorij koji se naziva dist. Za moj primjer, puna putanja je/home/pi/NetBeansProjects/MyRemoteProg/dist. U ssh klijentu na Pi -u za izvršavanje programa možete koristiti java naredbu s opcijom 'jar':

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

Vidjet ćete rezultate izvršenja u ssh klijentu; u mom primjeru, izlaz će biti

Pozdrav iz Raspberry Pi!

Ovo funkcionira jer informacije u jar datoteci identificiraju koju glavnu klasu u jar -u treba izvršiti.

Također možete promijeniti radni direktorij (putem cd -a) u lokaciju jar datoteke, a zatim izdati kraću naredbu za postizanje istih rezultata.

java -jar MyRemoteProg.jar

Korak 9: Napravite i preuzmite, ali ne izvršavajte program putem NetBeansa

Postoje situacije u kojima želite da NetBeans izgradi i preuzme vaš program, ali ga ne izvrši. Jedna od takvih situacija se događa kada vašem programu treba unos s tipkovnice. Ako je to slučaj, koristeći tehniku iz prethodnog koraka, nakon što napravite i preuzmete, program se izvršava na Raspberry Pi -u pa očekuje unos s tipkovnice od Pi -a, ali naravno, nema tipkovnice priključene na Pi, pa program visi - nije dobro.

Za izvođenje programa morate koristiti nešto drugačiju tehniku. U osnovi, kreirate "lažnu" datoteku glavne klase koja u suštini ne radi ništa i identificirate je kao program koji će se izvršiti nakon preuzimanja. U ovom slučaju, "lutka" se izvršava, a zatim možete pokrenuti svoj "pravi" program direktno na Pi -u.

Da biste koristili ovu tehniku, prvo stvorite novu glavnu klasu:

  1. Otvorite izbornik projekta kao u koraku 5 i kliknite New-> Java Main Class. Vidjet ćete skočni prozor New Java Main Class.
  2. U polje Naziv klase unesite ime. Ime može biti bilo šta što želite; Koristio sam "Dummy". Polje Package vam omogućava da identificirate paket klase; paket odabirete pomoću padajućeg izbornika s desne strane polja. Čas može biti u istom paketu kao i vaš "pravi" program ili u drugom paketu; Stavila sam novu klasu u isti paket. Pritisnite Finish. Sada ćete vidjeti glavni prozor NetBeansa s novom datotekom u gornjem desnom panelu (slika prva). Dodao sam jednostavnu izjavu za štampanje o trčanju na Pi -u, ali ništa nije potrebno.

Da biste pokrenuli "Dummy" nakon preuzimanja, morate ga učiniti "glavnom klasom za izvršavanje prema zadanim postavkama" za projekt:

  1. Otvorite svojstva projekta kao u koraku 5. Odaberite kategoriju Pokreni. Kliknite Pregledaj desno od polja Glavna klasa. Vidjet ćete skočni prozor Pretraživanje glavnih klasa (slika dva).
  2. Odaberite klasu "Dummy". Kliknite Odaberi glavnu klasu. Ponovno ćete vidjeti svojstva projekta.
  3. Pritisnite OK. Vratit ćete se na glavni prozor.

Sada kada kliknete na ikonu Pokreni, NetBeans usklađuje/gradi cijeli projekt, preuzima staklenku koja sadrži sve datoteke klase u Pi i izvršava klasu "Dummy" (slika tri).

Da biste izvršili svoj pravi program na Pi -u, sada morate koristiti java naredbu s opcijom 'classpath', koja zahtijeva da eksplicitno identificirate glavnu klasu za izvršavanje. Sa ssh klijenta idite u dist direktorij za svoj projekt. Pravilna naredba je sljedećeg oblika:

java -cp ime_projekta.jar ime_paketa.klasa_ime

Project_name se očigledno odnosi na projekat; to se mijenja samo kada se bavite novim projektom. Ime_paketa se naravno odnosi na paket, a ime_razreda se odnosi na glavnu klasu koju treba izvršiti. Kao što je ranije rečeno, projekt može sadržavati mnogo paketa. Slično, paket može sadržavati mnoge klase, a sve mogu biti glavne klase ili programi koji se mogu izvesti iz naredbene linije. Stoga je tehnika 'classpath' vrlo korisna za razvoj sofisticiranih programa s mnogo klasa, od kojih su neke glavne klase samo za pomoć pri testiranju jedinica.

Sljedeća naredba izvršava moj primjer programa:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

Korak 10: Iskoristite upravljanje bibliotekom NetBeans

Jedan od najtežih, ali najvažnijih aspekata sofisticiranih programa je bavljenje bibliotekama, tj. Kodom koji je neko drugi već napisao. NetBeans radi vrijedan posao uklanjajući većinu boli upravljanja bibliotekom.

Koristit ću kao primjer Pi4J, koji daje Java programima pristup Raspberry Pi GPIO, I2C sabirnici i drugom hardverskom I/O. Pi4J je samo jedan primjer podrške za obavljanje puno zabavnih stvari na Pi -u s Javom.

Morate prvo preuzeti biblioteku na svoju radnu stanicu. Pogledajte stranicu za preuzimanje Pi4J. Budući da ne instalirate Pi4J na Pi, preuzmite zip na svoju radnu stanicu. Možda ćete morati i ne morate eksplicitno raspakirati nakon preuzimanja zip datoteke.

Sada morate stvoriti "globalnu biblioteku" u NetBeansu:

  1. U glavnom meniju NetBeansa kliknite Alati -> Biblioteke. Vidjet ćete skočni prozor Upravitelj biblioteke mrava (slika prva).
  2. Kliknite Nova biblioteka u donjem lijevom kutu. Vidjet ćete skočni prozor Nova biblioteka (slika dva).
  3. Upišite smisleno ime koje želite koristiti i kliknite U redu. Ponovno ćete vidjeti skočni prozor Upravitelj biblioteke mrava. Sada prikazuje novu biblioteku koju ste stvorili (slika tri).
  4. Kliknite Dodaj JAR/Folder s desne strane. Vidjet ćete skočni prozor Browse JAR/Folder (slika četiri).
  5. Idite do, a zatim odaberite pi4j-core.jar. Zatim kliknite Dodaj JAR/fasciklu. Vratit ćete se na skočni prozor Upravitelj biblioteke mrava.
  6. U skočnom prozoru Upravitelj biblioteke mrava kliknite na U redu. Vratit ćete se na glavni prozor NetBeansa.

Dodali ste biblioteku tako da se može koristiti u bilo kojem projektu. Sada morate dodati biblioteku u svoj projekt:

  1. Otvorite skočni prozor Svojstva projekta (pogledajte korak 5) i odaberite kategoriju Biblioteke (slika pet).
  2. Kliknite Dodaj biblioteku na desnoj strani skočnog prozora. Vidjet ćete skočni prozor Dodaj biblioteku (slika šest).
  3. Idite do biblioteke i odaberite je. Zatim kliknite Dodaj biblioteku. Ponovo ćete vidjeti skočni prozor Svojstva projekta. Biblioteka se sada pojavljuje na popisu biblioteka za vrijeme kompajliranja u skočnom prozoru.
  4. U skočnom prozoru Svojstva projekta kliknite na dugme U redu. Vratit ćete se na glavni prozor.

Biblioteku ste dodali svom projektu tako da je vaš program može koristiti. Možete napraviti isti slijed radnji za sve biblioteke koje su vam potrebne za program.

Biblioteka vam je potrebna tri puta - kompajlirajte, sastavite i izvršite. Srećom, s NetBeans -om dodavanje biblioteke kao što je prikazano gore rješava sve. Da bih to potvrdio, stvorio sam drugu glavnu klasu koja radi apsolutni minimum neophodan za korištenje I2C sposobnosti u Pi4J (slika sedam). Činjenica da nema prikazanih grešaka znači da se klasa TestPi4J kompajlira. Klikom na Pokreni uspješno se gradi i preuzima; NetBeans preuzima biblioteku pored jar datoteke, pa će se program izvršiti. Da biste provjerili ovo drugo, možete koristiti tehniku u koraku 9 i u ssh klijentu unijeti sljedeću naredbu (iz dist direktorija):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Poučno je razumjeti kako NetBeans postupa s bibliotekama. Dok ste u dist direktoriju za vaš projekt, navedite sadržaj direktorija (koristite naredbu ls) i vidjet ćete poddirektorij lib. Navedite sadržaj tog direktorija i vidjet ćete jar datoteku identificiranu u globalnoj biblioteci, koja je u mom primjeru pi4j-core.jar. Sve biblioteke koje dodate projektu pojavit će se u lib direktoriju i stoga su dostupne svim programima u datoteci jar projekta.

Korak 11: Zabavite se

Opisao sam pristup za postizanje vrlo efikasnog Java razvoja za Raspberry Pi. Raspberry Pi je izuzetno popularna tehnologija za širok spektar projekata. Java je programski jezik profesionalnog razreda koji nudi prednosti performansi u odnosu na Python i nudi sigurnosne prednosti u odnosu na C/C ++. NetBeans je IDE profesionalnog razreda koji uvelike povećava produktivnost programera.

Mislim da je kombinacija prilično uvjerljiva. Sada se zabavite koristeći kombinaciju za svoje projekte.

Preporučuje se: