Sisällysluettelo:

Tehokas Java -kehitys Raspberry Pi: 11 vaihetta (kuvilla)
Tehokas Java -kehitys Raspberry Pi: 11 vaihetta (kuvilla)

Video: Tehokas Java -kehitys Raspberry Pi: 11 vaihetta (kuvilla)

Video: Tehokas Java -kehitys Raspberry Pi: 11 vaihetta (kuvilla)
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Heinäkuu
Anonim

Tässä ohjeessa kuvataan erittäin tehokas tapa kehittää Java -ohjelmia Raspberry Pi: lle. Olen käyttänyt tätä lähestymistapaa Java-ominaisuuksien kehittämiseen aina alhaisen tason laitetuesta monisäikeisiin ja verkkopohjaisiin ohjelmiin. Lähestymistapa ei ole vain tehokas, se on ilmainen!

Pohjimmiltaan lähestymistapa on etäkehitys NetBeansin avulla. NetBeans toimii työasemalla (pöytä- tai kannettava tietokone, ei Raspberry Pi), joka on yhdistetty Wifi -yhteydellä Raspberry Pi -laitteeseen. Kun kaikki on määritetty oikein, voit kirjoittaa Java -ohjelman NetBeansiin ja sitten yhdellä napsautuksella kääntää ja rakentaa ohjelman työasemalle, lataa ohjelman Pi: lle, suorittaa ohjelman Pi: llä ja toimittaa tuloksen NetBeans -konsoliin. Taika! Voit jopa korjata käynnissä olevan ohjelman virheenkorjauksen, asettaa raja -arvot ja tutkia muuttujien arvoja. Lisää taikuutta!

Tämän johdannon loppuosa kuvaa motivaatiota Javan käyttöön ja etäkehitykseen NetBeansin avulla. Jos motivaatio kiinnostaa, lue. Jos et välitä, siirry vaiheeseen 1.

Miksi käyttää Javaa Raspberry Pi: ssä?

Raspberry Pi: lle on saatavana monia ohjelmointikieliä, mutta rajoitan keskustelun "ammattitason" ohjelmointikieliin, jotka kohdistuvat itsenäisiin ohjelmiin, tukevat monitehtäviä, sallivat laitteiston ja verkon käytön jne. Tämä tarkoittaa Java-, Python- tai C/C ++. Uusimmat Raspbian -julkaisut sisältävät kaikkien näiden kielten kehittämisen ja ajonaikaisen tuen.

Python on itse asiassa "mainostettu" käytettäväksi Pi: ssä, ainakin osittain sen helpon oppimisen vuoksi uusille ohjelmoijille. Olen kokenut ohjelmoija, enkä pidä Pythonista, koska se on myönteisesti subjektiivinen, koska hän ei pidä useista sen ominaisuuksista, esimerkiksi dynaamisesta kirjoittamisesta. Pythonissa on yksi ominaisuus, josta en pidä objektiivisesti - suorituskyky. Tämä lähde osoittaa, että Java on aina nopeampi kuin Python 3, ja se voi itse asiassa toimia satoja kertoja nopeammin tehtävästä riippuen.

C on mielestäni "korkean tason konekieli", eli jotain, joka on hyvin lähellä järjestelmän laitteistoa tai ainakin käyttöjärjestelmää. Voit tehdä melkein mitä tahansa, ja voit tehdä sen mahdollisimman nopeasti; Itse asiassa tämä lähde ehdottaa, että C voi toimia jopa 7X yhtä nopeasti kuin Java. En myöskään pidä C: stä, koska en (subjektiivisesti) pidä joistakin sen ominaisuuksista, jotka ovat mielestäni salaperäisiä, arkaaisia tai molempia; esimerkiksi selkeitä osoittimia. Objektiivisesti se, että voit tehdä mitä tahansa, tarkoittaa, että olet vain hämärä vika (esim. Huono osoitinaritmeettinen tai virheellinen muisti) kaukana muistin korvaamisesta ja mahdollisesti ohjelman tai jopa koko järjestelmän kaatumisesta. Java estää tällaiset vaarat, joten Java on turvallisempi. Mielestäni turvallisuus parantaa myös ohjelmoijan tuottavuutta. Pidän C ++: ta objektipohjaisena "kääreenä" C: n ympärillä, joka ei poista C: n vaaroja.

Tärkeintä: Java on nopeampi kuin Python. Java on turvallisempi kuin C.

Onko Javan käytössä rajoituksia?

Toistaiseksi olen pystynyt tekemään kaiken Javalla, mitä voin tehdä Pythonissa. On asioita, joita voi tehdä C: ssä, joita ei voi tehdä Javassa, mutta jälleen kerran, kaikki mitä halusin, ovat olleet Pi -yhteisön Java -fanien käsiteltävänä. Kerron esimerkin myöhemmin. Olen sanonut, että olen ostanut antureita myyjiltä, jotka toimittivat "ohjaimia" antureille vain Pythonissa (tai C/C ++ Arduinolle), joten minun piti kirjoittaa Java -vastine; ylimääräiset ponnistelut eivät välttämättä ole tuottavia, mutta voivat saada paremman käsityksen anturin toiminnasta.

Miksi NetBeansiin perustuva etäkehitys?

Olen huomannut, että NetBeans-pohjainen etäkehitys lisää huomattavasti tuottavuutta käytettäessä Java-sovellusta Raspberry Pi -laitteelle. Olen varma, että voit käyttää tätä lähestymistapaa nopeiden ja turvallisten ohjelmien luomiseen Javan luonteenomaisten ominaisuuksien vuoksi, kun kirjoitat, rakennat ja korjaat niitä paljon nopeammin kuin muut löytämäni lähestymistavat. luokka NetBeans Integrated Development Environment (IDE).

Voi olla hyödyllistä keskustella lyhyesti näistä "muista lähestymistavoista". Kaikki täyttävät peruskriteerit, joiden mukaan Raspberry Pi -laitteeseen ei ole liitetty näppäimistöä, hiirtä tai näyttöä. Tähän kriteeriin on monia syitä, mutta ensisijainen syyni on se, että kehitän mobiilirobotteja, enkä halua Pi: n kytkeytyvän mihinkään oheislaitteisiin paitsi robotti -alijärjestelmiin edes kehityksen aikana.

Raspbianissa oleva VNC -palvelin tarjoaa graafisen etäkäyttöliittymän (GUI), joka mahdollistaa etäkehityksen, jossa vain etäkäyttöliittymä toimii työasemalla ja kaikki muu, kirjoittaminen, kääntäminen ja rakentaminen, tapahtuu Pi: llä. VNC: n avulla on helppo käyttää Raspbianissa toimitettavia Java-yhteensopivia kehitystyökaluja, kuten BlueJ, Geany ja Greenfoot. Joitakin näistä voidaan pitää IDE: nä; pidän niitä kuitenkin kaukana ammatillisesta arvostuksesta.

Teknisesti on mahdollista asentaa ammattitasoinen Java IDE, kuten Eclipse tai NetBeans Raspberry Pi: hen ja käyttää sitä etänä VNC: n kautta. Raportit ja maalaisjärki viittaavat siihen, että tulokset olisivat pettymyksiä, koska IDE: t vaativat suuren muistin ja prosessoritehon sekä etäkäyttöliittymän käyttöön ottaman verkon viiveen.

Sekä Eclipse että NetBeans toimivat erittäin hyvin työasemalla. Eclipsen avulla koodin kirjoittaminen on miellyttävä kokemus, mutta ohjelman rakentaminen ei; ohjelman lataamisen on tapahduttava Eclipsen ulkopuolella; ohjelman suorittaminen Pi: llä on täysin riippumaton Eclipsestä. Lopputulos on monivaiheinen, lähes tuskallinen prosessi, joka ei tue etävianmääritystä. NetBeansissa on sisäänrakennettu kääntäminen, rakentaminen, lataaminen, etäkäyttö ja etävianetsintä, mikä tekee siitä erinomaisen lähestymistavan.

Vaihe 1: Määritä Raspberry Pi

Jos haluat käyttää etäkehitysmenetelmää, sinun on ensin määritettävä Raspberry Pi -kohde. Raspberry Pi: n käyttöönotossa on monia resursseja, mukaan lukien Instructables. Katso tästä Pi: n perustamisen perusteet (ja enemmän).

Tämä Instructable olettaa sinut

  • asenna uusin Raspbian; muista tallentaa Pi -käyttäjätunnus ja salasana
  • aseta Wifi ja muodosta yhteys reitittimeesi (katso tämä); muista tallentaa Pi: n IP -osoite
  • ota SSH käyttöön (katso tämä), jos haluat sallia Pi: n etäkäytön työasemalta

Kun olet suorittanut asennuksen, voit sammuttaa ja irrottaa näytön, näppäimistön ja hiiren Pi -laitteesta. Tämä on yksi tärkeimmistä eduista etäkehityksessä. Sinun on jätettävä kaikki Wifi -dongle kytkettyinä (ei tietenkään tarvita Pi -mallille 3 tai Pi Zero W: lle), ja sitten voit käynnistää Pi: n.

Testaa avaamalla ssh -asiakas työasemallasi, esim. MacOS: n päätelaite tai Windows -putty. Kirjoita sitten ssh (suojattu kuori) -komento seuraavalla lomakkeella:

ssh the_pi_ip_address -l the_pi_user_id

Sinun pitäisi saada kehote syöttää Pi -käyttäjätunnuksesi salasana. Jos kehote ei tule näkyviin, tarkista, että olet kirjoittanut oikean IP -osoitteen ssh -komentoon. Anna salasanasi (se piilotetaan) ja sinun pitäisi nähdä Pi: n kuorikehote, joka näyttää jotain tällaista:

pi@raspberrypi: ~ $

Jos kehote ei näy, tarkista käyttämäsi käyttäjätunnus ja salasana.

Nyt sinun on löydettävä polku Java -suoritusaikaan ja vahvistettava, että oletusversio on Java 8 (pitäisi olla totta uusimmalle Raspbianille). Löydä Java -ajonaikainen polku kirjoittamalla komento ssh -asiakasohjelmaan

sudo update-alternatives-näytä java

Sinun pitäisi nähdä vastaus kahden ensimmäisen rivin kanssa, jotka näyttävät tältä:

java - automaattinen tila

linkin paras versio on/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

Toisella rivillä oleva "-8-" vahvistaa, että ajonaikainen oletus on Java 8. Tallenna polku toiselle riville, kun tarvitset sitä määrittäessäsi NetBeansin etäkehitystä varten myöhemmin.

Jos oletusajonaika ei ole Java 8, kirjoita ssh -asiakasohjelmaan seuraava komento ja vaihda Java 8: een (olettaen, että se on asennettu)

sudo update-alternatives --config java

Vaihe 2: Asenna NetBeans työasemalle

Nyt sinun on asennettava NetBeans työasemallesi. Osoita työasemaselaimesi NetBeansin lataussivulle. Näet useita mahdollisia nippuja, jotka tukevat kahta Java -versiota ja muita kieliä. Kaikki mitä tarvitset Java -kehitykseen Raspberry Pi: lle, on Java SE, mutta voit hankkia Java EE -paketin tai All -paketin. Kun olet päättänyt, minkä paketin haluat, napsauta vastaavaa Lataa -painiketta. Löydät lisäasennusohjeet työasemasi käyttöjärjestelmään täältä.

Kun olet asentanut NetBeansin, käynnistä se (se voi tehdä sen automaattisesti asennuksen jälkeen). Sinun pitäisi nähdä NetBeansin pääikkuna kuvan mukaisesti. Kuva on otettu Macilla, ja pääikkuna saattaa näyttää hieman erilaiselta Windowsissa.

Kun olet asentanut ja käynnistänyt NetBeansin, siirry seuraavaan vaiheeseen.

Vaihe 3: Määritä Raspberry Pi etäkäyttöalustaksi NetBeansissa

Määritä Raspberry Pi etäkäyttöalustaksi NetBeansissa
Määritä Raspberry Pi etäkäyttöalustaksi NetBeansissa

Seuraavat toiminnot määrittävät Raspberry Pi: n Java SE: n etäkäyttöalustaksi NetBeansille. Tämä mahdollistaa NetBeansin ladata ja suorittaa Java -ohjelmia Pi: llä. Löydät hieman yleisen kuvauksen täältä.

HUOMAUTUS: Tässä ja seuraavissa vaiheissa näytän ympäristölleni ominaisia arvoja kokoonpanon ja koodauksen eri osa -alueille; sinun tulee ilmeisesti olla erilainen.

Pi: n määrittäminen etäalustaksi:

  1. Valitse NetBeansin päävalikkoriviltä Työkalut -> Java -alustat. Näet Java Platform Managerin ponnahdusikkunan (kuva yksi).
  2. Napsauta vasemmassa alakulmassa Lisää alusta. Näet Lisää Java -alusta [alustan tyyppi] -ponnahdusikkunan (kuva kaksi).
  3. Valitse Remote Java Standard Edition. Napsauta Seuraava. Näet Lisää Java -alusta [aseta etäalusta] -ponnahdusikkunan (kuva kolme näyttää ponnahdusikkunan sen jälkeen, kun olen syöttänyt kenttään ympäristölle sopivat arvot).
  4. Kirjoita alustan nimi kenttään Pi. Voit käyttää melkein mitä tahansa, mutta sen on oltava ainutlaatuinen.
  5. Kirjoita isäntäkenttään vaiheessa 1 löydetyn Pi: n IP -osoite.
  6. Kirjoita Käyttäjätunnus -kenttään vaiheessa 1 käyttämäsi käyttäjänimi.
  7. Jätä Käytä salasanatodennusta valittuna ja kirjoita Salasana -kenttään vaiheessa 1 luomasi salasana.
  8. JRE -etäpolku -kenttään sinun on syötettävä suurin osa Pian Java -ajonaikaisesta polusta. Vaiheessa 1 se oli/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java. Sinun on kuitenkin pudotettava pois /bin /java kentän arvosta.
  9. NetBeans lataa suoritettavan ohjelman Pi -työhakemistoon, joka on tunnistettu Working Dir -kentässä. Oletus on/the_Pi_user_ID/NetBeansProjects/ja se on täysin hyväksyttävä. Voit halutessasi käyttää jotain erilaista, vaikka sen on oltava käyttäjän_Pi_user_ID (kuva kolme) saatavilla.
  10. Valitse ponnahdusikkunan oikeasta alakulmasta Valmis. Käsittelyn jälkeen sinun pitäisi jälleen nähdä Java Platform Managerin ponnahdusikkuna. Nyt sinun pitäisi nähdä kauko -ohjaimesi Pi (nimellä, jota käytit yllä vaiheessa 4) luokassa Remote Java SE (kuva neljä).
  11. Napsauta vasemmassa alakulmassa olevaa Testialustaa testataksesi NetBeansin ja Pi: n välisen yhteyden. Näet ensin ponnahdusikkunan, jossa sanotaan Etäalustan vahvistaminen. Jos onnistut, saat toisen ponnahdusikkunan, joka ilmoittaa yhteyden… onnistuneesti muodostetuksi. Jos ei, sinun on tarkistettava ja korjattava tiedot, jotka annoit Lisää Java-alusta [aseta etäalusta] -ponnahdusikkunaan yllä olevissa toiminnoissa 5-9. Voit tehdä sen Java Platform Manager -ponnahdusikkunasta; Valitse vain Pi -alusta ja muokkaa sitten ponnahdusikkunan oikealla puolella olevia kenttiä.
  12. Kun yhteys on muodostettu, napsauta Sulje Java Platform Manager -ponnahdusikkunassa. Näet nyt NetBeansin pääikkunan.

Todellinen hauskuus voi nyt alkaa!

Vaihe 4: Luo Java -projekti työasemalle

Tämä ei ole tarkoitettu täydelliseksi selitykseksi NetBeansin tai Javan käytöstä, mutta kuvailen vähimmäistoimenpiteet ohjelman kirjoittamiseksi NetBeansiin työasemalle ja lopulta ohjelman suorittaminen etänä Raspberry Pi -laitteella.

NetBeansissa sinun on ensin luotava projekti ohjelman Java -luokan pitämiseksi. Lisäksi Java -luokissa luokat sijaitsevat paketeissa organisaation ja turvallisuuden tukemiseksi. Voit luoda projektin ja valinnaisesti paketin ja luokkatiedoston seuraavasti:

  1. Napsauta NetBeansin pääikkunassa uuden projektin kuvaketta (toinen vasemmalta). Näet Uusi projekti [valitse projekti] -ponnahdusikkunan (kuva yksi).
  2. Oletusarvot (luokka: Java, projekti: Java -sovellus) ovat oikein tässä esimerkissä, joten napsauta Seuraava. Näet uuden Java -sovelluksen [nimi ja sijainti] -ponnahdusikkunan (kuvassa kaksi esitetään esimerkin arvot). HUOMAUTUS: Olen muokannut käyttäjätietoni värillisten suorakulmioiden avulla.
  3. Kirjoita Projektin nimi -kenttään valitsemasi kelvollinen Java -projektinimi. Nimen tulee alkaa isolla kirjaimella, ja käytäntö ehdottaa kamelin tapausta sanojen yhdistämisessä.
  4. Projektin sijainti -kenttä määrittää, missä projekti sijaitsee tiedostojärjestelmässäsi. Oletusarvo vaihtelee käyttöjärjestelmän mukaan, mutta se on turvallinen hyväksyä.
  5. Projektikansio -kentän avulla voit hallita projektin kansion nimeä. Minusta on parasta käyttää oletusasetusta, joka on Sijainti -kentän ja Nimi -kentän yhdistäminen.
  6. Kun Luo pääluokka -valintaruutu on valittuna, NetBeans luo automaattisesti paketin ja pääluokatiedoston (ohjelma, joka voidaan suorittaa komentoriviltä) samalla nimellä kuin projekti. Luulen, että yleensä sen pitäisi olla valittuna, mutta tässä tapauksessa jätän sen tarkistettavaksi, mikä poistaa nimenomaiset toimet, joita muutoin tarvitaan (kuva kaksi).
  7. Luo projekti, paketti ja pääluokatiedosto napsauttamalla Valmis. Nyt NetBeans -pääikkunan vasemmassa yläkulmassa näkyy projektisi, joka sisältää yhden paketin, joka puolestaan sisältää yhden luokkatiedoston main () -menetelmällä. Oikeassa yläkulmassa on NetBeansin automaattisesti luoma pääluokan (ohjelman) oletuslähdekoodi (kuva kolme).

Tässä vaiheessa voit kirjoittaa koodin päämenetelmään ja suorittaa sen työasemalla. Tämä voi olla toisinaan toivottavaa, mutta ei tarpeellista tämän ohjeen kannalta, joten siirry seuraavaan vaiheeseen.

Vaihe 5: Määritä NetBeans -projekti suorittamaan etäkäyttö Raspberry Pi -laitteessa

Voit määrittää NetBeans -projektin ja sen sisältämän ohjelman etäkäyttöön Raspberry Pi -laitteella seuraavasti:

  1. Napsauta NetBeansin pääikkunan Projektit-osion projektia napsauttamalla sitä hiiren oikealla tai 2 sormella (riippuu työaseman käyttöjärjestelmästä) ja tuo esiin projektivalikko ja napsauta Ominaisuudet. Näet Projektin ominaisuudet -ponnahdusikkunan (kuvassa näkyy ponnahdusikkuna, jossa on esimerkilläni oikeat arvot).
  2. Valitse vasemmalla olevasta Luokat -kohdasta Suorita.
  3. Napsauta Asetukset -kentän oikealla puolella olevaa Uusi -painiketta. Anna avautuvassa Luo uusi kokoonpano -ponnahdusikkunassa määrityksen nimi ja napsauta OK. Nimi voi olla mikä tahansa; Käytin juuri alustan nimeä ("My Pi"). Näet jälleen Project Properties -ponnahdusikkunan.
  4. Napsauta avattavaa kuvaketta Runtime Platform -kentän oikealla puolella. Valitse ponnahdusikkunan luettelosta aiemmin luomasi etäympäristö (ympäristössäni "My Pi").
  5. Määritä etäalusta projektille napsauttamalla OK. Näet jälleen pääikkunan.

Olet nyt valmis kirjoittamaan koodia ja suorittamaan ohjelman etänä.

Vaihe 6: Kirjoita Java -ohjelma työasemalle ja suorita se Raspberry Pi: llä

NetBeansin pääikkunan oikea paneeli näyttää NetBeansin luoman pääluokatiedoston. Kirjoita yksinkertainen tulostuslauseke luokkatiedoston päämenetelmään (kuva yksi). Se on nyt täydellinen Java -ohjelma, joka tekee jotain, vaikka jotain hyvin yksinkertaista.

Jos haluat suorittaa ohjelman Pi: llä, napsauta pääikkunan Suorita-kuvaketta (vihreä vasemmalle osoittava nuoli). NetBeans kokoaa koodin, rakentaa purkitiedoston, lataa jar -tiedoston etäalustan tunnistamaan Raspberry Pi: hen, suorittaa ohjelman Pi: llä, kaappaa ohjelman tuotos (System.out) ja toistaa tämän tuloksen NetBeansille Tulostusruutu pääikkunan oikeassa alakulmassa (kuva kaksi).

Olet nyt laajentanut merkittävästi osaamistasi Raspberry Pi -projektien kehittämiseen! Mutta odota…. Siellä on lisää!

Vaihe 7: Debug Java -ohjelma NetBeansin avulla

Yksi NetBeansin kaltaisen teollisen vahvuuden integroidun kehitysympäristön tehokkaimmista ominaisuuksista on kyky korjata ohjelma debugin aikana. NetBeansin avulla voit hyödyntää kaikkia virheenkorjaustyökaluja etäkäytön aikana. Tämä sisältää katkaisupisteiden asettamisen ohjelman "tärkeisiin" tai "hankalaan" paikkoihin ja muuttujien arvon tutkimisen nykyisessä suoritustilassa.

Viimeisen vaiheen yksinkertainen ohjelma on liian yksinkertainen virheenkorjauksen osoittamiseksi, joten lisäsin ohjelmaan lisäkoodin. Lisäkoodi lisää kaksi muuttujaa.

Jos haluat hyödyntää virheenkorjaustyökaluja, sinun on ensin asetettava yksi tai useampi katkaisupiste. Voit asettaa katkaisupisteen napsauttamalla rivinumeroa, jolle haluat keskeyttää suorituksen. punainen suorakulmion kuvake tulee näkyviin ja koko viiva saa punaisen taustan (kuva yksi).

Jos haluat debugoida Pi -ohjelmalla käynnissä olevan ohjelman, napsauta NetBeans -pääikkunan Debug -kuvaketta (heti Run -kuvakkeen oikealla puolella). Kuten normaalissa suorituksessa, NetBeans kokoaa, rakentaa, lataa, suorittaa, kaappaa tuotoksen ja toistaa sen. Mutta virheenkorjauksen yhteydessä NetBeans pysäyttää suorituksen katkaisupisteissä ja antaa sinun tutkia suoritustilaa (kuva kaksi, jossa näkyy Muuttujat -ruutu oikeassa alakulmassa).

Suoritus pysähtyy katkaisupisteessä ennen käskyn suorittamista linjalla katkaisupisteen kanssa. Vihreä tausta osoittaa seuraavan suoritettavan käskyn. Näin ollen esimerkissäni, jossa katkaisupiste on rivillä 9, muuttujaa a ei ole vielä olemassa, vielä vähemmän sillä on arvo.

Siirrä nyt kohdistin pääikkunan debug-valikkokuvakkeen päälle (ensimmäinen kaksoisnuoli alas -kuvake debug-kuvakkeen oikealle puolelle) ja napsauta Step Over -kuvaketta (sen taustalla on sininen asiakirja ja vihreä vastapäivään etualalla). [HUOMAUTUS: jos teet NetBeansin pääikkunan riittävän leveäksi, virheenkorjausvalikko laajenee ja debug -toiminnon kuvakkeet näkyvät debug -kuvakkeen oikealla puolella.] NetBeans suorittaa lausekkeen katkaisukohdassa ja lopettaa suorituksen ennen seuraavaa lausetta. Näet nyt, että muuttuja a on olemassa ja sillä on odotettu arvo (kuva kolme).

Napsauta Step Over -kuvaketta kahdesti. Näet, että kaikilla kolmella muuttujalla on arvot; Huomaa, että c on edelleen nolla (kuva neljä).

Napsauta Step Over -kuvaketta kerran. Näet, että muuttujalla c on nyt oikea arvo, eli muuttujien a ja b summa (kuva viisi).

Napsauta lopuksi virheenkorjausvalikon Suorita -kuvaketta (vihreä ympyrä valkoisella nuolella). Tämä saa suorituksen jatkumaan seuraavaan katkaisukohtaan tai ohjelman loppuun asti sen mukaan, kumpi tulee ensin. Nyt Tulostus -ruutu tulee näkyviin ja näyttää saman tuloksen kuin normaalissa suorituksessa, tässä tapauksessa tulostuslausekkeen teksti.

Vaihe 8: Suorita ohjelma NetBeansista riippumatta

Voi tulla aika, jolloin haluat suorittaa ohjelman Raspberry Pi -laitteella ilman "apua" tai "häiriöitä" NetBeansilta. Se on hyvin yksinkertainen. Avaa ensin ssh -asiakas Pi: lle.

Muista vaiheesta 3 lähtien, että NetBeans sijoittaa projektipurkkisi Pi: n työhakemistoon. Oletuskanta on/home/pi/NetBeansProjects käyttäjälle pi. Tietyn hakemiston nimi on sama kuin projektisi. NetBeans sijoittaa purkin alihakemistoon nimeltä dist. Esimerkiksi koko polku on/home/pi/NetBeansProjects/MyRemoteProg/dist. Pi: n ssh -asiakasohjelmassa ohjelman suorittamiseen voit käyttää java -komentoa jar -vaihtoehdon kanssa:

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

Näet suorituksen tulokset ssh -asiakasohjelmassa; esimerkissäni lähtö on

Terveisiä Raspberry Pi!

Tämä toimii, koska purkitiedoston tiedot tunnistavat, mikä purkin pääluokka suoritetaan.

Voit myös vaihtaa työhakemiston (cd: n kautta) jar -tiedoston sijaintiin ja antaa sitten lyhyemmän komennon tuottaaksesi samat tulokset.

java -jar MyRemoteProg.jar

Vaihe 9: Rakenna ja lataa, mutta älä suorita ohjelmaa NetBeansin kautta

On tilanteita, joissa haluat NetBeansin rakentavan ja lataavan ohjelman, mutta ei suorita sitä. Yksi tällainen tilanne ilmenee, kun ohjelmasi tarvitsee näppäimistön. Jos näin on, käytämme edellisen vaiheen tekniikkaa, kun ohjelma on rakennettu ja ladattu, ohjelma suoritetaan Raspberry Pi -laitteella, joten se odottaa näppäimistön tuloa Pi: ltä, mutta tietysti Pi: hen ei ole liitetty näppäimistöä, niin ohjelma jumittuu - ei hyvä.

Sinun on käytettävä hieman erilaista tekniikkaa ohjelman suorittamiseen. Pohjimmiltaan luot "nuken" pääluokatiedoston, joka ei käytännössä tee mitään, ja tunnistat sen ladattavan ohjelmana. Tässä tapauksessa "nukke" suoritetaan, ja voit sitten suorittaa "todellisen" ohjelman suoraan Pi: llä.

Käytä tätä tekniikkaa luomalla ensin uusi pääluokka:

  1. Avaa projektivalikko vaiheessa 5 ja napsauta Uusi-> Java-pääluokka. Näet uuden Java -pääluokan ponnahdusikkunan.
  2. Kirjoita Luokan nimi -kenttään nimi. Nimi voi olla mikä tahansa; Käytin "Dummy". Paketti -kentän avulla voit tunnistaa luokan paketin; valitset paketin kentän oikealla puolella olevasta avattavasta valikosta. Luokka voi olla samassa paketissa kuin "todellinen" ohjelmasi tai eri paketissa; Laitoin uuden luokan samaan pakettiin. Napsauta Valmis. Näet nyt NetBeans -pääikkunan ja uuden tiedoston oikeassa yläkulmassa (kuva 1). Lisäsin yksinkertaisen painetun lausunnon Pi: n käyttämisestä, mutta mitään ei oikeastaan tarvita.

Jos haluat suorittaa "nuken" lataamisen jälkeen, sinun on tehtävä siitä "oletusarvoisesti suoritettava pääluokka" projektille:

  1. Avaa projektin ominaisuudet kuten vaiheessa 5. Valitse Suorita -luokka. Napsauta Selaa pääluokka -kentän oikealla puolella. Näet Selaa pääluokkia -ponnahdusikkunan (kuva kaksi).
  2. Valitse "Nukke" -luokka. Napsauta Valitse pääluokka. Näet jälleen projektin ominaisuudet.
  3. Napsauta OK. Palaat pääikkunaan.

Kun napsautat Suorita -kuvaketta, NetBeans noudattaa/rakentaa koko projektin, lataa purkin, joka sisältää kaikki luokkatiedostot Pi: lle, ja suorittaa "Dummy" -luokan (kuva kolme).

Jotta voit suorittaa todellisen ohjelman Pi: llä, sinun on nyt käytettävä java -komentoa 'classpath' -vaihtoehdon kanssa, mikä edellyttää, että tunnistat nimenomaisesti pääluokan suoritettavaksi. Siirry ssh -asiakkaalta projektisi dist -hakemistoon. Oikea komento on muotoa:

java -cp projektin_nimi.jar paketin_nimi.luokan_nimi

Project_name viittaa ilmeisesti projektiin; joka muuttuu vain uuden projektin yhteydessä. Paketin_nimi viittaa tietysti pakettiin, ja luokan_nimi viittaa suoritettavaan pääluokkaan. Kuten aiemmin mainittiin, projekti voi sisältää monia paketteja. Samoin paketti voi sisältää monia luokkia, ja kaikki voivat olla pääluokkia tai ohjelmia, jotka voidaan suorittaa komentoriviltä. Siten "luontopolku" -tekniikka on varsin hyödyllinen kehitettäessä kehittyneitä ohjelmia, joissa on monia luokkia, joista osa on pääluokkia vain yksikkötestauksen helpottamiseksi.

Seuraava komento suorittaa esimerkkiohjelmani:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

Vaihe 10: Hyödynnä NetBeans -kirjaston hallintaa

Yksi vaikeimmista mutta tärkeimmistä kehittyneiden ohjelmien näkökohdista on kirjastojen käsittely, toisin sanoen koodin kirjoittaminen, jonka joku muu on jo kirjoittanut. NetBeans tekee ihailtavaa työtä poistaakseen suurimman osan kirjastonhallinnan tuskista.

Käytän esimerkkinä Pi4J: tä, joka antaa Java -ohjelmille pääsyn Raspberry Pi GPIO -laitteeseen, I2C -väylään ja muihin laitteiston I/O -liittimiin. Pi4J on vain yksi esimerkki tuesta, jolla voi tehdä paljon hauskoja asioita Pi: llä Javan kanssa.

Sinun on ensin ladattava kirjasto työasemallesi. Katso Pi4J -lataussivu. Koska et asenna Pi4J: tä Pi: hen, lataa zip työasemallesi. Sinun on ehkä pakko purkaa pakkaus, kun zip on ladattu.

Nyt sinun on luotava "maailmanlaajuinen kirjasto" NetBeansiin:

  1. Napsauta NetBeans -päävalikossa Työkalut -> Kirjastot. Näet Ant Library Manager -ponnahdusikkunan (kuva yksi).
  2. Napsauta Uusi kirjasto vasemmassa alakulmassa. Näet uuden kirjaston ponnahdusikkunan (kuva kaksi).
  3. Kirjoita mielekäs nimi, jota haluat käyttää, ja napsauta OK. Näet jälleen Ant Library Manager -ponnahdusikkunan. Se näyttää nyt luomasi uuden kirjaston (kuva kolme).
  4. Napsauta Lisää JAR/kansio oikealla. Näet Selaa JAR/kansio -ponnahdusikkunan (kuva neljä).
  5. Siirry ja valitse pi4j-core.jar. Napsauta sitten Lisää JAR/kansio. Palaat Muurahaiskirjaston hallinta -ponnahdusikkunaan.
  6. Napsauta Muurahaiskirjaston hallinta -ponnahdusikkunassa OK. Palaat NetBeansin pääikkunaan.

Olet lisännyt kirjaston, jotta sitä voidaan käyttää missä tahansa projektissa. Nyt sinun on lisättävä kirjasto projektiin:

  1. Avaa Projektin ominaisuudet -ponnahdusikkuna (katso vaihe 5) ja valitse Kirjastot -luokka (kuva viisi).
  2. Napsauta Lisää kirjasto ponnahdusikkunan oikeassa reunassa. Näet Lisää kirjasto -ponnahdusikkunan (kuva kuusi).
  3. Siirry kirjastoon ja valitse se. Napsauta sitten Lisää kirjasto. Näet jälleen Projektin ominaisuudet -ponnahdusikkunan. Kirjasto näkyy nyt ponnahdusikkunan kokoamisaikaisten kirjastojen luettelossa.
  4. Napsauta Projektin ominaisuudet -ponnahdusikkunassa OK. Palaat pääikkunaan.

Olet lisännyt kirjaston projektiin, jotta ohjelmasi voi käyttää sitä. Voit tehdä saman toimintasarjan kaikille ohjelmille tarvittaville kirjastoille.

Kirjastoa tarvitaan kolme kertaa - koota, rakenna ja suorita. Onneksi NetBeansin avulla kirjaston lisääminen yllä olevan kuvan mukaisesti hoitaa kaiken. Tämän vahvistamiseksi olen luonut toisen pääluokan, joka tekee ehdottoman vähimmäisvaatimuksen I2C -ominaisuuden käyttämiseksi Pi4J: ssä (kuva seitsemän). Se, että näytössä ei ole virheitä, tarkoittaa luokan TestPi4J kääntämistä. Napsauttamalla Suorita rakentaminen ja lataaminen onnistui; NetBeans lataa kirjaston jar -tiedoston lisäksi, joten ohjelma suorittaa. Voit tarkistaa jälkimmäisen käyttämällä tekniikkaa vaiheessa 9 ja kirjoittamalla ssh -asiakasohjelmaan seuraavan komennon (dist -hakemistosta):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

On opettavaista ymmärtää, miten NetBeans käsittelee kirjastoja. Kun olet projektisi dist -hakemistossa, luetteloi hakemiston sisältö (käytä ls -komentoa) ja näet lib -alihakemiston. Luettele kyseisen hakemiston sisältö ja näet jar-tiedoston, joka on tunnistettu globaalissa kirjastossa, joka esimerkissäni on pi4j-core.jar. Kaikki projektiin lisäämäsi kirjastot näkyvät lib -hakemistossa ja ovat siten kaikkien projektipurkitiedoston ohjelmien käytettävissä.

Vaihe 11: Mene pitämään hauskaa

Olen kuvannut lähestymistavan erittäin tehokkaan Java -kehityksen saavuttamiseksi Raspberry Pi: lle. Raspberry Pi on erittäin suosittu tekniikka monenlaisiin projekteihin. Java on ammattimainen ohjelmointikieli, joka tarjoaa suorituskykyetuja Pythoniin verrattuna ja tarjoaa turvallisuusetuja C/C ++: aan verrattuna. NetBeans on ammattitason IDE, joka lisää merkittävästi ohjelmoijan tuottavuutta.

Mielestäni yhdistelmä on varsin vakuuttava. Mene nyt pitämään hauskaa käyttämällä yhdistelmää projekteihisi.

Suositeltava: