Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package diktya1_9096;
- import ithakimodem.Modem;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.lang.System;
- public class virtualModem {
- public static void main(String[] param) throws IOException {
- (new virtualModem()).demo();
- }
- public void demo() throws IOException {
- int k;
- Modem modem;
- modem = new Modem();
- modem.setSpeed(80000);
- modem.setTimeout(2000);
- modem.open("ithaki");
- byte[] echoPackets = "E6101\r".getBytes();
- byte[] errorFreeImage = "M3554 \r".getBytes();
- byte[] errorImage = "G1367\r".getBytes();
- byte[] gps = "P0238R=1000199\r".getBytes();
- byte[] ack = "Q9057\r".getBytes();
- byte[] nack = "R1432\r".getBytes();
- PrintWriter writer = new PrintWriter("echo.txt", "UTF-8");
- FileOutputStream ErrorFreeImage = new FileOutputStream("Ε1.jpg");
- FileOutputStream ErrorImage = new FileOutputStream("Ε2.jpg");
- for (;;) {
- try {
- k = modem.read();
- if (k == -1)
- break;
- System.out.print((char) k);
- } catch (Exception x) {
- break;
- }
- }
- // NOTE : Break endless loop by catching sequence "\r\n\n\n".
- // NOTE : Stop program execution when "NO CARRIER" is detected.
- // NOTE : A time-out option will enhance program behavior.
- // NOTE : Continue with further Java code.
- // NOTE : Enjoy :)
- EchoPackets(echoPackets, modem);
- writer.println((int) EchoPackets(echoPackets, modem));
- writer.close();
- Image(errorFreeImage, modem, ErrorFreeImage);
- ErrorFreeImage.close();
- Image(errorImage, modem, ErrorImage);
- ErrorImage.close();
- GPS(gps, modem);
- System.out.println("DONE!");
- modem.close();
- }
- //Συνάρτηση για echo Packets
- public long EchoPackets(byte[] echo, Modem modem1) {
- long startTime = System.currentTimeMillis();
- modem1.write(echo);
- for (int i = 0; i < 35; i++) {
- try {
- int k = modem1.read();
- if (k == -1) {
- break;
- }
- System.out.print((char) k);
- } catch (Exception x) {
- break;
- }
- }
- System.out.println(" ");
- long endTime = System.currentTimeMillis();
- long responseTime = endTime - startTime;
- return responseTime;
- }
- // Συνάρτηση για Images
- public void Image(byte[] im, Modem modem2, FileOutputStream imageFile) throws IOException {
- modem2.write(im);
- int firstByte = 0;
- int secondByte = 0;
- while (1 != 0) {
- firstByte = secondByte;
- secondByte = modem2.read();
- if (firstByte == 255 && secondByte == 216) {
- imageFile.write(firstByte);
- imageFile.write(secondByte);
- break;
- }
- }
- while (1 != 0) {
- try {
- if (firstByte == 255 && secondByte == 217) {
- imageFile.write((byte) secondByte);
- break;
- }
- firstByte = secondByte;
- secondByte = modem2.read();
- imageFile.write((byte) secondByte);
- } catch (Exception x) {
- break;
- }
- }
- imageFile.close();
- }
- public void GPS(byte[] gps1, Modem modem3) {
- modem3.write(gps1);
- int gpsTraces[][] = new int[99][80];
- int long_lat[][] = new int[99][17];
- int k = 0;// Στο k θα αποθηκεύονται τα Bytes που στέλνονται από τον Server Ithaki
- int i = -1;// Δείκτης γραμμών του πίνακα ιχνών
- int j = 0;// Δείκτης στηλών του πίνακα ιχνών
- //Εκτύπωση μηνύματος εκκίνησης
- for (int c = 0; c < 27; c++) {
- try {
- if (k == -1)
- break;
- System.out.print((char) modem3.read());
- } catch (Exception x) {
- break;
- }
- }
- //Εκτύπωση ιχνών
- for (;;)
- try {
- k = modem3.read();
- if (k == -1) {
- break;
- }
- if (k == 36) {
- i++;
- j = 0;
- }
- gpsTraces[i][j] = k;// Αποθήκευση ιχνών στον πίνακα
- if (i == 99) {
- break;
- }
- System.out.print((char) gpsTraces[i][j]);
- } catch (Exception x) {
- break;
- }
- // Δημιουργία πίνακα με γεωγραφικά μήκη και πλάτη.
- for (int m = 0; m < 99; m++) {
- int l = 0;
- for (int n = 18; n < 27; n++) {
- if (n != 22) {
- long_lat[m][l] = (gpsTraces[m][n] - 48);
- l++;
- } else {
- continue;
- }
- }
- for (int a = 30; a < 40; a++) {
- if (a != 35) {
- long_lat[m][l] = (gpsTraces[m][a] - 48);
- l++;
- } else {
- continue;
- }
- }
- }
- for (int cc = 0; cc < 17; cc++) {
- System.out.print((char) gpsTraces[22][45]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement