การสร้างระบบสแกนบัตร 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. การอัปโหลดและตั้งค่าการใช้งานเว็บแอป
- เมื่อโค้ดเสร็จแล้ว ให้ไปที่ Publish > Deploy > Test deployments > Select type > Web app
- ตั้งค่าการเปิดใช้งานเว็บแอป:
- Execute as: เลือก
Me (ผู้สร้าง)
- Who has access: เลือก
Anyone
- คลิก 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 เพื่อจัดการข้อมูลการเข้าร่วมงานได้อย่างมีประสิทธิภาพ
บ่มีบัตร ขอแบบระบบสแกนธรรมดาดีกว่าครับ
ตอบลบ