Satura rādītājs:

Efektīva Java izstrāde Raspberry Pi: 11 soļi (ar attēliem)
Efektīva Java izstrāde Raspberry Pi: 11 soļi (ar attēliem)

Video: Efektīva Java izstrāde Raspberry Pi: 11 soļi (ar attēliem)

Video: Efektīva Java izstrāde Raspberry Pi: 11 soļi (ar attēliem)
Video: Leap Motion SDK 2024, Jūnijs
Anonim

Šajā pamācībā aprakstīta ļoti efektīva pieeja Java programmu izstrādei Raspberry Pi. Esmu izmantojis šo pieeju, lai attīstītu Java iespējas, sākot no zema līmeņa ierīču atbalsta līdz daudzpavedienu un tīkla programmām. Šī pieeja ir ne tikai efektīva, bet arī bezmaksas!

Būtībā pieeja ir attālā attīstība, izmantojot NetBeans. NetBeans darbojas darbstacijā (galddatorā vai klēpjdatorā, nevis Raspberry Pi), kas, izmantojot Wifi, ir savienots ar Raspberry Pi. Kad viss ir pareizi iestatīts, varat uzrakstīt Java programmu NetBeans un pēc tam ar vienu klikšķi apkopo un izveido programmu darbstacijā, lejupielādē programmu uz Pi, palaiž programmu uz Pi un piegādā izvadi NetBeans konsolei. Maģija! Jūs pat varat atkļūdot darbojošos programmu, iestatīt pārtraukuma punktus un pārbaudīt mainīgo vērtības. Vairāk maģijas!

Pārējā šajā ievadā ir aprakstīta motivācija Java lietošanai un attālai attīstībai, izmantojot NetBeans. Ja jums rūp motivācija, lasiet tālāk. Ja jums ir vienalga, pārejiet pie 1. darbības.

Kāpēc Raspberry Pi izmantot Java?

Raspberry Pi ir pieejamas daudzas programmēšanas valodas, taču es aprobežošos tikai ar "profesionālas pakāpes" programmēšanas valodām, kas paredzētas atsevišķām programmām, atbalsta vairāku uzdevumu veikšanu, ļauj piekļūt aparatūrai un tīklam utt. Tas nozīmē Java, Python vai C/C ++. Jaunākie Raspbian izlaidumi ietver visu šo valodu izstrādi un izpildlaika atbalstu.

Python faktiski tiek "reklamēts" lietošanai Pi, vismaz daļēji, lai atvieglotu jaunu programmētāju mācīšanos. Es esmu pieredzējis programmētājs un man nepatīk Python, jo, protams, ir subjektīva nepatika pret vairākām tā īpašībām, piemēram, dinamisko rakstīšanu. Ir viena Python īpašība, pret kuru mana nepatika ir objektīva - sniegums. Šis avots parāda, ka Java vienmēr ir ātrāka nekā Python 3, un patiesībā tā var darboties simtiem reižu ātrāk, atkarībā no uzdevuma.

C, manuprāt, ir "augsta līmeņa mašīnu valoda", t.i., kaut kas ir ļoti tuvu sistēmas aparatūrai vai vismaz operētājsistēmai. Jūs varat darīt gandrīz jebko, un jūs varat to izdarīt pēc iespējas ātrāk; Patiesībā šis avots liecina, ka C var darboties līdz pat 7X ātrāk nekā Java. Es arī nemīlu C, jo man (subjektīvi) nepatīk dažas tās īpašības, kuras, manuprāt, ir noslēpumainas, arhaiskas vai abas; piemēram, skaidri norādījumi. Objektīvi tas, ka jūs varat darīt jebko, nozīmē, ka esat tikai neskaidra kļūda (piemēram, slikta rādītāju aritmētika vai kļūdaina atmiņa), kas atrodas prom no atmiņas pārrakstīšanas un, iespējams, programmas vai pat visas sistēmas avārijas. Java novērš šādus draudus, tāpēc Java ir drošāka. Es uzskatu, ka drošība uzlabo arī programmētāja produktivitāti. Es uzskatu, ka C ++ ir uz objektu orientēts "iesaiņojums" ap C, kas neko nedara, lai novērstu C apdraudējumu.

Secinājums: Java ir ātrāka nekā Python. Java ir drošāka nekā C.

Vai ir kādi ierobežojumi, lietojot Java?

Līdz šim Java varēju darīt visu, ko varu Python. Ir lietas, ko var darīt C, ko nevar darīt Java, bet atkal - līdz šim viss, ko es gribēju darīt, ir pievērsušies Java faniem Pi kopienā. Es sniegšu piemēru vēlāk. Tomēr es esmu iegādājies sensorus no pārdevējiem, kas piegādāja sensoru "draiverus" tikai Python (vai C/C ++ Arduino), tāpēc man bija jāraksta Java ekvivalents; papildu piepūle ne vienmēr ir produktīva, bet var radīt lielāku ieskatu sensora darbībā.

Kāpēc attālināta izstrāde, pamatojoties uz NetBeans?

Esmu atklājis, ka uz NetBeans balstīta attālā izstrāde ievērojami palielina produktivitāti, izmantojot Raspberry Pi Java. Esmu pārliecināts, ka jūs varat izmantot šo pieeju, lai izveidotu ātras un drošas programmas, pateicoties Java raksturīgajām īpašībām, vienlaikus rakstot, veidojot un atkļūdojot tās daudz ātrāk nekā citas manis atrastās pieejas, pateicoties attālai attīstībai, izmantojot "profesionālo klase "NetBeans integrētā attīstības vide (IDE).

Varētu būt noderīgi īsumā apspriest šīs "citas pieejas". Visi atbilst pamatkritērijiem, ka Raspberry Pi nav pievienota tastatūra, pele vai displejs. Šiem kritērijiem ir daudz iemeslu, bet mans galvenais iemesls ir tas, ka es izstrādāju mobilos robotus, un es nevēlos, lai Pi tiktu savienots ar jebkādām perifērijas ierīcēm, izņemot robotu apakšsistēmas, pat izstrādes laikā.

Raspbian iekļautais VNC serveris nodrošina attālu grafisko lietotāja interfeisu (GUI), kas ļauj attāli attīstīties, kur darbstacijā darbojas tikai attālā GUI, un viss pārējais, rakstīšana, apkopošana un veidošana notiek Pi. Izmantojot VNC, ir viegli izmantot Java spējīgus izstrādes rīkus, kas tiek piegādāti Raspbian valodā, piemēram, BlueJ, Geany un Greenfoot. Dažus no tiem var uzskatīt par IDE; tomēr es uzskatu, ka tie ir tālu no profesionālās pakāpes.

Tehniski ir iespējams Raspberry Pi instalēt profesionālas klases Java IDE, piemēram, Eclipse vai NetBeans, un izmantot to attālināti, izmantojot VNC. Pārskati un veselais saprāts liecina, ka rezultāti būtu neapmierinoši, jo šādai IDE nepieciešama liela atmiņas ietilpība un CPU jauda, kā arī tīkla latentums, ko ievieš attālā GUI.

Gan Eclipse, gan NetBeans darbstacijā darbojas ļoti labi. Izmantojot Eclipse, koda rakstīšana ir patīkama pieredze, tomēr programmas veidošana nav; programmas lejupielādei jānotiek ārpus Eclipse; programmas izpilde uz Pi ir pilnīgi neatkarīga no Eclipse. Kopējais rezultāts ir daudzpakāpju, gandrīz sāpīgs process, kas nevar atbalstīt attālo atkļūdošanu. NetBeans ir iebūvēta kompilēšana, veidošana, lejupielāde, attālā izpilde un attālā atkļūdošana, padarot to par izcilu pieeju.

1. darbība: iestatiet Raspberry Pi

Lai izmantotu attālās attīstības pieeju, jums jāsāk ar mērķa Raspberry Pi iestatīšanu. Ir pieejami daudzi resursi, tostarp Instructables, kas palīdz izveidot Raspberry Pi. Skatiet šo, lai uzzinātu Pi pamatus (un vairāk).

Šī pamācība uzņemas jūs

  • instalējiet jaunāko Raspbian; noteikti ierakstiet Pi lietotāja ID un paroli
  • iestatiet Wifi un izveidojiet savienojumu ar maršrutētāju (skatiet šo); pārliecinieties, ka esat ierakstījis Pi IP adresi
  • iespējojiet SSH (skatiet šo), lai no darbstacijas atļautu attālinātu piekļuvi Pi

Kad esat pabeidzis iestatīšanu, varat izslēgt un atvienot displeju, tastatūru un peli no Pi. Šī ir viena no galvenajām attālās attīstības priekšrocībām. Jums ir jāatstāj savienots jebkurš Wifi dongle (protams, tas nav nepieciešams Pi modelim 3 vai Pi Zero W), un tad jūs varat ieslēgt Pi.

Lai pārbaudītu, atveriet ssh klientu savā darbstacijā, piemēram, Terminal operētājsistēmā MacOS vai tepe Windows. Pēc tam ievadiet komandu ssh (drošs apvalks) ar šādu formu:

ssh the_pi_ip_address -l the_pi_user_id

Jums vajadzētu saņemt uzvedni, lai ievadītu Pi lietotāja ID paroli. Ja uzvedne netiek parādīta, pārbaudiet, vai ssh komandā esat ievadījis pareizo IP adresi. Ievadiet savu paroli (tā tiks paslēpta), un pēc tam jums vajadzētu redzēt Pi apvalka uzvedni, kas parādās apmēram šādi:

pi@aveņu: ~ $

Ja uzvedne netiek rādīta, pārbaudiet izmantoto lietotāja ID un paroli.

Tagad jums jāatrod ceļš uz Java izpildlaiku un jāapstiprina, ka noklusējuma versija ir Java 8 (jābūt patiesai attiecībā uz jaunāko Raspbian). Lai atrastu Java izpildlaika ceļu, ssh klientā ievadiet komandu

sudo update-alternatives-parādīt java

Jums vajadzētu redzēt atbildi ar pirmajām divām rindām, kas izskatās šādi:

java - automātiskais režīms

saites labākā versija ir/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java

"-8-" otrajā rindā apstiprina, ka noklusējuma izpildlaiks ir Java 8. Ierakstiet ceļu otrajā rindā, kā tas būs nepieciešams, lai vēlāk konfigurētu NetBeans attālai attīstībai.

Ja noklusējuma izpildlaiks nav Java 8, ssh klientā ievadiet šādu komandu, lai pārslēgtos uz Java 8 (pieņemot, ka tā ir instalēta)

sudo update-alternatives --config java

2. darbība: instalējiet NetBeans darbstacijā

Tagad jums jāinstalē NetBeans savā darbstacijā. Norādiet darbstacijas pārlūkprogrammu uz NetBeans lejupielādes lapu. Jūs redzēsit vairākus iespējamos komplektus, kas atbalsta abus Java izdevumus, kā arī citas valodas. Viss, kas nepieciešams Java izstrādei Raspberry Pi, ir Java SE, taču jūs varat iegūt Java EE paketi vai All paketi. Kad esat izlēmis, kuru komplektu vēlaties, noklikšķiniet uz atbilstošās pogas Lejupielādēt. Šeit varat atrast papildu instalācijas norādījumus savai darbstacijas OS.

Kad esat instalējis NetBeans, sāciet to (pēc instalēšanas tas var notikt automātiski). Jums vajadzētu redzēt NetBeans galveno logu, kā parādīts attēlā. Attēls tika uzņemts operētājsistēmā Mac, un Windows galvenais logs varētu izskatīties nedaudz savādāk.

Kad esat veiksmīgi instalējis un palaidis NetBeans, pārejiet pie nākamās darbības.

3. darbība: konfigurējiet Raspberry Pi kā attālo platformu NetBeans

Konfigurējiet Raspberry Pi kā attālo platformu NetBeans
Konfigurējiet Raspberry Pi kā attālo platformu NetBeans

Tālāk norādītās darbības konfigurē Raspberry Pi kā NetBeans attālo Java SE platformu. Tas ļauj NetBeans lejupielādēt un izpildīt Java programmas Pi. Šeit varat atrast nedaudz vispārīgu aprakstu.

PIEZĪME. Šajā un turpmākajās darbībās es rādu manai videi raksturīgas vērtības dažādiem konfigurācijas un kodēšanas aspektiem; tavs acīmredzot būs savādāks.

Lai konfigurētu Pi kā attālo platformu:

  1. NetBeans galvenajā izvēlnes joslā atlasiet Rīki -> Java platformas. Jūs redzēsit Java platformas pārvaldnieka uznirstošo logu (pirmais attēls).
  2. Apakšējā kreisajā stūrī noklikšķiniet uz Pievienot platformu. Jūs redzēsit uznirstošo logu Pievienot Java platformu [platformas veids] (otrais attēls).
  3. Izvēlieties Remote Java Standard Edition. Noklikšķiniet uz Tālāk. Jūs redzēsit uznirstošo logu Pievienot Java platformu [iestatīt attālo platformu] (trešajā attēlā parādīts uznirstošais logs pēc tam, kad laukos esmu ievadījis savai videi atbilstošas vērtības).
  4. Laukā Platformas nosaukums ievadiet Pi nosaukumu. Jūs varat izmantot gandrīz visu, bet tam jābūt unikālam.
  5. Laukā Host ievadiet 1. darbībā atrastā Pi IP adresi.
  6. Laukā Lietotājvārds ievadiet lietotājvārdu, kuru izmantojāt 1. darbībā.
  7. Atstājiet Izmantot paroles autentifikāciju un laukā Parole ievadiet paroli, kuru izveidojāt 1. darbībā.
  8. Laukā Remote JRE Path jums jāievada lielākā daļa ceļa uz Java izpildlaiku Pi. 1. darbībā tas bija/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java. Tomēr lauka vērtībā ir jānorāda /bin /java.
  9. NetBeans lejupielādē izpildāmo programmu Pi direktorijā, kas norādīts laukā Working Dir. Noklusējums ir/the_Pi_user_ID/NetBeansProjects/, un tas ir pilnīgi pieņemams. Ja vēlaties, varat izmantot kaut ko citu, lai gan tam jābūt pieejamam lietotājam_Pi_user_ID (trešais attēls).
  10. Uznirstošā loga apakšējā labajā stūrī noklikšķiniet uz Pabeigt. Pēc apstrādes jums atkal vajadzētu redzēt uznirstošo logu Java Platform Manager. Tagad jums vajadzētu redzēt savu tālvadības pulti Pi (ar nosaukumu, kuru izmantojāt iepriekšējā 4. darbībā) kategorijā Remote Java SE (ceturtais attēls).
  11. Apakšējā kreisajā stūrī noklikšķiniet uz Pārbaudīt platformu, lai pārbaudītu savienojumu starp NetBeans un jūsu Pi. Vispirms redzēsiet uznirstošo logu, kurā teikts verificēt attālo platformu. Ja tas izdosies, tiks parādīts otrs uznirstošais logs, kas norāda, ka savienojums ir veiksmīgi izveidots. Ja nē, jums ir jāpārbauda un jālabo informācija, ko ievadījāt uznirstošajā logā Pievienot Java platformu [iestatīt attālo platformu], veicot 5. – 9. Darbību. To var izdarīt no Java Platform Manager uznirstošā loga; vienkārši izvēlieties savu Pi platformu un pēc tam rediģējiet laukus uznirstošā loga labajā pusē.
  12. Pēc veiksmīga savienojuma uznirstošajā logā Java platformas pārvaldnieks noklikšķiniet uz Aizvērt. Tagad jūs redzēsit NetBeans galveno logu.

Tagad īstā jautrība var sākties!

4. darbība: izveidojiet Java projektu darbstacijā

Tas nav paredzēts kā pilnīgs NetBeans vai Java lietošanas skaidrojums, bet es aprakstīšu minimālās darbības, lai rakstītu programmu NetBeans uz darbstacijas un, visbeidzot, palaistu programmu attālināti Raspberry Pi.

Programmā NetBeans vispirms jāizveido projekts programmas Java klases (-u) turēšanai. Turklāt Java klases atrodas pakotnēs, lai atbalstītu organizāciju un drošību. Lai izveidotu projektu un pēc izvēles izveidotu pakotni un klases failu:

  1. NetBeans galvenajā logā noklikšķiniet uz jaunā projekta ikonas (2. no kreisās). Jūs redzēsiet uznirstošo logu New Project [izvēlieties projektu] (pirmais attēls).
  2. Noklusējuma vērtības (kategorija: Java, projekts: Java lietojumprogramma) ir piemērotas šim piemēram, tāpēc vienkārši noklikšķiniet uz Tālāk. Jūs redzēsit uznirstošo logu New Java Application [nosaukums un atrašanās vieta] (otrajā attēlā ir redzamas mana piemēra vērtības). PIEZĪME. Esmu rediģējis savu lietotāja informāciju, izmantojot krāsainos taisnstūrus.
  3. Laukā Projekta nosaukums ievadiet derīgu jūsu izvēlētā Java projekta nosaukumu. Nosaukumam jāsākas ar lielo burtu, un, saslēdzot vārdus, konvencija iesaka kamieļu gadījumu.
  4. Lauks Projekta atrašanās vieta nosaka, kur projekts atrodas jūsu failu sistēmā. Noklusējuma vērtība atšķiras atkarībā no operētājsistēmas, taču to var droši pieņemt.
  5. Lauks Projekta mape ļauj jums kontrolēt projekta mapes nosaukumu. Es uzskatu, ka vislabāk ir izmantot noklusējumu, kas ir lauka Atrašanās vieta un Nosaukuma savienojums.
  6. Atzīmējot izvēles rūtiņu Izveidot galveno klasi, NetBeans automātiski izveido pakotni un galvenās klases failu (programmu, kuru var palaist no komandrindas) ar tādu pašu nosaukumu kā projektam. Es domāju, ka parasti tas nav jāpārbauda, bet šajā gadījumā es atstāšu to atzīmētu, kas novērš skaidras darbības, kas citādi vajadzīgas, lai to izdarītu (otrais attēls).
  7. Noklikšķiniet uz Pabeigt, lai izveidotu projektu, pakotni un galvenās klases failu. Tagad NetBeans galvenā loga augšējā kreisajā rūtī ir redzams jūsu projekts, kurā ir viena pakete, kurā savukārt ir vienas klases fails ar main () metodi. Augšējā labajā rūtī ir noklusējuma avota kods galvenajai klasei (programmai), ko automātiski ģenerē NetBeans (trešais attēls).

Šajā brīdī jūs varētu uzrakstīt kodu galvenajā metodē un palaist to darbstacijā. Dažreiz tas var būt vēlams, taču tas nav nepieciešams šai instrukcijai, tāpēc pārejiet pie nākamās darbības.

5. darbība: konfigurējiet NetBeans projektu tā, lai tas darbotos attālināti Raspberry Pi

Lai konfigurētu NetBeans projektu un tajā ietverto programmu, lai palaistu attālināti Raspberry Pi, rīkojieties šādi:

  1. Ar peles labo pogu vai divu pirkstu klikšķi (atkarīgs no darbstacijas OS) NetBeans galvenā loga Projektu rūtī esošajā projektā, lai atvērtu projekta izvēlni un noklikšķiniet uz Rekvizīti. Jūs redzēsiet uznirstošo logu Projekta rekvizīti (attēlā parādīts uznirstošais logs ar manam piemēram atbilstošām vērtībām).
  2. Sadaļā Kategorijas kreisajā pusē atlasiet Palaist.
  3. Noklikšķiniet uz Jauns konfigurācijas lauka labajā pusē. Parādītajā logā Izveidot jaunu konfigurāciju ievadiet konfigurācijas nosaukumu un noklikšķiniet uz Labi. Nosaukums var būt jebkas; Es tikko atkārtoti izmantoju platformas nosaukumu ("My Pi"). Atkal redzēsiet uznirstošo logu Projekta rekvizīti.
  4. Lauka Runtime Platform labajā pusē noklikšķiniet uz nolaižamās ikonas. Uznirstošajā sarakstā atlasiet iepriekš izveidoto attālo platformu (manā vidē "My Pi").
  5. Noklikšķiniet uz Labi, lai projektam iestatītu attālo platformu. Jūs atkal redzēsit galveno logu.

Tagad jūs esat gatavs rakstīt kodu un palaist programmu attālināti.

6. solis: uzrakstiet Java programmu darbstacijā un palaidiet to Raspberry Pi

NetBeans galvenā loga labajā panelī ir redzams NetBeans ģenerētais galvenās klases fails. Ierakstiet vienkāršu drukas paziņojumu klases faila galvenajā metodē (pirmais attēls). Tagad tā ir pilnīga Java programma, kas kaut ko dara, kaut arī kaut ko ļoti vienkāršu.

Lai palaistu programmu Pi, galvenajā logā noklikšķiniet uz ikonas Palaist (zaļā bultiņa, kas vērsta pa kreisi). NetBeans apkopo kodu, izveido jar failu, lejupielādē jar failu Raspberry Pi, ko identificē attālā platforma, izpilda programmu Pi, uztver programmas izvadi (System.out) un atkārto šo izvadi NetBeans Izvades rūts galvenā loga apakšējā labajā stūrī (otrais attēls).

Jūs tagad esat ievērojami paplašinājis savu prasmju kopumu Raspberry Pi projektu izstrādei! Bet pagaidi…. Ir vairāk!

7. solis: atkļūdojiet Java programmu, izmantojot NetBeans

Viena no spēcīgākajām industriālā spēka integrētās attīstības vides iezīmēm, piemēram, NetBeans, ir iespēja atkļūdot programmu darbības laikā. NetBeans ļauj izmantot visu atkļūdošanas rīku komplektu, darbojoties attālināti. Tas ietver pārtraukuma punktu iestatīšanu programmas "svarīgās" vai "apgrūtinošās" vietās un mainīgo vērtību pārbaudi pašreizējā izpildes stāvoklī.

Vienkāršā programma pēdējā solī ir pārāk vienkārša, lai parādītu atkļūdošanu, tāpēc es programmai pievienoju papildu kodu. Papildu kods pievieno divus mainīgos.

Lai izmantotu atkļūdošanas rīkus, vispirms ir jāiestata viens vai vairāki pārtraukuma punkti. Lai iestatītu pārtraukuma punktu, noklikšķiniet uz rindas numura, kurā vēlaties apturēt izpildi; parādās sarkana taisnstūra ikona, un visa līnija iegūst sarkanu fonu (pirmais attēls).

Lai atkļūdotu programmu, kas darbojas Pi, NetBeans galvenajā logā noklikšķiniet uz atkļūdošanas ikonas (tūlīt pa labi no ikonas Palaist). Tāpat kā parastajā izpildē, NetBeans apkopo, veido, lejupielādē, izpilda, uztver izvadi un atkārto šo izvadi. Bet ar atkļūdošanu NetBeans pārtrauc izpildi pārtraukuma punktos un ļauj pārbaudīt izpildes stāvokli (otrais attēls, parādot mainīgo rūti apakšējā labajā stūrī).

Izpilde apstājas pārtraukuma vietā pirms instrukcijas izpildīšanas līnijā ar pārtraukuma punktu. Zaļais fons norāda nākamo izpildāmo paziņojumu. Tādējādi manā piemērā ar pārtraukuma punktu 9. rindā mainīgais a vēl nepastāv, vēl jo mazāk tam ir vērtība.

Tagad virziet kursoru virs atkļūdošanas izvēlnes ikonas galvenajā logā (pirmā dubultbultas lejupvērstā ikona pa labi no atkļūdošanas ikonas) un noklikšķiniet uz ikonas Pāreja (tās fonā ir zils dokuments un zaļa bultiņa pretēji pulksteņrādītāja virzienam) priekšplānā). [PIEZĪME: ja padarāt savu NetBeans galveno logu pietiekami plašu, atkļūdošanas izvēlne tiek paplašināta un atkļūdošanas darbības ikonas tiek parādītas pa labi no atkļūdošanas ikonas.] NetBeans izpilda paziņojumu pārtraukuma vietā un pārtrauc izpildi pirms nākamā paziņojuma. Tagad jūs redzēsit, ka mainīgais a pastāv un tam ir paredzamā vērtība (trešais attēls).

Divreiz noklikšķiniet uz ikonas Pāreja. Jūs redzēsit, ka visiem trim mainīgajiem ir vērtības; ņemiet vērā, ka c joprojām ir nulle (ceturtais attēls).

Vienreiz noklikšķiniet uz ikonas Pāreja. Jūs redzēsit, ka mainīgajam c tagad ir pareizā vērtība, t.i., mainīgo a un b summa (piektais attēls).

Visbeidzot, atkļūdošanas izvēlnē noklikšķiniet uz ikonas Palaist (zaļš aplis ar baltu bultiņu). Tas izraisa izpildes turpināšanu līdz nākamajam pārtraukuma punktam vai programmas beigām, atkarībā no tā, kas notiek agrāk. Tagad tiek parādīta rūts Izvads un tiek parādīta tāda pati izvade kā ar parasto izpildi, šajā gadījumā teksts drukātā paziņojumā.

8. darbība: izpildiet programmu neatkarīgi no NetBeans

Var pienākt brīdis, kad vēlaties izpildīt savu programmu Raspberry Pi bez "palīdzības" vai "iejaukšanās" no NetBeans. Tas ir ļoti vienkārši. Vispirms atveriet ssh klientu savam Pi.

Atcerieties no 3. darbības, ka NetBeans ievieto jūsu projekta burku Pi darba katalogā. Noklusējuma bāze ir/home/pi/NetBeansProjects lietotājam pi. Konkrētajam direktorijam ir tāds pats nosaukums kā jūsu projektam. NetBeans ievieto burku apakšdirektorijā ar nosaukumu dist. Manā piemērā pilns ceļš ir/home/pi/NetBeansProjects/MyRemoteProg/dist. Pi ssh klientā, lai izpildītu programmu, varat izmantot java komandu ar opciju “jar”:

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

Izpildes rezultātus redzēsit ssh klientā; manā piemērā iznākums būs

Sveiciens no Raspberry Pi!

Tas darbojas, jo burka failā esošā informācija nosaka, kura galvenā burka klase jāizpilda.

Jūs varat arī mainīt darba direktoriju (izmantojot cd) uz jar faila atrašanās vietu un pēc tam izdot īsāku komandu, lai iegūtu tādus pašus rezultātus.

java -jar MyRemoteProg.jar

9. darbība: izveidojiet un lejupielādējiet, bet neizpildiet programmu, izmantojot NetBeans

Ir situācijas, kad vēlaties, lai NetBeans izveidotu un lejupielādētu jūsu programmu, bet ne izpildītu to. Viena šāda situācija rodas, ja jūsu programmai ir nepieciešama tastatūras ievade. Ja tas tā ir, izmantojot iepriekšējā solī izmantoto tehniku, pēc izveidošanas un lejupielādes programma tiek izpildīta Raspberry Pi, un tā gaida tastatūras ievadi no Pi, bet, protams, Pi nav pievienota tastatūra, tāpēc programma karājas - nav laba.

Programmas izpildei jāizmanto nedaudz atšķirīga tehnika. Būtībā jūs izveidojat "fiktīvu" galvenās klases failu, kas būtībā neko nedara, un identificējat to kā programmu, kas jāizpilda pēc lejupielādes. Šajā gadījumā "fiktīvais" tiek izpildīts, un pēc tam jūs varat palaist savu "īsto" programmu tieši uz Pi.

Lai izmantotu šo tehniku, vispirms izveidojiet jaunu galveno klasi:

  1. Atveriet projekta izvēlni, kā norādīts 5. darbībā, un noklikšķiniet uz Jauns-> Java galvenā klase. Jūs redzēsit uznirstošo logu New Java Main Class.
  2. Laukā Klases nosaukums ievadiet nosaukumu. Nosaukums var būt jebkas, kas jums patīk; Es izmantoju "Dummy". Lauks Package ļauj identificēt klases paketi; Jūs izvēlaties paketi, izmantojot nolaižamo izvēlni pa labi no lauka. Klase var būt vienā paketē ar jūsu “īsto” programmu vai citā iepakojumā; Es ievietoju jauno klasi tajā pašā iepakojumā. Noklikšķiniet uz Pabeigt. Tagad augšējā labajā panelī redzēsit NetBeans galveno logu ar jauno failu (pirmais attēls). Es pievienoju vienkāršu drukātu paziņojumu par darbību Pi, taču nekas nav īsti vajadzīgs.

Lai pēc lejupielādes palaistu programmu “Dummy”, tā ir jāpadara par projekta “galveno klasi, kas jāizpilda pēc noklusējuma”:

  1. Atveriet projekta rekvizītus, kā aprakstīts 5. darbībā. Atlasiet kategoriju Palaist. Noklikšķiniet uz Pārlūkot pa labi no galvenās klases lauka. Jūs redzēsit uznirstošo logu Pārlūkot galvenās klases (otrais attēls).
  2. Atlasiet klasi "Dummy". Noklikšķiniet uz Atlasīt galveno klasi. Jūs atkal redzēsit projekta rekvizītus.
  3. Noklikšķiniet uz Labi. Jūs atgriezīsities galvenajā logā.

Tagad, noklikšķinot uz ikonas Palaist, NetBeans atbilst/izveido visu projektu, lejupielādē burku, kurā ir visi klases faili, uz Pi un izpilda klasi "Dummy" (trešais attēls).

Lai izpildītu savu īsto programmu Pi, jums tagad jāizmanto java komanda ar opciju “classpath”, kas prasa skaidri norādīt izpildāmo galveno klasi. No ssh klienta dodieties uz sava projekta direktoriju dist. Pareiza komanda ir šādā formā:

java -cp projekta_nosaukums.jar pakotnes_nosaukums.klases_nosaukums

Projekta_nosaukums acīmredzami attiecas uz projektu; kas mainās tikai, strādājot ar jaunu projektu. Pakotnes_nosaukums, protams, attiecas uz pakotni, un klases_nosaukums attiecas uz galveno izpildāmo klasi. Kā minēts iepriekš, projektā var būt daudz pakotņu. Līdzīgi pakotnē var būt daudzas klases, un visas var būt galvenās klases vai programmas, kuras var izpildīt no komandrindas. Tādējādi “klases ceļa” tehnika ir diezgan noderīga, lai izstrādātu sarežģītas programmas ar daudzām klasēm, no kurām dažas ir galvenās klases, lai palīdzētu testēt vienības.

Šāda komanda izpilda manu programmas piemēru:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

10. darbība: izmantojiet NetBeans bibliotēku pārvaldību

Viens no sarežģītākajiem, bet vissvarīgākajiem sarežģītu programmu aspektiem ir darbs ar bibliotēkām, t.i., kāda cita jau uzrakstīts kods. NetBeans veic apbrīnojamu darbu, novēršot lielāko daļu bibliotēku vadības sāpju.

Es izmantošu kā piemēru Pi4J, kas Java programmām nodrošina piekļuvi Raspberry Pi GPIO, I2C kopnei un citai aparatūras I/O. Pi4J ir tikai viens atbalsta piemērs, lai Pi veiktu daudz jautru lietu ar Java.

Vispirms lejupielādējiet bibliotēku savā darbstacijā. Skatiet Pi4J lejupielādes lapu. Tā kā jūs neinstalējat Pi4J uz Pi, lejupielādējiet zip savā darbstacijā. Pēc zip lejupielādes jums var būt vai nav skaidri jāatsaiņo.

Tagad jums ir jāizveido "globālā bibliotēka" NetBeans:

  1. NetBeans galvenajā izvēlnē noklikšķiniet uz Rīki -> Bibliotēkas. Jūs redzēsiet uznirstošo logu Ant Library Manager (pirmais attēls).
  2. Apakšējā kreisajā stūrī noklikšķiniet uz Jauna bibliotēka. Jūs redzēsit uznirstošo logu Jaunā bibliotēka (otrais attēls).
  3. Ierakstiet nozīmīgu nosaukumu, kuru vēlaties izmantot, un noklikšķiniet uz Labi. Jūs atkal redzēsit uznirstošo logu Ant Library Manager. Tagad tā parāda jūsu izveidoto jauno bibliotēku (trešais attēls).
  4. Labajā pusē noklikšķiniet uz Pievienot JAR/mapi. Jūs redzēsit uznirstošo logu Pārlūkot JAR/mapi (ceturtais attēls).
  5. Pārejiet uz un pēc tam atlasiet pi4j-core.jar. Pēc tam noklikšķiniet uz Pievienot JAR/mapi. Jūs atgriezīsities uznirstošajā logā Skudru bibliotēkas pārvaldnieks.
  6. Uznirstošajā skudru bibliotēkas pārvaldnieka logā noklikšķiniet uz Labi. Jūs atgriezīsities NetBeans galvenajā logā.

Jūs pievienojāt bibliotēku, lai to varētu izmantot jebkurā projektā. Tagad projektam jāpievieno bibliotēka:

  1. Atveriet uznirstošo logu Projekta rekvizīti (skatiet 5. darbību) un atlasiet kategoriju Bibliotēkas (piektais attēls).
  2. Uznirstošā loga labajā pusē noklikšķiniet uz Pievienot bibliotēku. Jūs redzēsit uznirstošo logu Pievienot bibliotēku (sestais attēls).
  3. Dodieties uz bibliotēku un atlasiet to. Pēc tam noklikšķiniet uz Pievienot bibliotēku. Jūs atkal redzēsit uznirstošo logu Projekta rekvizīti. Bibliotēka tagad tiek parādīta uznirstošajā apkopojamā laika bibliotēku sarakstā.
  4. Uznirstošajā projekta rekvizītu logā noklikšķiniet uz Labi. Jūs atgriezīsities galvenajā logā.

Jūs esat pievienojis bibliotēku savam projektam, lai jūsu programma to varētu izmantot. To pašu darbību secību varat veikt jebkurai programmai nepieciešamajai bibliotēkai.

Bibliotēka ir nepieciešama trīs reizes - apkopot, veidot un izpildīt. Par laimi, izmantojot NetBeans, bibliotēkas pievienošana, kā parādīts iepriekš, apstrādā visu. Lai to apstiprinātu, esmu izveidojis vēl vienu galveno klasi, kurā tiek izpildīts absolūtais minimums, lai izmantotu I2C iespējas Pi4J (septītais attēls). Fakts, ka nav kļūdu, parāda, ka klase TestPi4J apkopo. Noklikšķinot uz Palaist veiksmīgi izveidot un lejupielādēt; NetBeans lejupielādē bibliotēku papildus jar failam, tāpēc programma tiks izpildīta. Lai pārbaudītu pēdējo, varat izmantot 9. darbībā izmantoto tehniku un ssh klientā ievadīt šādu komandu (no dist direktorijas):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Ir pamācoši saprast, kā NetBeans rīkojas ar bibliotēkām. Atrodoties sava projekta dist direktorijā, uzskaitiet direktorija saturu (izmantojiet komandu ls), un jūs redzēsit lib apakšdirektoriju. Sarakstiet šī direktorija saturu, un jūs redzēsit jar failu, kas identificēts globālajā bibliotēkā, kas manā piemērā ir pi4j-core.jar. Visas bibliotēkai, ko pievienojat projektam, parādīsies lib direktorijā, un līdz ar to tās ir pieejamas visām projekta jar failā esošajām programmām.

11. solis: dodieties izklaidēties

Esmu aprakstījis pieeju, lai panāktu ļoti efektīvu Raspberry Pi Java izstrādi. Raspberry Pi ir ļoti populāra tehnoloģija plašam projektu spektram. Java ir profesionāla līmeņa programmēšanas valoda, kas piedāvā veiktspējas priekšrocības salīdzinājumā ar Python un drošības priekšrocības salīdzinājumā ar C/C ++. NetBeans ir profesionāla līmeņa IDE, kas ievērojami palielina programmētāju produktivitāti.

Es domāju, ka kombinācija ir diezgan pārliecinoša. Tagad izklaidējieties, izmantojot šo projektu kombināciju.

Ieteicams: