Obsah:

Efektivní vývoj Javy pro Raspberry Pi: 11 kroků (s obrázky)
Efektivní vývoj Javy pro Raspberry Pi: 11 kroků (s obrázky)

Video: Efektivní vývoj Javy pro Raspberry Pi: 11 kroků (s obrázky)

Video: Efektivní vývoj Javy pro Raspberry Pi: 11 kroků (s obrázky)
Video: Top 10 jazyků 2021. Java 16/17. Procesory 3 nm. Triumf Netflixu [MJC news # 5] NOVINKY ÚNOR. 2024, Listopad
Anonim

Tento Instructable popisuje velmi účinný přístup k vývoji programů Java pro Raspberry Pi. Použil jsem tento přístup k vývoji funkcí Java od podpory zařízení nízké úrovně až po vícevláknové a síťové programy. Tento přístup je nejen efektivní, ale také zdarma!

V zásadě jde o vzdálený vývoj pomocí NetBeans. NetBeans běží na pracovní stanici (stolní nebo přenosný počítač, nikoli Raspberry Pi) připojené přes Raspberry Pi přes Wifi. Jakmile je vše správně nastaveno, můžete napsat program Java do NetBeans a poté jediným kliknutím program zkompilovat a sestavit na pracovní stanici, stáhnout program na Pi, spustit program na Pi a dodat výstup do konzoly NetBeans. Kouzlo! Můžete dokonce ladit běžící program, nastavovat zarážky a zkoumat hodnoty proměnných. Více magie!

Zbytek tohoto úvodu popisuje motivaci pro používání Javy a pro vzdálený vývoj pomocí NetBeans. Pokud vám záleží na motivaci, čtěte dále. Pokud vám to nevadí, přejděte ke kroku 1.

Proč používat Java na Raspberry Pi?

Pro Raspberry Pi je k dispozici mnoho programovacích jazyků, ale diskusi omezím na programovací jazyky „profesionální třídy“, které se zaměřují na samostatné programy, podporují více úkolů, umožňují přístup k hardwaru a síti atd. To znamená Java, Python nebo C/C ++. Nejnovější verze Raspbian zahrnují vývojovou a běhovou podporu pro všechny tyto jazyky.

Python je ve skutečnosti „propagován“pro použití na Pi, alespoň částečně pro jeho snadné učení pro nové programátory. Jsem zkušený programátor a Python nemám v oblibě kvůli přiznané subjektivní nechuti k řadě jeho charakteristik, například dynamickému psaní. Existuje jedna charakteristika Pythonu, pro kterou je moje nechuť objektivní - výkon. Tento zdroj ukazuje, že Java je vždy rychlejší než Python 3 a ve skutečnosti může běžet stokrát rychleji, v závislosti na úkolu.

C je podle mého názoru „strojový jazyk na vysoké úrovni“, tj. Něco, co je velmi blízké systémovému hardwaru nebo alespoň operačnímu systému. Můžete dělat téměř cokoli a můžete to udělat co nejrychleji; ve skutečnosti tento zdroj naznačuje, že C může běžet až 7krát rychleji než Java. Nemám také rád C, protože se mi (subjektivně) nelíbí některé z jeho charakteristik, které považuji za tajemné, archaické nebo obojí; například explicitní ukazatele. Objektivně skutečnost, že můžete dělat cokoli, znamená, že jste pouze temnou chybou (např. Špatnou aritmetikou ukazatele nebo chybným memcpy) daleko od přepsání paměti a potenciálního zhroucení programu nebo dokonce celého systému. Java takovým nebezpečím předchází, takže je Java bezpečnější. Cítím, že bezpečnost také zvyšuje produktivitu programátora. Považuji C ++ za objektově orientovaný "obal" kolem C, který nedělá nic, co by eliminovalo nebezpečí C.

Sečteno a podtrženo: Java je rychlejší než Python. Java je bezpečnější než C.

Existují při používání Javy nějaká omezení?

Dosud jsem v Javě mohl dělat vše, co v Pythonu. Jsou věci, které člověk může dělat v C, které nemůže dělat v Javě, ale zase, zatím vše, co jsem chtěl dělat, řešili fanoušci Javy v komunitě Pi. V dalším kroku nabídnu příklad. To znamená, že jsem zakoupil senzory od prodejců, kteří dodali „ovladače“pro senzory pouze v Pythonu (nebo C/C ++ pro Arduino), takže jsem musel napsat ekvivalent Java; zvýšené úsilí nemusí být nutně produktivní, ale může mít za následek lepší vhled do činnosti senzoru.

Proč vzdálený vývoj založený na NetBeans?

Zjistil jsem, že vzdálený vývoj založený na NetBeans výrazně zvyšuje produktivitu při používání Javy pro Raspberry Pi. Jsem přesvědčen, že tento přístup můžete použít k vytváření rychlých a bezpečných programů, vzhledem k inherentním vlastnostem Javy, při jejich psaní, vytváření a ladění mnohem rychleji než u jiných přístupů, které jsem našel, díky vzdálenému vývoji pomocí „profesionálního“stupeň Integrované vývojové prostředí NetBeans (IDE).

Může být užitečné krátce diskutovat o těchto „jiných přístupech“. Všechny splňují základní kritéria, podle kterých Raspberry Pi nemá připojenou klávesnici, myš ani displej. Tato kritéria mají mnoho důvodů, ale mým hlavním důvodem je, že vyvíjím mobilní roboty a nechci, aby byl Pi připojen k jakémukoli perifernímu zařízení kromě robotických subsystémů, a to i během vývoje.

Server VNC obsažený v Raspbian poskytuje vzdálené grafické uživatelské rozhraní (GUI), které umožňuje formu vzdáleného vývoje, kdy na pracovní stanici běží pouze vzdálené grafické uživatelské rozhraní a vše ostatní, psaní, kompilace a vytváření, probíhá na Pi. S VNC je snadné používat vývojové nástroje schopné Java, které jsou dodávány v Raspbian, jako BlueJ, Geany a Greenfoot. Některé z nich lze považovat za IDE; nacházím je však daleko od profesionální třídy.

Technicky je možné na Raspberry Pi nainstalovat profesionální IDE Java, jako je Eclipse nebo NetBeans, a používat ji vzdáleně prostřednictvím VNC. Zprávy a zdravý rozum naznačují, že výsledky budou zklamáním, a to kvůli velké paměti a výkonu procesoru, které IDE vyžadují, a také kvůli latenci sítě zavedené vzdáleným grafickým uživatelským rozhraním.

Eclipse i NetBeans fungují na pracovní stanici velmi dobře. S Eclipse je psaní kódu příjemným zážitkem, budování programu však nikoli; stahování programu musí probíhat mimo Eclipse; spuštění programu na Pi je zcela nezávislé na Eclipse. Celkovým výsledkem je vícekrokový, téměř bolestivý proces, který nemůže podporovat vzdálené ladění. NetBeans má vestavěné kompilace, sestavování, stahování, vzdálené spouštění a vzdálené ladění, což z něj činí vynikající přístup.

Krok 1: Nastavte Raspberry Pi

Chcete -li použít přístup vzdáleného vývoje, musíte začít nastavením cílového Raspberry Pi. K dispozici je mnoho zdrojů, včetně Instructables, které vám pomohou s nastavením Raspberry Pi. Podívejte se na základy nastavení Pi (a další).

Tento Instructable vás předpokládá

  • nainstalujte nejnovější Raspbian; nezapomeňte zaznamenat ID uživatele a heslo Pi
  • nastavit Wifi a připojit se k routeru (viz toto); nezapomeňte zaznamenat IP adresu Pi
  • povolením SSH (viz toto) povolíte vzdálený přístup k Pi z pracovní stanice

Jakmile nastavení dokončíte, můžete vypnout a odpojit displej, klávesnici a myš od počítače Pi. To je jedna z klíčových výhod vzdáleného vývoje. Jakýkoli Wifi dongle musíte nechat připojený (samozřejmě není potřeba pro Pi model 3 nebo Pi Zero W) a poté můžete Pi zapnout.

Chcete -li otestovat, otevřete na své pracovní stanici klienta ssh, např. Terminal na MacOS nebo tmel na Windows. Poté zadejte příkaz ssh (bezpečný shell) v následujícím formuláři:

ssh the_pi_ip_address -l the_pi_user_id

Měli byste dostat výzvu k zadání hesla vašeho ID uživatele Pi. Pokud se nezobrazí žádná výzva, zkontrolujte, zda jste v příkazu ssh zadali správnou IP adresu. Zadejte své heslo (bude skryté) a poté byste měli vidět výzvu Pi's shell, která vypadá takto:

pi@raspberrypi: ~ $

Pokud se výzva nezobrazuje, zkontrolujte ID uživatele a heslo, které jste použili.

Nyní musíte najít cestu k běhovému prostředí Java a potvrdit, že výchozí verze je Java 8 (pro nejnovější Raspbian by to mělo platit). Chcete -li najít cestu runtime Java, zadejte do ssh klienta příkaz

sudo update-alternatives --display java

Měli byste vidět odpověď s prvními dvěma řádky, které vypadají takto:

java - automatický režim

nejlepší verze odkazu je/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

„-8-“ve druhém řádku potvrzuje, že výchozí doba běhu je Java 8. Zaznamenejte cestu do druhého řádku, jak budete potřebovat ke konfiguraci NetBeans pro vzdálený vývoj v pozdějším kroku.

Pokud výchozí doba běhu není Java 8, v klientu ssh zadejte následující příkaz pro přepnutí na Java 8 (za předpokladu, že je nainstalován)

sudo update-alternatives --config java

Krok 2: Nainstalujte NetBeans na pracovní stanici

Nyní musíte na pracovní stanici nainstalovat NetBeans. Namiřte prohlížeč své pracovní stanice na stránku pro stahování NetBeans. Uvidíte několik možných balíčků, které podporují dvě edice Javy a dalších jazyků. Vše, co potřebujete pro vývoj Java pro Raspberry Pi, je Java SE, ale můžete získat balíček Java EE nebo balíček All. Jakmile se rozhodnete, který balíček chcete, klikněte na odpovídající tlačítko Stáhnout. Další pokyny k instalaci operačního systému pracovní stanice najdete zde.

Jakmile nainstalujete NetBeans, spusťte jej (může se tak stát automaticky po instalaci). Měli byste vidět hlavní okno NetBeans, jak je znázorněno na obrázku. Snímek byl pořízen na počítači Mac a hlavní okno může ve Windows vypadat trochu jinak.

Jakmile úspěšně nainstalujete a spustíte NetBeans, pokračujte dalším krokem.

Krok 3: Konfigurujte Raspberry Pi jako vzdálenou platformu v NetBeans

Konfigurujte Raspberry Pi jako vzdálenou platformu v NetBeans
Konfigurujte Raspberry Pi jako vzdálenou platformu v NetBeans

Následující akce konfigurují Raspberry Pi jako vzdálenou platformu Java SE pro NetBeans. To umožňuje NetBeans stahovat a spouštět programy Java na Pi. Trochu obecný popis najdete zde.

POZNÁMKA: V tomto a následujících krocích zobrazuji hodnoty specifické pro mé prostředí pro různé aspekty konfigurace a kódování; ten tvůj bude evidentně jiný.

Konfigurace Pi jako vzdálené platformy:

  1. Na hlavním panelu nabídek NetBeans vyberte Nástroje -> Platformy Java. Zobrazí se vyskakovací okno Java Platform Manager (obrázek 1).
  2. Vlevo dole klikněte na Přidat platformu. Zobrazí se vyskakovací okno Přidat platformu Java [typ platformy] (obrázek dva).
  3. Zvolte Remote Java Standard Edition. Klikněte na Další. Zobrazí se vyskakovací okno Přidat platformu Java [nastavit vzdálenou platformu] (obrázek tři ukazuje vyskakovací okno poté, co jsem do polí zadal správné hodnoty pro své prostředí).
  4. Do pole Název platformy zadejte název Pi. Můžete použít téměř cokoli, ale musí to být jedinečné.
  5. Do pole Host zadejte IP adresu Pi nalezeného v kroku 1.
  6. Do pole Uživatelské jméno zadejte uživatelské jméno, které jste použili v kroku 1.
  7. Ponechte zaškrtnuté Použít ověřování heslem a do pole Heslo zadejte heslo, které jste vytvořili v kroku 1.
  8. Do pole Vzdálená cesta JRE musíte zadat většinu cesty k běhovému prostředí Java na Pi. V kroku 1 to bylo/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java. V hodnotě pole však musíte upustit /bin /java.
  9. NetBeans stáhne spustitelný program do pracovního adresáře na Pi, identifikovaného v poli Working Dir. Výchozí hodnota je/the_Pi_user_ID/NetBeansProjects/a je zcela přijatelná. Pokud chcete, můžete použít něco jiného, i když to musí být k dispozici pro_Pi_user_ID (obrázek tři).
  10. V pravém dolním rohu vyskakovacího okna klikněte na Dokončit. Po zpracování byste měli znovu vidět vyskakovací okno Java Platform Manager. Nyní byste měli vidět svůj vzdálený Pi (pod názvem, který jste použili v akci 4 výše) v kategorii Remote Java SE (obrázek čtyři).
  11. Kliknutím na Testovat platformu vlevo dole otestujte spojení mezi NetBeans a vaším Pi. Nejprve uvidíte vyskakovací okno s názvem Ověřování vzdálené platformy. Pokud bude úspěšné, zobrazí se druhé vyskakovací okno označující připojení … úspěšně navázáno. Pokud ne, je třeba zkontrolovat a opravit informace, které jste zadali do vyskakovacího okna Přidat platformu Java [nastavit vzdálenou platformu] v akcích 5-9 výše. Můžete to udělat z vyskakovacího okna Java Platform Manager; jednoduše vyberte svou platformu Pi a poté upravte pole na pravé straně vyskakovacího okna.
  12. Po úspěšném připojení klikněte ve vyskakovacím okně Java Platform Manager na Zavřít. Nyní uvidíte hlavní okno NetBeans.

Nyní může začít ta pravá zábava!

Krok 4: Vytvořte projekt Java na pracovní stanici

Toto není zamýšleno jako úplné vysvětlení toho, jak používat NetBeans nebo Java, ale popíšu minimální akce pro napsání programu v NetBeans na pracovní stanici a nakonec spustím program vzdáleně na Raspberry Pi.

V NetBeans musíte nejprve vytvořit projekt, který bude obsahovat třídy Java programu. V Javě jsou třídy umístěny v balíčcích na podporu organizace a zabezpečení. Chcete -li vytvořit projekt a volitelně vytvořit balíček a soubor třídy:

  1. V hlavním okně NetBeans klikněte na ikonu nového projektu (2. zleva). Zobrazí se vyskakovací okno Nový projekt [vybrat projekt] (obrázek 1).
  2. Výchozí hodnoty (Kategorie: Java, Projekt: Aplikace Java) jsou pro tento příklad správné, takže jednoduše klikněte na Další. Uvidíte vyskakovací okno Nová aplikace Java [název a umístění] (obrázek dva ukazuje hodnoty pro můj příklad). POZNÁMKA: Upravil jsem své uživatelské informace pomocí barevných obdélníků.
  3. Do pole Název projektu zadejte platný název projektu Java podle vašeho výběru. Název musí začínat velkým písmenem a konvence při spojování slov navrhuje velbloudí případ.
  4. Pole Umístění projektu určuje, kde se projekt ve vašem systému souborů nachází. Výchozí nastavení se liší v závislosti na operačním systému, ale je bezpečné ho přijmout.
  5. Pole Složka projektu umožňuje ovládat název složky pro projekt. Považuji za nejlepší použít výchozí, což je zřetězení pole Umístění a pole Název.
  6. Když je zaškrtnuto políčko Vytvořit hlavní třídu, NetBeans automaticky vytvoří balíček a soubor hlavní třídy (program, který lze spustit z příkazového řádku) se stejným názvem jako projekt. Myslím, že obvykle by to mělo být nezaškrtnuto, ale v tomto případě to nechám zaškrtnuté, což eliminuje explicitní akce, které jsou jinak nutné (obrázek 2).
  7. Kliknutím na Dokončit vytvoříte projekt, balíček a soubor hlavní třídy. Nyní levý horní panel hlavního okna NetBeans ukazuje váš projekt, který obsahuje jeden balíček, který zase obsahuje soubor jedné třídy s metodou main (). Pravý horní panel obsahuje výchozí zdrojový kód pro hlavní třídu (program) automaticky generovaný NetBeans (obrázek tři).

V tomto okamžiku byste mohli napsat nějaký kód do hlavní metody a spustit ho na pracovní stanici. Někdy to může být žádoucí, ale pro tento Instructable to není nutné, takže pokračujte dalším krokem.

Krok 5: Konfigurujte projekt NetBeans tak, aby běžel vzdáleně na Raspberry Pi

Chcete -li nakonfigurovat projekt NetBeans a program, který obsahuje, ke vzdálenému spuštění na Raspberry Pi, postupujte takto:

  1. Kliknutím pravým tlačítkem nebo dvěma prsty (závisí na operačním systému pracovní stanice) na projekt v podokně Projekty v hlavním okně NetBeans otevřete nabídku projektu a klikněte na Vlastnosti. Zobrazí se vyskakovací okno Vlastnosti projektu (obrázek ukazuje vyskakovací okno se správnými hodnotami pro můj příklad).
  2. V části Kategorie vlevo vyberte Spustit.
  3. Klikněte na Nový vpravo od pole Konfigurace. Do výsledného vyskakovacího okna Vytvořit novou konfiguraci zadejte název konfigurace a klikněte na OK. Název může být jakýkoli; Znovu jsem použil název platformy („My Pi“). Opět se zobrazí vyskakovací okno Vlastnosti projektu.
  4. Klikněte na ikonu rozevíracího seznamu vpravo od pole Runtime Platform. Ze seznamu ve vyskakovacím okně vyberte vzdálenou platformu, kterou jste vytvořili dříve (v mém prostředí „My Pi“).
  5. Kliknutím na OK nastavíte vzdálenou platformu pro projekt. Opět uvidíte hlavní okno.

Nyní jste připraveni napsat kód a spustit program na dálku.

Krok 6: Napište program Java na pracovní stanici a spusťte jej na Raspberry Pi

Pravý panel v hlavním okně NetBeans zobrazuje soubor hlavní třídy generovaný NetBeans. Zadejte jednoduchý tiskový příkaz do hlavní metody souboru třídy (obrázek 1). Nyní je to kompletní program Java, který něco dělá, i když něco velmi jednoduchého.

Chcete-li spustit program na Pi, klikněte na ikonu Spustit (zelená šipka směřující doleva) v hlavním okně. NetBeans kompiluje kód, vytvoří soubor jar, stáhne soubor jar do Raspberry Pi identifikovaného vzdálenou platformou, spustí program na Pi, zachytí výstup (System.out) programu a tento výstup ozve do NetBeans Výstupní podokno v pravé dolní části hlavního okna (obrázek dva).

Nyní jste výrazně rozšířili své dovednosti pro vývoj projektů na Raspberry Pi! Ale počkej…. Je toho víc!

Krok 7: Ladění programu Java pomocí NetBeans

Jednou z nejsilnějších funkcí průmyslové integrované vývojové prostředí, jako je NetBeans, je schopnost ladit program za běhu. NetBeans vám umožňuje využívat celou sadu nástrojů pro ladění při vzdáleném běhu. To zahrnuje nastavení zarážek na „důležitých“nebo „problémových“místech v programu a zkoumání hodnoty proměnných v aktuálním stavu provádění.

Jednoduchý program v posledním kroku je příliš jednoduchý na demonstraci ladění, proto jsem do programu přidal nějaký další kód. Další kód přidá dvě proměnné.

Chcete -li využít nástroje pro ladění, musíte nejprve nastavit jeden nebo více zarážek. Chcete -li nastavit zarážku, klikněte na číslo řádku, kde chcete pozastavit provádění; zobrazí se ikona červeného obdélníku a celý řádek získá červené pozadí (obrázek 1).

Chcete -li ladit program spuštěný na Pi, klikněte na ikonu Debug (hned napravo od ikony Run) v hlavním okně NetBeans. Stejně jako u běžného spouštění NetBeans tento výstup kompiluje, vytváří, stahuje, spouští, zachycuje a opakuje. Ale s laděním NetBeans zastaví provádění na zarážkách a umožní vám prozkoumat stav spuštění (obrázek dva, zobrazující podokno Proměnné vpravo dole).

Provedení se zastaví na zarážce před provedením instrukce na řádku s zarážkou. Zelené pozadí označuje další příkaz, který má být proveden. V mém příkladu tedy s bodem zlomu na řádku 9 proměnná a ještě neexistuje, tím méně má hodnotu.

Nyní najeďte kurzorem na ikonu nabídky ladění v hlavním okně (první ikona dvojité šipky dolů vpravo od ikony Debug) a klikněte na ikonu Překročit (na pozadí je modrý dokument a zelená šipka proti směru hodinových ručiček v popředí). [POZNÁMKA: Pokud uděláte hlavní okno NetBeans dostatečně široké, nabídka ladění se rozšíří a ikony akce ladění se zobrazí vpravo od ikony Debug.] NetBeans provede příkaz na zarážce a zastaví provádění před dalším příkazem. Nyní uvidíte, že proměnná a existuje a má očekávanou hodnotu (obrázek tři).

Dvakrát klikněte na ikonu Přechod. Uvidíte, že všechny tři proměnné mají hodnoty; Všimněte si, že c je stále nula (obrázek čtyři).

Jednou klikněte na ikonu Přechod. Uvidíte, že proměnná c má nyní správnou hodnotu, tj. Součet proměnných a a b (obrázek pět).

Nakonec v nabídce ladění klikněte na ikonu Spustit (zelený kruh s bílou šipkou). To způsobí, že spuštění pokračuje k dalšímu zarážce nebo ke konci programu, podle toho, co nastane dříve. Nyní se zobrazí podokno Výstup a ukazuje stejný výstup jako při normálním spuštění, v tomto případě text v tiskovém příkazu.

Krok 8: Proveďte program nezávisle na NetBeans

Může nastat chvíle, kdy budete chtít spustit svůj program na Raspberry Pi bez „pomoci“nebo „rušení“od NetBeans. Je to velmi jednoduché. Nejprve otevřete ssh klienta pro váš Pi.

Pamatujte si od kroku 3, že NetBeans umístí vaši projekt jar do pracovního adresáře na Pi. Výchozí základna je/home/pi/NetBeansProjects pro uživatele pi. Konkrétní adresář má stejný název jako váš projekt. NetBeans umístí nádobu do podadresáře nazývaného dist. Pro můj příklad je úplná cesta/home/pi/NetBeansProjects/MyRemoteProg/dist. V klientu ssh na Pi můžete ke spuštění programu použít příkaz java s volbou 'jar':

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

Výsledky provedení uvidíte v klientu ssh; v mém příkladu bude výstup

Zdravím z Raspberry Pi!

To funguje, protože informace v souboru jar identifikují, kterou hlavní třídu v jar je třeba spustit.

Můžete také změnit pracovní adresář (přes cd) na umístění souboru jar a poté vydat kratší příkaz pro dosažení stejných výsledků.

java -jar MyRemoteProg.jar

Krok 9: Sestavte a stáhněte, ale neprovádějte program přes NetBeans

Existují situace, kdy chcete, aby NetBeans sestavil a stáhl váš program, ale nikoli jej spustil. Jedna taková situace nastane, když váš program potřebuje vstup z klávesnice. Pokud je tomu tak, pomocí techniky v předchozím kroku, jakmile vytvoříte a stáhnete, program se spustí na Raspberry Pi, a tak očekává vstup klávesnice z Pi, ale samozřejmě k Pi není připojena žádná klávesnice, takže program visí - není dobrý.

Ke spuštění programu musíte použít poněkud jinou techniku. V zásadě vytvoříte „fiktivní“soubor hlavní třídy, který v podstatě nic nedělá, a identifikujete jej jako program, který má být spuštěn po stažení. V takovém případě se „figurína“spustí a poté můžete svůj „skutečný“program spustit přímo na Pi.

Chcete -li použít tuto techniku, nejprve vytvořte novou hlavní třídu:

  1. Vyvolejte nabídku projektu jako v kroku 5 a klikněte na Nový-> Hlavní třída Java. Uvidíte vyskakovací okno Nová hlavní třída Java.
  2. Do pole Název třídy zadejte název. Název může být libovolný; Použil jsem „Dummy“. Pole Balíček vám umožňuje identifikovat balíček třídy; balíček vyberete pomocí rozevíracího seznamu napravo od pole. Třída může být ve stejném balíčku jako váš „skutečný“program nebo v jiném balíčku; Novou třídu jsem vložil do stejného balíčku. Klikněte na Dokončit. Nyní uvidíte hlavní okno NetBeans s novým souborem v pravém horním panelu (obrázek 1). Přidal jsem jednoduché tiskové prohlášení o běhu na Pi, ale ve skutečnosti není nic potřeba.

Chcete -li po stažení spustit „Dummy“, musíte z něj udělat „hlavní třídu, která se má ve výchozím nastavení spouštět“pro projekt:

  1. Otevřete Vlastnosti projektu jako v kroku 5. Vyberte kategorii Spustit. Klikněte na Procházet napravo od pole Hlavní třída. Zobrazí se vyskakovací okno Procházet hlavní třídy (obrázek 2).
  2. Vyberte třídu „Dummy“. Klikněte na Vybrat hlavní třídu. Ještě jednou uvidíte Vlastnosti projektu.
  3. Klikněte na OK. Vrátíte se do hlavního okna.

Nyní, když kliknete na ikonu Spustit, NetBeans vyhoví/vytvoří celý projekt, stáhne jar obsahující všechny soubory tříd do Pi a spustí třídu „Dummy“(obrázek tři).

Chcete -li spustit svůj skutečný program na Pi, musíte nyní použít příkaz java s volbou 'classpath', která vyžaduje, abyste výslovně identifikovali hlavní třídu, kterou chcete spustit. Z klienta ssh přejděte do adresáře dist pro váš projekt. Správný příkaz má tvar:

java -cp název_projektu.jar název_balíku.třída_třídy

Název_projektu zjevně odkazuje na projekt; to se mění pouze při řešení nového projektu. Název_balíčku samozřejmě odkazuje na balíček a název_třídy odkazuje na hlavní třídu, kterou je třeba spustit. Jak již bylo řečeno, projekt může obsahovat mnoho balíčků. Podobně balíček může obsahovat mnoho tříd a všechny mohou být hlavní třídy nebo programy, které lze spustit z příkazového řádku. Technika 'classpath' je tedy velmi užitečná pro vývoj sofistikovaných programů s mnoha třídami, z nichž některé jsou hlavními třídami pouze pro pomoc při testování jednotek.

Následující příklad spustí můj ukázkový program:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

Krok 10: Využijte správu knihovny NetBeans

Jedním z nejtěžších, ale nejdůležitějších aspektů sofistikovaných programů je práce s knihovnami, tj. Kód, který již napsal někdo jiný. NetBeans odvádí obdivuhodnou práci při odstraňování většiny bolestí spojených se správou knihovny.

Jako příklad použiji Pi4J, který dává programům Java přístup k Raspberry Pi GPIO, sběrnici I2C a dalším hardwarovým I/O. Pi4J je jen jedním příkladem podpory pro spoustu zábavných věcí na Pi s Javou.

Knihovnu si musíte nejprve stáhnout na svou pracovní stanici. Podívejte se na stránku pro stažení Pi4J. Protože na Pi neinstalujete Pi4J, stáhněte si zip na svou pracovní stanici. Po stažení zipu můžete, ale možná nebudete muset explicitně rozbalit.

Nyní musíte v NetBeans vytvořit „globální knihovnu“:

  1. V hlavní nabídce NetBeans klikněte na Nástroje -> Knihovny. Uvidíte vyskakovací okno Ant Library Manager (obrázek 1).
  2. Vlevo dole klikněte na Nová knihovna. Zobrazí se vyskakovací okno Nová knihovna (obrázek dva).
  3. Zadejte smysluplný název, který chcete použít, a klikněte na OK. Opět uvidíte vyskakovací okno Ant Library Manager. Nyní ukazuje novou knihovnu, kterou jste vytvořili (obrázek tři).
  4. Vpravo klikněte na Přidat JAR/složku. Uvidíte vyskakovací okno Procházet JAR/složku (obrázek čtyři).
  5. Přejděte na a pak vyberte pi4j-core.jar. Poté klikněte na Přidat JAR/složku. Vrátíte se do vyskakovacího okna Ant Library Manager.
  6. Ve vyskakovacím okně Ant Library Manager klikněte na OK. Vrátíte se do hlavního okna NetBeans.

Přidali jste knihovnu, aby ji bylo možné použít v jakémkoli projektu. Nyní musíte do svého projektu přidat knihovnu:

  1. Otevřete vyskakovací okno Vlastnosti projektu (viz krok 5) a vyberte kategorii Knihovny (obrázek pět).
  2. Klikněte na Přidat knihovnu na pravé straně vyskakovacího okna. Zobrazí se vyskakovací okno Přidat knihovnu (obrázek šest).
  3. Přejděte do knihovny a vyberte ji. Poté klikněte na Přidat knihovnu. Znovu se zobrazí vyskakovací okno Vlastnosti projektu. Knihovna se nyní zobrazí v seznamu knihoven kompilace ve vyskakovacím okně.
  4. Ve vyskakovacím okně Vlastnosti projektu klikněte na OK. Vrátíte se do hlavního okna.

Knihovnu jste přidali do projektu, aby ji mohl váš program používat. Stejnou posloupnost akcí můžete provést pro všechny knihovny, které pro program potřebujete.

Knihovnu potřebujete třikrát - kompilaci, sestavení a spuštění. Naštěstí u NetBeans zvládne přidání knihovny, jak je uvedeno výše, vše. Abych to potvrdil, vytvořil jsem další hlavní třídu, která dělá absolutní minimum nutné k využití schopnosti I2C v Pi4J (obrázek sedm). Skutečnost, že se nezobrazují žádné chyby, znamená, že třída TestPi4J kompiluje. Kliknutím na Spustit se úspěšně vytvoří a stáhne; NetBeans kromě souboru jar stáhne knihovnu, takže se program spustí. Chcete -li to ověřit, můžete použít techniku v kroku 9 a v klientu ssh zadat následující příkaz (z adresáře dist):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Je poučné pochopit, jak NetBeans zpracovává knihovny. V adresáři dist pro váš projekt vypište obsah adresáře (použijte příkaz ls) a uvidíte podadresář lib. Seznam obsahu tohoto adresáře a uvidíte soubor jar identifikovaný v globální knihovně, což je v mém příkladu pi4j-core.jar. Všechny knihovny, které přidáte do projektu, se objeví v adresáři lib, a jsou tedy k dispozici všem programům v souboru jar projektu.

Krok 11: Jděte se bavit

Popsal jsem přístup k dosažení velmi efektivního vývoje Javy pro Raspberry Pi. Raspberry Pi je velmi populární technologie pro široké spektrum projektů. Java je profesionální programovací jazyk, který nabízí výkonnostní výhody oproti Pythonu a bezpečnostní výhody oproti C/C ++. NetBeans je profesionální IDE, které výrazně zvyšuje produktivitu programátora.

Myslím, že kombinace je docela přesvědčivá. Nyní se jděte bavit pomocí kombinace pro vaše projekty.

Doporučuje: