Estoy desarrollando una aplicación de flota donde necesito rastrear el movimiento de mi vehículo. y almacenar en mysql db. Estoy usando gt06 gps con una tarjeta sim.
He creado un archivo java para comprobar que el gps está enviando los datos o no. mi programa está conectado con el gps pero los datos que estoy recibiendo no son claros. puede alguien ayudarme. cómo analizar los datos. o los datos que estoy recibiendo son incorrectos.
El siguiente programa lo estoy usando
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class BackupServerListener {
public static void main(String[] args) {
new ServerListener().startServer();
}
public void startServer() {
final ExecutorService clientProcessingPool = Executors.newFixedThreadPool(03);
Runnable serverTask = new Runnable() {
@SuppressWarnings("resource")
public void run() {
try {
ServerSocket serverSocket = new ServerSocket(9876);
System.out.println("Waiting for clients to connect...");
while (true) {
Socket clientSocket = serverSocket.accept();
clientProcessingPool.submit(new ClientTask(clientSocket));
}
} catch (IOException e) {
System.err.println("Unable to process client request");
e.printStackTrace();
}
}
};
Thread serverThread = new Thread(serverTask);
serverThread.start();
}
private class ClientTask implements Runnable {
private final Socket clientSocket;
private ClientTask(Socket clientSocket) {
this.clientSocket = clientSocket;
}
public void run() {
System.out.println("Got a client !");
while (true) {
try {
BufferedReader reader = new BufferedReader( new InputStreamReader(clientSocket.getInputStream()));
String clientData = "";
clientData = reader.readLine();
String hex_value = asciiToHex(clientData);
System.out.println("clientdata::::"+hex_value);
} catch (IOException e) {
e.printStackTrace();
}
}
}
private String asciiToHex(String clientData) {
char[] chars = clientData.toCharArray();
StringBuffer hex = new StringBuffer();
for (int i = 0; i < chars.length; i++)
{
hex.append(Integer.toHexString((int)chars[i]));
}
return hex.toString();
}
}
}