Sadržaj:

Učinkovit razvoj Jave za Raspberry Pi: 11 koraka (sa slikama)
Učinkovit razvoj Jave za Raspberry Pi: 11 koraka (sa slikama)

Video: Učinkovit razvoj Jave za Raspberry Pi: 11 koraka (sa slikama)

Video: Učinkovit razvoj Jave za Raspberry Pi: 11 koraka (sa slikama)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Srpanj
Anonim

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

U osnovi, pristup je udaljeni razvoj pomoću NetBeansa. NetBeans radi na radnoj stanici (stolno ili prijenosno računalo, a ne Raspberry Pi) spojeno putem Wi -Fi -ja na Raspberry Pi. Nakon što je sve ispravno postavljeno, možete napisati Java program u NetBeans, a zatim jednim klikom sastaviti i izgraditi program na radnoj stanici, preuzeti program na Pi, pokrenuti program na Pi i isporučiti izlaz na konzolu NetBeans. Magija! Možete čak i otkloniti pogreške u tekućem programu, postaviti toč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, prijeđite na korak 1.

Zašto koristiti Java na Raspberry Pi?

Za Raspberry Pi dostupno je mnogo programskih jezika, ali ograničit ću 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 te jezike.

Python je zapravo "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 tipkanju. Postoji jedna karakteristika Pythona prema kojoj je moja nesklonost objektivna - 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 "strojni jezik visoke razine", tj. Nešto što je vrlo blizu hardveru sustava ili barem operativnom sustavu. Možete učiniti gotovo sve, a to možete učiniti što je brže moguće; Zapravo, ovaj izvor sugerira da C može raditi do 7X brže od Jave. Također ne volim C budući da (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 što 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 sustava. Java sprječava takve opasnosti, pa je Java sigurnija. Osjećam da sigurnost također poboljšava produktivnost programera. C ++ smatram objektno orijentiranim "omotom" oko C-a koji ne čini ništa za uklanjanje opasnosti od 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 učiniti u C -u, a što se ne može učiniti 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 prodavača koji su isporučili "upravljačke programe" za senzore samo u Pythonu (ili C/C ++ za Arduino), pa sam morao napisati ekvivalent Jave; dodatni napor nije nužno produktivan, ali može rezultirati boljim uvidom u rad senzora.

Zašto daljinski razvoj temeljen na NetBeansu?

Otkrio sam da daljinski razvoj temeljen na NetBeansu uvelike povećava produktivnost kada koristi Javu za Raspberry Pi. Uvjeren sam da možete koristiti pristup za stvaranje brzih i sigurnih programa, zbog svojstvenih karakteristika Jave, dok ih pišete, izrađujete i otklanjate pogreške mnogo brže od drugih pristupa koje sam pronašao, zbog daljinskog razvoja pomoću "profesionalnog" razreda "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 podsustava, čak ni tijekom razvoja.

VNC poslužitelj uključen u Raspbian pruža udaljeno grafičko korisničko sučelje (GUI) koje omogućuje oblik udaljenog razvoja, gdje samo udaljeni GUI radi na radnoj stanici, a sve ostalo, pisanje, sastavljanje i izrada, odvija se na Pi. S VNC-om lako je koristiti razvojne alate sposobne za Java koji se isporučuju na Raspbian-u, poput BlueJ-a, Geany-a i Greenfoot-a. Neki od njih mogu se 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šća i zdrav razum ukazuju na to da bi rezultati bili razočaravajući zbog velikog memorijskog prostora i snage procesora koje takvi IDE -i zahtijevaju, kao i kašnjenja u mreži koje je uveo udaljeni GUI.

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

Korak 1: Postavite Raspberry Pi

Da biste koristili pristup daljinskog razvoja, morate početi postavljanjem ciljane Raspberry Pi. Dostupni su mnogi resursi, uključujući Instructables, koji pomažu u postavljanju Raspberry Pi. Pogledajte ovo za osnove postavljanja Pi (i više).

Ovaj Instructable pretpostavlja vas

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

Nakon što dovršite postavljanje, možete isključiti i odspojiti zaslon, tipkovnicu i miš s Pi. 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.

Za testiranje otvorite ssh klijent na svojoj radnoj stanici, npr. Terminal na MacOS -u ili kit na Windowsima. 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 za svoj korisnički ID 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 se pojavljuje otprilike ovako:

pi@raspberrypi: ~ $

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

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

sudo update-alternative --display java

Trebali biste vidjeti odgovor s prva dva retka koji izgleda ovako:

java - automatski način rada

veza najbolja verzija 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 put u drugi redak jer će vam trebati za konfiguriranje NetBeansa za daljinski razvoj u kasnijem koraku.

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

sudo update-alternative --config java

Korak 2: Instalirajte NetBeans na radnu stanicu

Sada morate instalirati NetBeans na svoju radnu stanicu. Usmjerite preglednik radne stanice na stranicu za preuzimanje NetBeans. 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ći gumb za preuzimanje. Ovdje možete pronaći dodatne upute 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 mogao bi izgledati malo drugačije u sustavu Windows.

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. To omogućuje NetBeansu preuzimanje i izvršavanje Java programa na Pi. Ovdje možete pronaći donekle opći opis.

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

Da biste konfigurirali Pi kao udaljenu platformu:

  1. Na glavnoj traci izbornika 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 1. koraku.
  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 1. koraku.
  8. U polje Remote JRE Path morate unijeti većinu puta do Java izvođenja na Pi. U 1. 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 ponovno vidjeti skočni prozor Java Platform Manager -a. Sada biste trebali vidjeti svoj daljinski Pi (pod imenom koji ste koristili u gornjoj radnji 4) pod kategorijom Udaljena Java SE (slika četiri).
  11. Pritisnite Test Platform u donjem lijevom kutu da biste testirali vezu između NetBeansa i vašeg Pi. 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 se u potpunosti objasni kako se koristi NetBeans ili Java, ali opisat ću minimalne radnje za pisanje programa u NetBeansu na radnoj stanici i, na kraju, daljinsko pokretanje programa na Raspberry Pi.

U NetBeansu morate najprije stvoriti projekt koji će sadržavati Java (e) klasu (e) za program. Nadalje, u Javi se klase nalaze u paketima za podršku organizaciji i sigurnosti. Da biste izradili projekt i po želji stvorili paket i datoteku 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 postavke (Kategorija: Java, Projekt: Java aplikacija) točne su za ovaj primjer, pa jednostavno kliknite Dalje. Vidjet ćete skočni prozor New Java Application [name and location] (slika dva prikazuje vrijednosti za moj primjer). NAPOMENA: Izmijenio sam svoje korisničke podatke pomoću pravokutnika u boji.
  3. U polje Naziv projekta unesite valjani naziv Java projekta po svom izboru. Naziv mora započeti velikim slovom, a konvencija sugerira veličinu slova deva pri povezivanju riječi.
  4. Polje Lokacija projekta kontrolira gdje se projekt nalazi u vašem datotečnom sustavu. Zadana vrijednost varira ovisno o operativnom sustavu, ali je prihvatljiva.
  5. Polje Mapa projekta omogućuje vam upravljanje imenom mape za projekt. Smatram da je najbolje upotrijebiti zadano, a to je povezivanje polja Lokacija i polja Ime.
  6. Kad je potvrdni okvir Stvori glavnu klasu potvrđen, NetBeans automatski stvara paket i datoteku glavne klase (program koji se može pokrenuti iz naredbenog retka) s istim imenom kao i projekt. 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 stvorili 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 metodom main (). 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 bi ponekad moglo biti 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. Desni klik ili dva prsta (ovisno o OS-u radne stanice) na projektu u oknu Projekti glavnog prozora NetBeansa da biste otvorili izbornik projekta i kliknite 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. Pritisnite Novo desno od polja Konfiguracija. U skočnom prozoru Stvori novu konfiguraciju unesite naziv konfiguracije i kliknite U redu. Ime može biti bilo što; Upravo sam ponovno upotrijebio naziv platforme ("Moj Pi"). Još jednom ćete vidjeti skočni prozor Svojstva projekta.
  4. Kliknite ikonu padajućeg izbornika desno od 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. Ponovno ćete vidjeti glavni prozor.

Sada ste spremni za pisanje koda i daljinsko pokretanje programa.

Korak 6: Napišite Java program na radnu stanicu 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, izrađuje jar datoteku, preuzima jar datoteku na Raspberry Pi koju je identificirala udaljena platforma, izvršava program na Pi, snima izlaz (System.out) programa i odjekuje taj izlaz u NetBeans Izlazno okno u donjem desnom kutu 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 pogreš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 pogrešaka u programu tijekom izvođenja. NetBeans omogućuje vam korištenje punog paketa alata za ispravljanje pogrešaka tijekom daljinskog izvođenja. To uključuje postavljanje točaka prekida na "važnim" ili "problematičnim" mjestima u programu i ispitivanje vrijednosti varijabli u trenutačnom stanju izvršenja.

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

Da biste iskoristili alate za ispravljanje pogrešaka, najprije morate postaviti jednu ili više točaka prekida. Da biste postavili točku prekida, kliknite na broj retka na kojem želite obustaviti izvršenje; pojavljuje se crvena ikona pravokutnika, a cijeli red dobiva crvenu pozadinu (slika jedna).

Da biste otklonili pogreške u programu koji se izvodi na Pi, kliknite ikonu Otklanjanje pogreš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. No, otklanjanjem pogrešaka, NetBeans zaustavlja izvršavanje na točkama prekida i omogućuje vam da pregledate stanje izvršenja (slika dva, koja prikazuje okno Varijable u donjem desnom kutu).

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 točkom prekida u retku 9, varijabla a još ne postoji, a još manje ima vrijednost.

Sada zadržite pokazivač iznad ikone izbornika za otklanjanje pogrešaka u glavnom prozoru (prva ikona sa dvostrukom strelicom prema dolje desno od ikone za otklanjanje pogrešaka) i kliknite ikonu Korak preko (u pozadini ima plavi dokument i zelenu strelicu u smjeru kazaljke na satu) u prvom planu). [NAPOMENA: ako učinite da vaš glavni prozor NetBeansa bude dovoljno širok, izbornik za otklanjanje pogrešaka će se proširiti, a ikone radnji otklanjanja pogrešaka pojavit će se desno od ikone za otklanjanje pogrešaka.] NetBeans izvršava naredbu na toč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 ikonu Step Over. Vidjet ćete da sve tri varijable imaju vrijednosti; imajte na umu da je c još uvijek nula (slika četiri).

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

Na kraju, u izborniku za otklanjanje pogrešaka kliknite ikonu Pokreni (zeleni krug s bijelom strelicom). To uzrokuje nastavak izvođenja na sljedeću točku prekida ili na kraj programa, što god prije nastupi. Sada se pojavljuje okno Output i prikazuje isti izlaz kao i kod normalnog izvođenja, u ovom slučaju tekst u iskazu ispisa.

Korak 8: Izvedite program neovisno o NetBeansu

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

Zapamtite od koraka 3 da NetBeans stavlja vaš staklenku projekta u radni direktorij na Pi. Zadana je baza/home/pi/NetBeansProjects za korisnika pi. Određeni direktorij ima isto ime kao i vaš projekt. NetBeans staklenku stavlja u poddirektorij koji se naziva dist. Za moj primjer, puni put je/home/pi/NetBeansProjects/MyRemoteProg/dist. U ssh klijentu na Pi -u za izvođenje programa možete koristiti naredbu java 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!

To radi jer podaci u jar datoteci identificiraju koju glavnu klasu u staklenci treba izvršiti.

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

java -jar MyRemoteProg.jar

Korak 9: Izgradite 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 događa se kada vašem programu treba unos s tipkovnice. Ako je to slučaj, koristeći tehniku u prethodnom koraku, nakon što napravite i preuzmete, program se izvršava na Raspberry Pi -u pa očekuje unos s tipkovnice od Pi -a, ali naravno, na Pi nije priključena tipkovnica, pa program visi - nije dobro.

Za izvođenje programa morate koristiti nešto drugačiju tehniku. U osnovi, stvarate "lažnu" datoteku glavne klase koja u biti 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 izravno na Pi.

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 razreda unesite naziv. Ime može biti sve što vam se sviđa; Koristio sam "Dummy". Polje Package omogućuje vam identifikaciju paketa klase; paket odabirete pomoću padajućeg izbornika s desne strane polja. Klasa može biti u istom paketu s vašim "pravim" programom ili u drugom paketu; Stavila sam novu klasu u isti paket. Pritisnite Završi. Sada ćete vidjeti glavni prozor NetBeansa s novom datotekom u gornjem desnom kutu (slika prva). Dodao sam jednostavnu ispisnu izjavu o trčanju na Pi -u, ali zapravo ništa nije potrebno.

Da biste pokrenuli "Dummy" nakon preuzimanja, morate ga učiniti "glavnom klasom za zadano izvršavanje" 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 Pregledaj glavne klase (slika dva).
  2. Odaberite klasu "Lutke". Pritisnite Odaberi glavnu klasu. Ponovno ćete vidjeti svojstva projekta.
  3. Pritisnite U redu. Vratit ćete se na glavni prozor.

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

Da biste izvršili svoj pravi program na Pi -u, sada morate koristiti naredbu java s opcijom 'classpath', koja zahtijeva da izričito identificirate glavnu klasu za izvođenje. Iz ssh klijenta idite u dist direktorij za svoj projekt. Pravilna naredba ima sljedeći oblik:

java -cp ime_projekta.jar ime_paketa.naziv_razreda

Project_name očito se odnosi na projekt; to se mijenja samo kada se bavite novim projektom. Naziv package_name se naravno odnosi na paket, a class_name 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 naredbenog retka. 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 knjižnicom NetBeans

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

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

Knjižnicu morate prvo preuzeti 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 izričito raspakirati nakon preuzimanja zip datoteke.

Sada morate stvoriti "globalnu biblioteku" u NetBeansu:

  1. Na glavnom izborniku NetBeansa kliknite Alati -> Knjižnice. Vidjet ćete skočni prozor Upravitelj biblioteke mrava (slika prva).
  2. Kliknite Nova biblioteka u donjem lijevom kutu. Vidjet ćete skočni prozor Nova knjižnica (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. Pritisnite Dodaj JAR/mapu s desne strane. Vidjet ćete skočni prozor Browse JAR/Folder (slika četiri).
  5. Idite do i odaberite pi4j-core.jar. Zatim kliknite Dodaj JAR/mapu. Vratit ćete se na skočni prozor Upravitelj biblioteke mrava.
  6. U skočnom prozoru Upravitelj biblioteke mrava kliknite 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 Knjižnice (slika pet).
  2. Kliknite Dodaj biblioteku na desnoj strani skočnog prozora. Vidjet ćete skočni prozor Dodaj knjižnicu (slika šest).
  3. Dođite do biblioteke i odaberite je. Zatim kliknite Dodaj biblioteku. Ponovno ćete vidjeti skočni prozor Svojstva projekta. Knjižnica se sada pojavljuje na popisu biblioteka za vrijeme sastavljanja u skočnom prozoru.
  4. U skočnom prozoru Svojstva projekta kliknite U redu. Vratit ćete se na glavni prozor.

Biblioteku ste dodali u svoj projekt kako bi je vaš program mogao koristiti. Možete napraviti isti slijed radnji za sve knjižnice koje su vam potrebne za program.

Knjižnica vam je potrebna tri puta - kompajlirajte, sastavite i izvršite. Srećom, s NetBeans -om dodavanje knjižnice kao što je prikazano gore rješava sve. Da bih to potvrdio, stvorio sam drugu glavnu klasu koja čini apsolutni minimum potreban za korištenje mogućnosti I2C u Pi4J (slika sedam). Činjenica da nema prikazanih pogrešaka znači da se klasa TestPi4J sastavlja. Klikom na Pokreni uspješno se gradi i preuzima; NetBeans preuzima biblioteku uz jar datoteku, pa će se program izvršiti. Da biste provjerili potonje, možete upotrijebiti tehniku u koraku 9 i u ssh klijentu unijeti sljedeću naredbu (iz direktorija dist):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Poučno je razumjeti kako NetBeans postupa s knjižnicama. Dok ste u direktoriju dist 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 knjižnice koje dodate projektu pojavit će se u direktoriju lib i stoga su dostupne svim programima u datoteci jar projekta.

11. korak: Zabavite se

Opisao sam pristup za postizanje vrlo učinkovitog razvoja Jave za Raspberry Pi. Raspberry Pi je iznimno 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čeni: