หน้าแรก ตรวจหวย เว็บบอร์ด ควิซ แชร์ลิ้ง Page อัลบั้ม คำคม Glitter เกมถอดรหัสภาพ คำนวณ การเงิน ราคาทองคำ กินอะไรดี
ข้อตกลงการใช้บริการนโยบายความเป็นส่วนตัวนโยบายเนื้อหานโยบายการสร้างรายได้About Usติดต่อเว็บไซต์แจ้งเนื้อหาไม่เหมาะสม

สร้างระบบขอเปิดกล้องวงจรปิดด้วยของฟรีล้วนๆ: Apps Script + Sheets + GitHub Pages 0 บาท ไม่ต้องเช่าเซิร์ฟเวอร์

เขียนโดย พีรพัฒน์ พีพี

ใบขอเปิดกล้องวงจรปิดเคยเป็นแค่กระดาษแผ่นหนึ่ง ยื่นแล้วรอ ไม่รู้ว่าเรื่องไปถึงไหน ผมเลยสร้างระบบยื่นคำร้องออนไลน์ขึ้นมาเองทั้งระบบ โดยไม่เสียเงินเลยสักบาท ใช้ของฟรีที่มีอยู่แล้ว 4 อย่างประกอบกัน แล้วพัฒนามาเรื่อยๆ จนถึงเวอร์ชันที่ 80 บทนี้เล่าว่าระบบประกอบด้วยอะไรบ้าง เดินเรื่องอย่างไร และบั๊กไหนที่เจ็บจริงจนต้องจำ

🏗️ สถาปัตยกรรม: ของฟรี 4 ชิ้นประกอบกันเป็นระบบ

ระบบนี้ไม่มีเซิร์ฟเวอร์ของตัวเองเลย หน้าเว็บเป็นไฟล์ HTML ไฟล์เดียว โฮสต์บน GitHub Pages ซึ่งฟรีถ้าโค้ดอยู่ใน repo สาธารณะ หน้าฟอร์มส่งข้อมูลไปที่ Google Apps Script ซึ่งทำหน้าที่เป็นหลังบ้าน อ่านและเขียนลง Google Sheet ที่เป็นฐานข้อมูล ส่วนการแจ้งเตือนใช้ LINE Official Account ส่งข้อความหาคนที่ต้องดำเนินการต่อ ทุกชิ้นฟรี ไม่มีค่าเช่าเซิร์ฟเวอร์ ไม่มีค่าบริการรายเดือน หน้าที่ของแต่ละชิ้นแยกกันชัด หน้าเว็บแค่รับข้อมูลกับแสดงผล หลังบ้านเป็นคนตรวจสิทธิ์กับเก็บข้อมูลจริง หน้าเว็บมี 2 โฮสต์ คือ GitHub Pages กับตัว Apps Script เอง โค้ดชุดเดียวกัน deploy ทั้ง 2 ที่ ทุกเวอร์ชันก่อนขึ้นระบบจริงต้องผ่านชุดตรวจอัตโนมัติ 932 ข้อทั้งหมดถึงจะปล่อย

🔄 4 บทบาท 6 สถานะ เดินตามลำดับไม่ข้ามขั้น

คำร้องหนึ่งใบเดินผ่าน 4 บทบาท เริ่มจากผู้ยื่นกรอกฟอร์ม ฝ่ายไอทีเป็นผู้ดำเนินการรับเรื่อง ฝ่ายบุคคลเป็นผู้ตรวจสอบ แล้วฝ่ายบัญชีเป็นผู้อนุมัติ ผู้ดูแลระบบทำได้ทุกอย่าง สถานะมี 6 ขั้น เรียงตามลำดับ รอตรวจสอบ ไปกำลังดำเนินการ ไปรออนุมัติ ไปอนุมัติหรือปฏิเสธ แล้วจบที่ปิดงาน ข้ามขั้นไม่ได้ ยกเว้นผู้ดูแลระบบ เปิดฟอร์มเจ้าหน้าที่แล้วระบบจะเลื่อนไปส่วนของตัวเองอัตโนมัติพร้อมขอบสีน้ำเงินกับป้ายบอกว่าส่วนนี้คือส่วนของคุณ ส่วนอื่นจะจางลง อีเมลแจ้งเตือนทุกฉบับมีปุ่มเปิดใบนี้ 3 ปุ่ม แยกตามบทบาท กดแล้วเข้าระบบเป็นบทบาทนั้นพร้อมเปิดฟอร์มใบนั้นทันที ไม่ต้องล็อกอินซ้ำ ลิงก์ใช้ซ้ำได้ 5 ครั้งใน 24 ชั่วโมง โดยเริ่มนับจากกดครั้งแรกเท่านั้น ลิงก์ที่ยังไม่เคยกดไม่มีวันหมดอายุ ส่วนปุ่มบันทึกมีล็อกกันกดซ้ำ ตอนกำลังบันทึกปุ่มจะขึ้นว่ากำลังบันทึกและกดซ้ำไม่ได้ กันใบซ้ำจากการกดย้ำตอนเน็ตช้า รายการสาธารณะซ่อนชื่อคนอื่น เหลือแค่แผนกกับสถานะ ส่วนแดชบอร์ดหลังบ้านแสดงแค่ตัวเลขสรุป ไม่ดึงใบทั้งหมดมาโชว์

🐛 บั๊กที่เจ็บจริง 3 เรื่อง

เวอร์ชันหนึ่งเคยพังแบบตลก ลิงก์ในอีเมลหมดอายุทันทีตั้งแต่กดครั้งแรก สาเหตุคือชีตแปลงวันที่ที่บันทึกเป็นข้อความกลับมาเป็นวันที่ ทำให้ฟังก์ชันนับอายุอ่านค่าไม่ได้ แล้วตีว่าลิงก์อายุเกือบหมื่นชั่วโมง แก้โดยจัดรูปแบบวันที่ให้ตรงกันก่อนจับเวลา อีกเรื่องคือตอนทดสอบเจอว่ากดปุ่มบันทึกซ้ำตอนไม่มีผลตอบรับสร้างคำร้องซ้ำได้ เลยใส่ล็อกที่ปุ่มบันทึก ส่วนที่เจ็บที่สุดคือการแก้ไฟล์ในตัวแก้ไขของ Apps Script ผ่านเบราว์เซอร์อัตโนมัติ วางไฟล์ทั้งไฟล์ไม่ติดเลย สุดท้ายต้องใช้เครื่องมือ clasp ผ่าน Cloud Shell แทน ส่วนไฟล์ .bat สำหรับเปิดเซิร์ฟเวอร์บน Windows ต้องขึ้นบรรทัดใหม่แบบ CRLF เท่านั้น ใช้ LF อย่างเดียวหน้าต่างจะปิดทันทีโดยไม่รันอะไรเลย

📇 สแกนบัตรประชาชน: เลขแม่น ชื่อไม่แม่น

ฟอร์มมีปุ่มสแกนบัตรประชาชนด้วย OCR ที่รันในเบราว์เซอร์ทั้งหมด ไม่ส่งรูปออกไปข้างนอก เลข 13 หลักอ่านได้แม่นเพราะมี checksum เป็นตัวตัดสิน ถ้าอ่านผิด checksum จะไม่ผ่าน ส่วนชื่ออ่านไม่แม่น เพราะตัวหนังสือบนพื้นหลังโฮโลแกรมเพี้ยนง่าย และชื่อไม่มี checksum ให้ตรวจ ผมเลยให้ชื่อที่อ่านได้เป็นแค่คำแนะนำที่ต้องให้คนตรวจก่อนบันทึก ถ้าอ่านชื่อไม่ได้ก็พิมพ์ชื่อเอง ใช้เวลาไม่กี่วินาที ดีกว่ามานั่งแก้ชื่อที่อ่านเพี้ยน

💰 ของฟรีมีเพดาน ต้องออกแบบเผื่อไว้

ของฟรีไม่ได้แปลว่าไม่มีขีดจำกัด เอกสารทางการของ Google ระบุว่า Apps Script รันได้ครั้งละไม่เกิน 6 นาที ส่งอีเมลได้วันละ 100 คนถ้าใช้บัญชีฟรี และเรียก URL ภายนอกได้วันละ 20,000 ครั้ง ระบบที่คนใช้เยอะต้องออกแบบให้ทำงานจบใน 6 นาที และไม่ส่งอีเมลพร่ำเพรื่อ GitHub Pages เองก็โฮสต์ได้แค่ไฟล์นิ่ง รันโค้ดฝั่งเซิร์ฟเวอร์ไม่ได้ และหน้าเว็บที่โฮสต์ไว้เป็นสาธารณะ ใครก็เปิดดูได้ ข้อมูลอ่อนไหวจึงต้องอยู่หลังบ้านเท่านั้น ไม่ใช่ในหน้าเว็บ ส่วน LINE แพ็กเกจฟรีมีโควต้าข้อความต่อเดือนและต่างกันตามประเทศ นับเฉพาะข้อความที่เราส่งออกไปเอง ข้อความตอบกลับไม่นับ ต้องเช็กหน้าแพ็กเกจของ LINE ก่อนเริ่ม และ LINE Notify ที่เคยใช้ส่งแจ้งเตือนฟรีปิดไปแล้วตั้งแต่ 31 มีนาคม 2025 ต้องใช้ Messaging API ผ่าน LINE Official Account แทน

⚠️ อะไรยังไม่สมบูรณ์

ระบบนี้ยังไม่เสร็จสมบูรณ์ มีงานค้างที่รู้ตัวอยู่ เช่น ข้อมูลบางส่วนยังส่งผ่าน URL แบบ GET อยู่ กำลังจะเปลี่ยนเป็นส่งแบบ POST และมีจุดหนึ่งที่ผมรับไว้แบบมีตำหนิ คือผู้อนุมัติเลือกปฏิเสธโดยไม่กรอกเหตุผลยังบันทึกค่าได้ แม้สถานะจะไม่เปลี่ยนก็ตาม อีกเรื่องคือระบบยังอยู่บนบัญชี Google ส่วนตัวของผม การย้ายไปบัญชีขององค์กรยังค้างอยู่ เพราะเป็นงานใหญ่ที่ต้องวางแผนก่อน แต่ทั้งหมดนี้ก็คือสิ่งที่ได้จากการทำจริง ไม่ใช่จากตำรา

จากกระดาษแผ่นหนึ่งกลายเป็นระบบที่เดินเรื่องเองได้ แจ้งเตือนเองได้ และมีคำร้องจริงวิ่งผ่านระบบแล้ว ผมใช้ของฟรี 4 ชิ้นประกอบกัน แล้วแก้บั๊กทีละเวอร์ชันจนถึงเวอร์ชันที่ 80 ใครที่องค์กรยังใช้ฟอร์มกระดาษอยู่ ลองเริ่มจากของฟรีแบบนี้ได้ ไม่ต้องเช่าเซิร์ฟเวอร์ก่อนสักบาท

เนื้อหาโดย: พีรพัฒน์ พีพี
⚠ แจ้งเนื้อหาไม่เหมาะสม 
พีรพัฒน์ พีพี's profile
มีผู้เข้าชมแล้ว 6 ครั้ง
เขียนโดย พีรพัฒน์ พีพี
เขียนบทความเกร็ดความรู้ เรื่องเล่า และ fact-check บน Postjung เน้นเช็กข้อเท็จจริงจากแหล่งทางการก่อนเผยแพร่ทุกครั้ง
เป็นกำลังใจให้เจ้าของกระทู้โดยการ VOTE และ SHARE
5 VOTES (5/5 จาก 1 คน)
VOTED: พีรพัฒน์ พีพี
Hot Topic ที่น่าสนใจอื่นๆ
3 อำเภอของประเทศไทย ที่ขอแยกตัวเป็นจังหวัดใหม่5 โรงเรียนไทย ที่ค่าเทอมแพงที่สุด ปีละหลายแสน (ไม่รวมนานาชาติ)7 จังหวัดในไทยที่มีพื้นที่ป่าไม้มากที่สุด เปิดอาณาจักรสีเขียวผืนใหญ่ที่ยังคงความอุดมสมบูรณ์เลขเด็ดมาครบ ล่าง งวด 16 พฤศจิกายน 2569 (@ กลม เกตุนุติ) เปิดเลขเด่น 8 ตัว พร้อมแนวทางจับคู่เลขท้าย 2 ตัวตั้งครรภ์ทั้งที่กินยาคุมกำเนิด! หญิงอายุ 28 ปี ไปห้องฉุกเฉินด้วยอาการปวดท้อง และคลอดลูกในอีก 8 นาทีต่อมาสัญญาณเตือนสำคัญ 7 ประการที่บ่งชี้ถึงการนอกใจหญิงวัย 33 ปี ถูกตัดสินจำคุก 6 เดือน ในข้อหา"คุกคาม" โดยการกดไลค์โพสต์ของอดีตแฟนหนุ่มถึง 14 ครั้งประเทศยักษ์ใหญ่อันดับ 1 ของโลก ที่มีปริมาณการส่งออกข้าวมากที่สุดคฤหาสน์ที่แพงที่สุดในโลก คือที่ไหน ใครเป็นเจ้าของ และสร้างขึ้นเมื่อใด?5 สายพันธุ์แมวไทยแท้ ที่ต่างชาติรู้จักและตามหาจากประเทศไทยหนอนรถด่วน ของป่าในกระบอกไผ่ที่ไผ่หนึ่งลำได้ไม่ถึงขีด ขายกิโลละกว่า 500 บาทแฮมเบอร์เกอร์มาจากไหน? ไขต้นกำเนิดความอร่อยที่เริ่มต้นในเยอรมนีแต่วัฒนธรรมโตในอเมริกา
ดู Hot Topic ทั้งหมด
กระทู้อื่นๆในบอร์ด มือถือ Gadget เทคโนโลยี
มือถือใหม่ พฤศจิกายน 2569 ราคาไทย รวม 6 รุ่นเด่นก่อน 11.11ย้อนรอยโทรศัพท์มือถือสายแรกในเชิงพาณิชย์ เกิดขึ้นเมื่อไรกันแน่บลูทูธทำงานอย่างไรคิดถึง Nero โปรแกรมไรต์แผ่นคู่คอมพิวเตอร์ในวันเก่า
ตั้งกระทู้ใหม่