fungsi untuk membaca serial port pada tablet ataupun handphone pada android

hello gan, telah lama saya mencari cara untuk membaca serial port pada tablet akhirnya ketemu juga. kali ini saya akan berbagi cara membaca serial port pada tablet advan.. sebelum membahasnya saya uraikan dulu maksudnya yah guys. serial port dan serial usb itu berbeda yah guys..

perbedaan usb serial dan serial port:
usb serial bisa jadi untuk transfer data dan file, sedangkan
serial port hanya untuk transfer data atau cuma untuk baca data yah guys tidak bisa untuk write atau menulis data ke device, artinya kita cuma bisa membaca isi dari port tersebut.

semoga agan semua paham yah, okey sebelum kita ngoding persiapannya
1. pastikan agan sudah instal android studio java yah, karena saya menggunakan pemrograman java

berikut source code fungsinya:

fungsi permission untuk serial port:

File dirFile = new File("/dev/ttyS2"); // ttyS2 = Serial Port 0 ; ttyS3 = serial port 1dirFile.setReadable(true, false);
dirFile.setExecutable(true, false);
dirFile.setWritable(true, false);
String command = "busybox stty -F /dev/ttyS2 ispeed 9600 ospeed 9600 cs8"; // setting baudratetry {
    Process process = getRuntime().exec(command);
    process.waitFor();
    int existValue = process.exitValue();
    if (existValue != 0) {
        Log.e(String.valueOf(Level.SEVERE), "Change file permission failed.");
    } else {
        Log.e(String.valueOf(Level.SEVERE), "Success 1");
    }
} catch (Exception e) {
    Log.e(String.valueOf(Level.SEVERE), "Command execute failed.", e);
}

fungsi membaca serial port:

File file = new File("/dev/ttyS2");
            try {
                BufferedReader br = new BufferedReader(new FileReader(file));
                StringBuilder text = new StringBuilder();
                String line = null;
                char[] buff = new char[2024];
                try {
                    while ((line = br.readLine()) != null) {
                        byte[] testing = line.getBytes();
                        byte[] latin1 = new String(testing, "ISO-8859-1").getBytes("UTF-8");
                        int countResponse = latin1.length;
                        StringBuffer buffer = new StringBuffer();
                        for (int i = 0; i < latin1.length; i++) {
                            buffer.append(Character.forDigit((latin1[i] >> 4) & 0xF, 16));
                            if (i == countResponse - 1) {
                                buffer.append(Character.forDigit((latin1[i] & 0xF), 16));
                            } else {
                                buffer.append(Character.forDigit((latin1[i] & 0xF), 16) + ",");
                            }

                        }
                       String userdefind[] = buffer.toString().toLowerCase().split(",");
                       Log.e("HEX", buffer.toString());

                    }
                } catch (Exception e) {
                    Log.e("Error", e.toString());
                }
            } catch (IOException e) {
                Log.e("Error", e.toString());
            }
        }

Komentar

Postingan populer dari blog ini

cara membuat checkbox pada listview vb.net dan dapat di pilih sesuai checkbox yang dipilih

membuat menu jquery bootstrap tanpa reload page

menampilkan data pada power point menggunakan program visual studio 2010