Wednesday, June 10, 2020

Mengirim data user ke mesin Fingerprint

Sebelum ke sini baca ini :


  • Memilih fingerprint yang support PHP



  • Parse Data SOAP fingerprint


  • Untuk mengirim data user ke mesin Fingerprint, terlebih dahulu mesin fingerprint harus disetting IP dan Commkey nya.

    kemudian buat file index.php

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <html>
    <head><title>Contoh Koneksi Mesin Absensi Mengunakan SOAP Web Service</title></head>
    <body bgcolor="#caffcb">
    
    <H3>Upload Nama</H3>
    
     <?php
            $IP = filter_input(INPUT_GET, "ip");
            $Key = filter_input(INPUT_GET, "key");
            $id = filter_input(INPUT_GET, "id");
            $nama = filter_input(INPUT_GET, "nama");
            if ($IP == "") {
                $IP = "192.168.1.201";
            }
            if ($Key == "") {
                $Key = "123456";
            }
            ?>
    
    <form action="upload-nama.php">
    IP Address: <input type="Text" name="ip" value="<?php echo $IP;?>" size=15><BR>
    Comm Key: <input type="Text" name="key" size="5" value="<?php echo $Key;?>"><BR><BR>
    
    UserID: <input type="Text" name="id" size="5" value="<?php echo $id;?>"><BR>
    Nama: <input type="Text" name="nama" size="15" value="<?php echo $nama;?>"><BR><BR>
    
    <input type="Submit" value="Upload Nama">
    </form>
    <BR>
    
    <?php
    if(filter_input(INPUT_GET, "ip")!=""){
     $Connect = fsockopen($IP, "80", $errno, $errstr, 1);
     if($Connect){
      $id=$HTTP_GET_VARS["id"];
      $nama=$HTTP_GET_VARS["nama"];
      $soap_request="<SetUserInfo><ArgComKey Xsi:type=\"xsd:integer\">".$Key."</ArgComKey><Arg><PIN>".$id."</PIN><Name>".$nama."</Name></Arg></SetUserInfo>";
      $newLine="\r\n";
      fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
         fputs($Connect, "Content-Type: text/xml".$newLine);
         fputs($Connect, "Content-Length: ".strlen($soap_request).$newLine.$newLine);
         fputs($Connect, $soap_request.$newLine);
      $buffer="";
      while($Response=fgets($Connect, 1024)){
       $buffer=$buffer.$Response;
      }
     }else echo "Koneksi Gagal";
     include("parse.php"); 
     $buffer=Parse_Data($buffer,"<Information>","</Information>");
     echo "<B>Result:</B><BR>";
     echo $buffer;
    } 
    ?>
    
    </body>
    </html>
    

    Tuesday, June 9, 2020

    Menghapus log data di mesin Fingerprint

    Sebelum ke sini baca ini :
    1. Memilih fingerprint yang support PHP
    2. Parse Data SOAP fingerprint

    Untuk menghapus log data dari mesin fingerprint, terlebih dahulu mesin fingerprint harus disetting IP dan Commkey nya.

    kemudian buat file index.php untuk menghapus log data dari mesin fingerprint:

    
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <html>
        <head><title>Contoh Koneksi Mesin Absensi Mengunakan SOAP Web Service</title></head>
        <body bgcolor="#caffcb">
    
            <H3>Clear Log Data</H3>
    
            <?php
            $IP = filter_input(INPUT_GET, "ip");
            $Key = filter_input(INPUT_GET, "key");
            if ($IP == "") {
                $IP = "192.168.1.201";
            }
            if ($Key == "") {
                $Key = "123456";
            }
            ?>
    
            <form action="clear-data.php">
                IP Address: <input type="Text" name="ip" value="<?php echo $IP; ?>" size=15><BR>
                Comm Key: <input type="Text" name="key" size="5" value="<?php echo $Key; ?>"><BR><BR>
    
                <input type="Submit" value="Clear Log">
            </form>
            <BR>
    
            <?php
            if (filter_input(INPUT_GET, "ip") != "") {
                $Connect = fsockopen($IP, "80", $errno, $errstr, 1);
                if ($Connect) {
                    $soap_request = "<ClearData><ArgComKey xsi:type=\"xsd:integer\">" . $Key . "</ArgComKey><Arg><Value xsi:type=\"xsd:integer\">3</Value></Arg></ClearData>";
                    $newLine = "\r\n";
                    fputs($Connect, "POST /iWsService HTTP/1.0" . $newLine);
                    fputs($Connect, "Content-Type: text/xml" . $newLine);
                    fputs($Connect, "Content-Length: " . strlen($soap_request) . $newLine . $newLine);
                    fputs($Connect, $soap_request . $newLine);
                    $buffer = "";
                    while ($Response = fgets($Connect, 1024)) {
                        $buffer = $buffer . $Response;
                    }
                } else
                    echo "Koneksi Gagal";
                include("parse.php");
                $buffer = Parse_Data($buffer, "<Information>", "</Information>");
                echo "<B>Result:</B><BR>";
                echo $buffer;
            }
            ?>
    
        </body>
    </html>
    

    Monday, June 8, 2020

    Mengambil log data dari mesin Fingerprint

    Sebelum ke sini baca ini :
    1. Memilih fingerprint yang support PHP
    2. Parse Data SOAP fingerprint

    Untuk menggambil log data dari mesin fingerprint, terlebih dahulu mesin fingerprint harus disetting IP dan Commkey nya.

    kemudian buat file index.php untuk mengambil log data dari mesin fingerprint:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <html>
        <head><title>Contoh Koneksi Mesin Absensi Mengunakan SOAP Web Service</title></head>
        <body bgcolor="#caffcb">
    
            <H3>Download Log Data</H3>
    
            <?php
            $IP = filter_input(INPUT_GET, "ip");
            $Key = filter_input(INPUT_GET, "key");
            if ($IP == "") {
                $IP = "192.168.1.201";
            }
            if ($Key == "") {
                $Key = "123456";
            }
            ?>
    
            <form action="tarik-data.php">
                IP Address: <input type="Text" name="ip" value="<?php echo $IP; ?>" size=15><BR>
                Comm Key: <input type="Text" name="key" size="5" value="<?php echo $Key; ?>"><BR><BR>
    
                <input type="Submit" value="Download">
            </form>
            <BR>
    
            <?php if (filter_input(INPUT_GET, "ip") != "") { ?>
                <table cellspacing="2" cellpadding="2" border="1">
                    <tr align="center">
                        <td><B>UserID</B></td>
                        <td width="200"><B>Tanggal & Jam</B></td>
                        <td><B>Verifikasi</B></td>
                        <td><B>Status</B></td>
                    </tr>
                    <?php
                    $Connect = fsockopen($IP, "80", $errno, $errstr, 1);
                    if ($Connect) {
                        $soap_request = "<GetAttLog><ArgComKey xsi:type=\"xsd:integer\">" . $Key . "</ArgComKey><Arg><PIN xsi:type=\"xsd:integer\">All</PIN></Arg></GetAttLog>";
                        $newLine = "\r\n";
                        fputs($Connect, "POST /iWsService HTTP/1.0" . $newLine);
                        fputs($Connect, "Content-Type: text/xml" . $newLine);
                        fputs($Connect, "Content-Length: " . strlen($soap_request) . $newLine . $newLine);
                        fputs($Connect, $soap_request . $newLine);
                        $buffer = "";
                        while ($Response = fgets($Connect, 1024)) {
                            $buffer = $buffer . $Response;
                        }
                    } else
                        echo "Koneksi Gagal";
    
                    include("parse.php");
                    $buffer = Parse_Data($buffer, "<GetAttLogResponse>", "</GetAttLogResponse>");
                    $buffer = explode("\r\n", $buffer);
                    for ($a = 0; $a < count($buffer); $a++) {
                        $data = Parse_Data($buffer[$a], "<Row>", "</Row>");
                        $PIN = Parse_Data($data, "<PIN>", "</PIN>");
                        $DateTime = Parse_Data($data, "<DateTime>", "</DateTime>");
                        $Verified = Parse_Data($data, "<Verified>", "</Verified>");
                        $Status = Parse_Data($data, "<Status>", "</Status>");
                        ?>
                        <tr align="center">
                            <td><?php echo $PIN; ?></td>
                            <td><?php echo $DateTime; ?></td>
                            <td><?php echo $Verified; ?></td>
                            <td><?php echo $Status; ?></td>
                        </tr>
                        <?php } ?>
                    </table>
                    <?php } ?>
    
        </body>
    </html>
    
    
    

    Sunday, June 7, 2020

    Parse SOAP Fingerprint

    Melanjutkan postingan sebelumnya setelah memilih fingerprint yang support PHP

    Untuk menggambil log data dari mesin fingerprint, terlebih dahulu mesin fingerprint harus disetting IP dan Comkey nya.

    untuk mengkonversi respon dari soap mesin fingerprint berupa xml agar mudah diolah, pertama buat file parse.php
    
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    <?php
    function Parse_Data($data,$p1,$p2){
     $data=" ".$data;
     $hasil="";
     $awal=strpos($data,$p1);
     if($awal!=""){
      $akhir=strpos(strstr($data,$p1),$p2);
      if($akhir!=""){
       $hasil=substr($data,$awal+strlen($p1),$akhir-strlen($p1));
      }
     }
     return $hasil; 
    }
    ?>
    

    Saturday, June 6, 2020

    Memilih fingerprint yang mendukung pemrograman PHP

    Yang perlu diperhatikan dalam memilih Fingerprint untuk sistem Absensi atau Akses Kontrol  ruangan dengan menggunakan PHP:
    • Fingerprint Absensi / Akses Kontrol mendukung SDK SOAP
    SDK yang disupport dapat dilihat di buku manual fingerprint, biasanya fingerprint dengan tipe Standalone mempunyai SDK SOAP.

    • Fingerprint Absensi / Akses Kontrol mempunyai webserver
    Jika menemukan Webserver versi 3.1 terdapat kendala saat penarikan LOG DATA menggunakan SOAP, untuk permasalahan tersebut dapat dilakukan downgrade ke vendor penyedia fingerprint.

    •  Alogaritma pengkodean sidik jari 
    Jenis jenis alogaritma : ZKFinger VX9.0, ZKFinger VX10.0 atau ZKFingerVein VX3.0. Kalau melanjutkan sistem yang sudah ada maka jenis alogaritmanya harus sama kalau tidak sama maka harus daftar ulang finger untuk semua karyawan yang terdaftar di mesin absensi lama.


    Sumber ZKTeco sdk 

    Contoh Fingerprint biasa dan Fingerprint Akses kontrol yang support SDK SOAP

    1. Fingerspot premier series
    2. Solution X304 
    3. Zkteco R18/F18


    Hal-hal yang dapat dilakukan SDK SOAP dengan PHP ke mesin Fingerprint
    • Mengambil log data dari mesin
    • Menghapus log data di mesin
    • Mengirim data user ke mesin
    • Menghapus data user di mesin
    • Mengambil sidik jari user dari mesin
    • Mengirim sidik jari user ke mesin
    • Menghapus sidik jari di mesin
    • Setting waktu ke mesin

    Popular Posts