แนวคิดการทำทะเบียนอุปกรณ์คอมพิวเตอร์ด้วย QR CODE และใช้มือถือ SCAN อ่านข้อมูล ( part 2 ทำจริง)


ใน part 1 เราได้แนะนำคร่าวๆ ไปแล้ว  คราวนี้มาลงมือปฏิบัติกันจริงๆ (รอแป๊ปน่ะครับ)

   เราจะมาเริ่มสู่การปฏิบัติจริงๆ โดยการ hard code และออกแบบ database กันจริง ๆ เพื่อทำไปใช้กันจริงๆ 

เครื่องมือ
1. เครื่องคอมพิวเตอร์ PC ลง widows หรือ Linux ก็ได้
2.  PHP QR CODE  ดาวน์โหลดได้จาก http://sourceforge.net/projects/phpqrcode/files/latest/download?source=files
3. editor  จะใช้ editplus  , notepad++ , sublime หรืออะไรก็ได้
4. LAMP  OR WAMP or Xamp ( APACHE , PHP , MYSQL)
5. SQL YOG or  Mysql front

ขั้นตอนการติดตั้ง
1. ติดตั้ง  XAMP or Wamp  ( Apache + PHP + MYSQL)
2. Design database
 สร้าง database ชื่อ NMS
  สร้าง TABLE ชื่อ  switch
CREATE TABLE IF NOT EXISTS switch (
  id_switch int(3) unsigned NOT NULL auto_increment,
  name varchar(30) ,
  brand varchar(30) ,
  model varchar(30) ,
  os_version varchar(30) ,
  serial varchar(30) ,
  date_ varchar(10) ,
  port int(2) unsigned ,
  ip_1 varchar(30) ,
  ip_2 varchar(30) ,
  location varchar(50) ,
  asset_id varchar(50) ,
  PRIMARY KEY (id_switch),
   KEY name (name,brand,model,os_version,serial)
);
////////////////////////////////////  /////////////////////////////////////////////////
INSERT INTO switch VALUES("1", "Switch", "Switch Cisco ", "WS-C2960-48TC", "-", "-", "-", "0", "10.168.2.1", NULL, "Dprompt  floor 1", "-");
INSERT INTO switch VALUES("2", "Core Switch Kasarb", "Alcatel", "omniswitch 9800", "-", "-", "-", "48", "10.156.13.1", NULL, "pradipat ", "-");
INSERT INTO switch VALUES("3", "router cat", "cisco", "1841", "-", "IPM7W00CRA", "2552", "2", "-", NULL, "pradipat ", "-");
INSERT INTO switch VALUES("4", "switch rack dell", "3com", "4900 gigabitswitch", "-", "-", "2545", "12", "-", NULL, "pradipat ", "7440-001-0003");
INSERT INTO switch VALUES("5", "Core Switch Dprompt ", "Cisco", "3750E", "-", "-", "2549", "24", "10.175.33.254", NULL, "Dprompt ", "-");
INSERT INTO switch VALUES("6", "Switch Dprompt L2", "Cisco", "WS-C2960-48TC-L", "-", "-", "2549", "48", "-", NULL, "Dprompt ", "-");
INSERT INTO switch VALUES("7", "Switch Avaya  L2", "Avaya", "P333T", "-", "-", "2547", "24", "-", NULL, "Pradipat ", "-");
INSERT INTO switch VALUES("8", "Cisco L2", "cisco", "WS-C2960-24TC-L", "-", "-", "2549", "24", "-", NULL, "Dprompt ", "-");
INSERT INTO switch VALUES("9", "Switch L2", "Avaya", "P314G2", "-", "-", "2546", "48", "-", NULL, "Pradipat ", "-");
INSERT INTO switch VALUES("10", "Switch Layer 3 Gigabit", "Foundry", "FastLron Edge 12GCF", "-", "-", "2548", "12", "-", NULL, "Pradipat ", "-");
INSERT INTO switch VALUES("11", "Switch Layer2", "Foundry", "FastIron Edge 4802", "-", "-", "2548", "48", "-", NULL, "Pradipat ", "-");
INSERT INTO switch VALUES("12", "Switch Layer 2", "Foundry", "FastIron Edge 4802", "-", "-", "2548", "48", "-", NULL, "Pradipat ", "-");
INSERT INTO switch VALUES("13", "Switch", "Cisco", "2960", "-", "FOC1116Z26H", "-", "48", "", NULL, "Dprompt  Floor 1", "-");
INSERT INTO switch VALUES("14", "Switch", "Cisco", "3750", "-", "FOC1115Z65H", "-", "24", "-", NULL, "Dprompt  Floor 1 ", "-");
INSERT INTO switch VALUES("15", "Switch", "3COM", "3300", "-", "01007MMV5846B58", "-", "24", "-", NULL, "Dprompt  Floor 1 ", "-");

//////////////////////////

3.ดาวน์โหลด Php QR CODE
   3.1 ดาวน์โหลดไฟล์ zip จาก http://sourceforge.net/projects/phpqrcode/files/latest/download?source=files หลังจาก download แล้ว ทำการแตกไฟล์ไว้ใน c:/Xamp/htdocs/  or  c:/wamp/www/
   3.2  ทดสอบว่าติดตั้งอย่างถูกต้อง เมื่อเปิด http://localhost/phpqrcode/ หากภาพไม่ขึ้นจะต้องไปเปิดการใช้งาน GD Library บน php.ini

  3.3 ทดสอบ code แรก  โดยสร้างไฟล์ชื่อ gencode.php ไว้ใน folder phpqrcode  โดยมี code ดังนี้
     
 <?php
                     $name = $_REQUEST['name'];
                      include('qrlib.php');
                      QRcode::png($name);
        ?>

         ทดสอบ code ได้จาก http://localhost/phpqrcode/gencode1.php?name=kitti จะพบหน้าจอดังรูป

ตัวอย่าง code  php สำหรับดึงข้อมูลจากฐานข้อมูลมาแสดง QRCODE ตั้งชื่อว่า testdb.php

<?php
header("Content-type:text/html; charset=UTF-8");        

$connect =mysql_connect("localhost","root","password");
mysql_select_db("nms");    
//mysql_query("set character set utf8");  
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="bootstrap/css/bootstrap.css">
</head>
<body>
  <br>
  <div style="margin:auto;width:80%;">
  <table class="table table-bordered" border="1">
    <tr class="active">
        <th>ID Switch</th>
        <th>Name Switch</th>
        <th>QRcode</th>
    </tr>
    <?php
            $query ="SELECT id_switch,name,model,ip_1,serial FROM switch  order by id_switch LIMIT 5";
            $result=mysql_query($query);
     while($data=mysql_fetch_assoc($result)){
      $model =$data['model'];
      $ip = $data['ip_1'];
    ?>
      <tr>
        <td align="center">
          <?php  
                  echo   $id=$data['id_switch'];
                   // echo $switch;
          ?>
          </td>
          <td>
          <?php  
                  echo   $switch=$data['name'];
                  $alltext ="หมายเลข".$id." ชื่อ ".$name." รหัส  ".$model." หมายเลขไอพี ".$ip." ";
                   // echo $switch;
          ?>
          </td>
          <td>
              <img src="gencode.php?name=<?php echo $alltext;?>">
          </td>
      </tr>
    <?php
      }
    ?>
  </table>
  </div>
</body>
</html>

ผลลัพธ์ code php ที่เขียนขึ้น




ทดสอบเอามือถือ scan QRcode จะได้ข้อมูลดังนี้


   เนื้อหาต่อไป จะเป็นตัวอย่างการออกรายงาน และการพิมพ์ออกมาเป็น pdf และ print ออกมาเป็น sticker ขนาด 3.5 นิ้ว ซึ่งสามารถใช้ขนาด sticker ฉลากยา โดยมีขายทั่วไป โดยใช้ เครื่อง printer แบบ dot matrix พิมพ์ รวมถึงการกำหนดเวลาแจ้งเตือนการทำ PM หรือ MA หรือ ครบอายุการใช้งาน 5 ปี โดยสามารถแจ้งเตือนผ่าน email ,sms หรือ Line Application ได้

//////////////////////////////////////////

Credit : http://www.ninenik.com/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87_qrcode_%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%87%E0%B9%88%E0%B8%B2%E0%B8%A2%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2_phpqrcode-581.html


ความคิดเห็น

  1. สุดยอดมาก อยากได้ความรู้แบบนี้มานานแล้ว

    ตอบลบ
  2. ขอบคุณครับ เข้าทางเลย

    ตอบลบ
  3. กำลังหาบทความแนวนี้มาทำบ้างค่ะ ขอบคุณสำหรับความรู้ค่ะ เดี๋ยวจะไปลองทำดูบ้างค่ะ :)

    ตอบลบ
  4. กำลังทำโปรเจค ที่มีส่วนนี้เกี่ยวข้องอยู่ครับ ขอบคุณคับ

    ตอบลบ
  5. ภาพ QRcode ไม่ขึ้น เปิดการใช้งาน GD Library บน php.ini แล้ว

    ตอบลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แจ้งเตือนเข้าไลน์กลุ่ม ผ่าน Line notify เมื่อมีคน login เข้า server ของเราผ่าน SSH (linux) หรือ remote desktop เข้ามา (windows server)

การทำ cloud iot ด้วย thingsboard ไว้ใช้เองครับ

การประยุกต์ใช้ line notify ในการแจ้งปัญหาการใช้งาน สำหรับ php