Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Applicazione di esempio e deploy su un embedded device

Impariamo a realizzare una semplice applicazione di esempio in Java e ad effettuarne il deploy su di un embedded device
Impariamo a realizzare una semplice applicazione di esempio in Java e ad effettuarne il deploy su di un embedded device
Link copiato negli appunti

In questo articolo vedremo come realizzare una semplice applicazione Java Embedded. Immaginiamo uno scenario nel quale abbiamo una società produttrice di frigoriferi dotati di collegamento wi-fi e quindi accesso alla rete Internet.

La nostra azienda immaginaria vorrebbe installare su ogni frogorifero venduto un'applicazione Java in grado di trasmettere la temperatura media dell'elettrodomestico ad un proprio server remoto, per fornire un supporto di assistenza di maggiore qualità ai clienti.

L'applicativo Java

L'applicazione Java che andiamo a realizzare utilizza le API socket per stabilire una connessione HTTP verso il server dell'azienda al fine di trasmettere la temperatura del frigorifero:

package it.fridge.services;
import java.net.*;
import java.io.*;
	public class FridgeClient {
	   	public static void main(String [] args) {
	      String serverName = "www.fridgeservice.it";
	      int port = 80;
	      int temp = 23;
	      try {
	         Socket client = new Socket(serverName, port);
	         OutputStream outToServer = client.getOutputStream();
	         DataOutputStream out = new DataOutputStream(outToServer);
	         out.writeUTF("Temperature: " + temp);
	         client.close();
	      } catch (IOException e) {
	         e.printStackTrace();
	      }
	}
}

Nel nostro programma dimostrativo la temperatura è un valore costante ma in un caso reale dobbiamo pensarla acquisita attraverso l'utilizzo di un sensore. Posizioniamoci all'interno della directory di installazione di Java Embedded e compiliamo da riga di comando il file Java creato:

javac it/fridge/services/FridgeClient.java

sfruttiamo quindi il tool jdeps per analizzare il file compilato:

jdeps -P it/fridge/services/FridgeClient.class

l'output del comando ci informa che il profilo minimo per eseguire la nostra applicazione è il compact1. Con questa informazione andiamo a compilare nuovamente il file Java specificando il profilo compact1:

javac -profile compact1 it/fridge/services/FridgeClient.java

completiamo il tutto con la realizzazione di un jar eseguibile da installare sul dispositivo embedded:

jar -cvfm fridgeclient.jar manifest.txt
		it/fridge/services/*.class

dove manifest.txt è un semplice file di testo contenente la sola linea:

Main-Class: it.fridge.services.FridgeClient

La seguente immagine riassume, graficamente, i passi precedentemente eseguiti:

Applicazione Embedded

Figura 1. Applicazione Embedded

Deploy dell'applicazione

Come nel caso di una JRE personalizzata, per eseguire l'applicazione sul dispositivo embedded dobbiamo trasferire il file dalla directory in cui risiede al file system del dispositivo di destinazione. La copia può essere realizzata con il comando scp:

scp -r /home/osboxes/jembedded/ejdk1.8.0_211/fridgeclient.jar
		root@target:/opt/local/ejdk/

Attraverso il Java launcher possiamo eseguire l'applicazione sul target device utilizzando sia l'opzione -cp che -jar. La seguente sequenza di comandi esegue in remoto, sul target device, l'applicativo installato:

ssh username@192.1.2.1
richiesta password ....
java -cp fridgeclient.jar it.fridge.services.FridgeClient

Ti consigliamo anche