MrJazsohanisharma

เว็บแอประบบสแกนบัตร RFID เข้าร่วมงาน

 



การสร้างระบบสแกนบัตร RFID เข้าร่วมงานในรูปแบบ เว็บแอป โดยใช้ Google Apps Script และ Google Sheets สามารถทำได้ โดยทำการสร้างเว็บแอปที่ให้ผู้ใช้สามารถสแกนบัตร RFID ผ่านเครื่องมือที่เชื่อมต่อกับเว็บแอป และบันทึกข้อมูลลงใน Google Sheets ดังนี้:

ขั้นตอนในการสร้างเว็บแอปด้วย Google Apps Script

1. เตรียม Google Sheets

สร้าง Google Sheets สำหรับเก็บข้อมูลการเข้าร่วมงาน (ตามที่ได้อธิบายไว้ในขั้นตอนก่อนหน้านี้):
  • คอลัมน์ A: หมายเลขบัตร RFID
  • คอลัมน์ B: ชื่อผู้เข้าร่วม
  • คอลัมน์ C: สถานะการเข้าร่วม
  • คอลัมน์ D: เวลาเข้าร่วม

ตัวอย่างข้อมูล:

RFID No.ชื่อผู้เข้าร่วมสถานะเวลาเข้าร่วม
123456789นายสมชายยังไม่มา
987654321นางสาวสุกัญญายังไม่มา

2. สร้าง Google Apps Script Project

  • เปิด Google Sheets ที่คุณสร้างขึ้นมา
  • ไปที่ Extensions > Apps Script
  • ตั้งชื่อโปรเจกต์ใหม่ (เช่น "RFID Check-in System")
  • เขียนโค้ดใน Google Apps Script เพื่อรับค่าจากเว็บและอัปเดตข้อมูลใน Google Sheets

3. เขียนโค้ดใน Google Apps Script

โค้ดใน Code.gs สำหรับจัดการข้อมูล

     
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function onScanRFID(rfidNo) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowToUpdate = -1;

  // ค้นหาหมายเลข RFID ใน Google Sheets
  for (var i = 1; i < data.length; i++) {
    if (data[i][0] == rfidNo) {
      rowToUpdate = i + 1; // บรรทัดที่ต้องการอัปเดต
      break;
    }
  }

  // ถ้าพบ RFID ในระบบ
  if (rowToUpdate != -1) {
    var currentTime = new Date();
    // อัปเดตสถานะและเวลา
    sheet.getRange(rowToUpdate, 3).setValue('มาแล้ว');
    sheet.getRange(rowToUpdate, 4).setValue(currentTime);
    return 'บัตร RFID ' + rfidNo + ' เข้าร่วมงานแล้ว';
  } else {
    return 'ไม่พบหมายเลข RFID นี้ในระบบ';
  }
}

    


โค้ดใน Index.html สำหรับหน้าเว็บแอป


     
<!DOCTYPE html>
<html>
  <head>
    <title>RFID Check-in System</title>
    <script>
      function scanRFID() {
        var rfidNo = document.getElementById('rfidInput').value;
        if (rfidNo) {
          google.script.run.withSuccessHandler(updateStatus).onScanRFID(rfidNo);
        } else {
          alert('กรุณากรอกหมายเลขบัตร RFID');
        }
      }

      function updateStatus(message) {
        document.getElementById('status').innerText = message;
      }
    </script>
  </head>
  <body>
    <h1>ระบบสแกนบัตร RFID เข้าร่วมงาน</h1>
    <label for="rfidInput">กรุณาสแกนบัตร RFID:</label>
    <input type="text" id="rfidInput" placeholder="กรอกหมายเลขบัตร RFID" oninput="scanRFID()">
    <p id="status"></p>
  </body>
</html>

    


4. การอัปโหลดและตั้งค่าการใช้งานเว็บแอป

  1. เมื่อโค้ดเสร็จแล้ว ให้ไปที่ Publish > Deploy > Test deployments > Select type > Web app
  2. ตั้งค่าการเปิดใช้งานเว็บแอป:
    • Execute as: เลือก Me (ผู้สร้าง)
    • Who has access: เลือก Anyone
  3. คลิก Deploy เพื่อเผยแพร่เว็บแอป

5. การใช้เว็บแอป

  • เมื่อเว็บแอปทำงานแล้ว คุณสามารถเข้าถึงมันผ่าน URL ที่ได้จากการเผยแพร่ (Deploy) โดยจะเป็นหน้าเว็บที่ผู้ใช้สามารถกรอกหมายเลขบัตร RFID เพื่อทำการสแกนและบันทึกข้อมูลการเข้าร่วมงาน
  • ข้อมูลที่กรอกลงไปจะถูกส่งไปยัง Google Apps Script และอัปเดตใน Google Sheets

6. การเชื่อมต่อกับเครื่องอ่าน RFID

ในขั้นตอนนี้จะต้องเชื่อมต่อกับเครื่องอ่านบัตร RFID ที่คุณใช้งานอยู่ โดยเครื่องอ่าน RFID สามารถส่งข้อมูล (หมายเลข RFID) ไปยัง Google Sheets ผ่านเว็บหรือ API ที่เชื่อมต่อกับ Google Apps Script ที่เราเขียนขึ้นมา

ตัวอย่างการทำงาน:

  • เครื่องอ่าน RFID ที่ใช้ได้ในบางรุ่นสามารถตั้งค่าให้ส่งข้อมูลผ่านคีย์บอร์ดแบบ USB (Virtual Keyboard) เมื่อสแกนบัตร RFID แล้วจะพิมพ์หมายเลขบัตรลงในช่องข้อมูลของ Google Sheets
  • หากไม่สามารถทำงานผ่านคีย์บอร์ดได้ อาจจะต้องใช้เซิร์ฟเวอร์กลาง (เช่น Node.js หรือ Python) เพื่อส่งข้อมูลไปยัง Apps Script ผ่าน API (Google Apps Script API หรือ Google Sheets API)

การเชื่อมต่อผ่านคีย์บอร์ด USB:

  • เมื่อสแกนบัตร RFID เครื่องอ่านจะพิมพ์หมายเลข RFID ลงในฟิลด์ที่ระบุในเว็บแอป (ในกรณีนี้คือช่อง "กรอกหมายเลขบัตร RFID")
  • ระบบจะตรวจสอบและอัปเดตข้อมูลใน Google Sheets

สรุป:

ขั้นตอนนี้ทำให้คุณสามารถสร้างระบบสแกนบัตร RFID ผ่านเว็บแอปโดยใช้ Google Apps Script และ Google Sheets เพื่อจัดการข้อมูลการเข้าร่วมงานได้อย่างมีประสิทธิภาพ



1 ความคิดเห็น

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