1 ทำความรู้จักระบบ (Architecture)
ระบบที่เรากำลังสร้างขึ้นมานี้ เป็นการผูกโยงเครื่องมือฟรี 3 ส่วนที่ทำงานประสานกันอย่างสมบูรณ์แบบ ได้แก่:
Google Sheets
เปรียบเสมือน "ฐานข้อมูล" หรือสมุดจดบันทึกยอดสิ่งของต่างๆ ในรูปแบบตาราง
Google Apps Script
เปรียบเสมือน "สมองกลหลังบ้าน" คอยอ่านข้อมูลและสั่งบันทึกตัวเลขลงสมุด
HTML Web App
เปรียบเสมือน "หน้าตาแอปพลิเคชัน" ให้คนกรอกฟอร์มได้สะดวกผ่านคอมพิวเตอร์และมือถือ
เพราะตอบโจทย์การเก็บข้อมูลการเกษตรรายพื้นที่ (เช่น ตำบล/อำเภอ) ได้ดีมาก ใช้งานฟรี 100% ไม่ต้องขอสปอนเซอร์งบเซิร์ฟเวอร์ สามารถเปิดให้เกษตรกรหรือเจ้าหน้าที่กรอกผ่านมือถือกลางแปลงเกษตรได้ง่าย และผู้บริหารสามารถเปิดดูแดชบอร์ดสรุปปริมาณผลผลิตรายตำบลได้ทันทีโดยไม่ต้องเสียเวลามาทำรายงานสรุปเองบน Excel ทุกสิ้นเดือน!
2 เตรียมฐานข้อมูล Google Sheets
ขั้นตอนแรกสุดคือการเตรียมหัวตารางสำหรับจัดเก็บข้อมูลใน Google Sheets เพื่อทำหน้าที่เป็น Database:
สร้างชีทใหม่ขึ้นมา แล้วพิมพ์แถวที่ 1 (หัวตาราง) โดยระบุชื่อข้อมูลที่ต้องการเก็บ เช่น:
Timestamp | วันที่รายงาน | ชื่อเกษตรกร | ตำบล | ชนิดพืช | พื้นที่เพาะปลูก (ไร่) | ผลผลิตเฉลี่ย (กก./ไร่) | หมายเหตุ
เมื่อสร้างชีทเสร็จแล้ว ให้คัดลอกรหัสประจำตัวของตาราง (Spreadsheet ID) จาก URL บราวเซอร์ด้านบนสุด:
ให้เลือกคัดลอกเฉพาะข้อความหนาที่เป็นรหัสยาวๆ เก็บไว้
3 สร้างระบบหลังบ้านด้วย Google Apps Script
Apps Script เป็นโค้ด JavaScript ที่เขียนไว้บนระบบ Google เพื่อคอยฟังว่ามีคนพยายามจะบันทึกหรือดึงข้อมูลอะไรจากชีท
- ในหน้า Google Sheet ของคุณ ให้มองหาเมนูด้านบน
- เลือกหัวข้อ "ส่วนขยาย" (Extensions) -> แล้วกดปุ่ม "Apps Script"
- ระบบจะพามายังหน้าเขียนโค้ด ให้นำโค้ดที่ AI สร้างให้ไปแปะทับแทนของเดิมทั้งหมดได้ทันที
// 1. ระบุรหัส Google Sheet ของคุณ
const SPREADSHEET_ID = "ใส่รหัส_SPREADSHEET_ID_ของคุณตรงนี้";
const SHEET_NAME = "Sheet1";
// 2. ฟังก์ชันหลักสำหรับเสิร์ฟหน้าเว็บแอป
function doGet(e) {
const page = e && e.parameter && e.parameter.page ? e.parameter.page : '';
const templateName = page === 'dashboard' ? 'Dashboard' : 'Index';
return HtmlService.createTemplateFromFile(templateName)
.evaluate()
.setTitle("ระบบจัดการข้อมูลอัจฉริยะ")
.addMetaTag('viewport', 'width=device-width, initial-scale=1');
}
// 3. ฟังก์ชันสำหรับบันทึกข้อมูลต่อท้าย
function saveData(payload) {
try {
const ss = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = ss.getSheetByName(SHEET_NAME);
const timestamp = new Date();
// ต่อท้ายแถวใหม่ลงในชีท
sheet.appendRow([
timestamp,
payload.date,
payload.farmerName,
payload.tambon,
payload.cropType,
payload.areaRai,
payload.yieldPerRai
]);
return { success: true, message: "บันทึกข้อมูลเรียบร้อย!" };
} catch (error) {
return { success: false, error: error.message };
}
}
4 ออกแบบหน้าเว็บฟอร์มกรอกข้อมูลและสถิติ
แอปของเราจะมีสองหน้าคือหน้าป้อนข้อมูลและหน้าดูสถิติ (Dashboard):
ใช้สำหรับสร้างฟอร์มกรอกข้อมูลการเกษตรรายแปลง (เช่น ระบุชื่อเกษตรกร, อำเภอ, ตำบล, ชนิดพืช, และผลผลิตต่อไร่) มีระบบแจ้งเตือนกรณีป้อนตัวเลขพื้นที่ผิดปกติ
Index
ใช้แสดงตัวเลขแดชบอร์ดสรุปพื้นที่ปลูกรวม, ปริมาณผลผลิตคาดการณ์รวมของทั้งจังหวัด และสร้างกราฟจำแนกสายพันธุ์หรือชนิดพืชอัตโนมัติด้วย ApexCharts
Dashboard
5 ชุดคำสั่ง AI (Prompts) สำหรับผู้ไม่มีพื้นฐานเขียนโปรแกรม
คุณสามารถคัดลอกคำสั่งด้านล่างนี้ไปวางใน AI เพื่อให้ระบบสร้างโค้ดทั้งหมดตามตัวเลือกที่ต้องการ โดยปรับคำในวงเล็บได้ตามใจชอบ:
อยากทำหน้าเว็บบันทึกข้อมูล [รายงานการขึ้นทะเบียนปลูกข้าวและพืชผล] ลงใน Google Sheets โดยใช้ Google Apps Script
หัวตารางในกูเกิลชีทของฉันมีตามนี้: [วันเวลาบันทึก, ชื่อเกษตรกร, อำเภอ, ตำบล, พันธุ์พืช, พื้นที่ปลูก (ไร่), ผลผลิตต่อไร่ (กก.), ผู้รายงาน]
ช่วยเขียนส่วนหลังบ้าน (ไฟล์ Code.gs) ให้ฉันหน่อย โดยต้องการ:
1. กำหนด ID ของ Google Sheets และระบุชื่อชีทไว้ด้านบนสุดเป็นตัวแปรแก้ไขง่าย
2. มีฟังก์ชัน doGet รับหน้าที่เสิร์ฟหน้าเว็บ Index.html (ใช้สำหรับป้อนฟอร์ม) และหน้า Dashboard.html (เมื่อพิมพ์ ?page=dashboard)
3. มีฟังก์ชัน saveData เพื่อรับข้อมูลจากหน้าเว็บและนำไปลงตารางชีทให้โดยอัตโนมัติ
4. แนะนำวิธีคัดลอกโค้ดไปวางใน Google Apps Script แบบอธิบายทีละขั้นสำหรับมือใหม่
ช่วยเขียนโค้ดหน้าตาเว็บส่งข้อมูล (ไฟล์ Index.html) ใช้งานคู่กับ Google Apps Script ให้หน่อย
1. ออกแบบหน้าเว็บฟอร์มสไตล์โมเดิร์น โทนสีเขียวขาวดูสบายตา เหมาะสำหรับเจ้าหน้าที่ส่งเสริมการเกษตรกรอกรายงานในพื้นที่แปลงเกษตร
2. มีฟอร์มรับค่า: [วันที่รายงาน, ชื่อเกษตรกร, อำเภอ (ดรอปดาวน์), ตำบล (ดรอปดาวน์), ชนิดพืช (ดรอปดาวน์), พื้นที่ปลูก (ไร่), ผลผลิตเฉลี่ยต่อไร่ (กก.)]
3. เขียนฟังก์ชัน JavaScript เชื่อมกับ Google Apps Script ส่งค่าไปเก็บ
4. ขอระบบความปลอดภัย: ถ้าผู้ใช้ไม่ได้ป้อนตัวเลขหรือป้อนเว้นว่าง ห้ามส่งข้อมูล และมีหน้าต่างสรุปผลลัพธ์ (Modal) เด้งขึ้นมาให้กดยืนยันรอบสุดท้ายก่อนส่งจริง
ช่วยเขียนหน้าสถิติแดชบอร์ด (ไฟล์ Dashboard.html) เพื่อใช้วิเคราะห์ผลยอดรายงานผลผลิตการเกษตร
1. ตกแต่งหน้าจอด้วย UI สไตล์โมเดิร์น โทนสีเขียวสว่างสะอาดตา มีการ์ดแสดงตัวเลขเด่นชัดด้านบนสะดุดตา
2. ดึงข้อมูลจากกูเกิลชีทมาหาผลรวม: พื้นที่ปลูกรวม (ไร่), ปริมาณผลผลิตคาดการณ์รวม (ตัน), จำนวนเกษตรกรที่รายงานเข้ามาสะสม
3. สร้างกราฟแท่งด้วย ApexCharts แสดงปริมาณผลผลิตรวมจำแนกรายอำเภอ
4. สร้างกราฟวงกลมแสดงสัดส่วนชนิดพืชหรือพันธุ์ข้าวที่ปลูกมากที่สุด
5. มีปุ่มกดนำพาตัวผู้ใช้งานคลิกสลับหน้าย้อนกลับไปยังหน้าฟอร์มกรอกข้อมูล (หน้าหลัก) ได้ง่าย
💡 แนะนำ AI ฟรีสำหรับใช้ช่วยเขียนระบบ
ปัจจุบันมีบริการ AI ชั้นนำที่ให้บริการเขียนโปรแกรมฟรีและมีประสิทธิภาพสูงมาก นี่คือเครื่องมือในยุคปัจจุบัน (อัปเดตล่าสุด พฤษภาคม 2026) ที่แนะนำสำหรับผู้เริ่มต้น:
Google Gemini (Gemini 3.5 Flash)
ดีที่สุดสำหรับ Google Apps Script
โมเดลเวอร์ชันใหม่ล่าสุดที่เพิ่งเปิดตัวในงาน Google I/O (พฤษภาคม 2026) ขึ้นชื่อเรื่องความเร็วและความสามารถในการประมวลผลคำสั่งเชิงวิศวกรรม รวมถึงมีความเข้าใจโครงสร้างคำสั่งและการทำงานร่วมกับ API ของ Google Sheets/Docs ได้ดีที่สุด เหมาะมากสำหรับทำระบบหลังบ้าน
ChatGPT (GPT-5.5 Instant)
ดีที่สุดสำหรับโครงสร้างหน้าเว็บ (HTML/CSS)
โมเดลใช้งานฟรีเวอร์ชันใหม่ล่าสุดของ OpenAI โดดเด่นอย่างมากเรื่องการเขียนโปรแกรมหน้าตาแอป (Frontend) แนะนำดีไซน์ที่ลื่นไหล ทันสมัย และมีตรรกะ JavaScript ฝั่งไคลเอนต์ที่เข้าใจง่าย พร้อมทั้งเขียนบอกวิธีใช้งานได้ชัดเจนที่สุด
DeepSeek / Claude Sonnet 4.6
ดีที่สุดสำหรับตรวจจับและแก้ไขข้อผิดพลาด
โมเดลฟรีของ DeepSeek (DeepSeek-V3/R1) และ Claude Sonnet 4.6 ตัวเลือกยอดนิยมในหมู่โปรแกรมเมอร์สำหรับการดีบักหาจุดบั๊ก หากนำโค้ดที่รันแล้วติดปัญหามาให้ AI กลุ่มนี้วิเคราะห์ จะได้คำแนะนำจุดที่ผิดพลาดและการแก้ไขที่ตรงจุดและรวดเร็วมาก
6 การติดตั้งและเปิดใช้งานจริง (Web App Deployment)
เมื่อนำโค้ดที่ AI สร้างให้ทั้ง 3 ไฟล์มาแปะลงในระบบ Apps Script เรียบร้อยแล้ว ให้เริ่มกดติดตั้งแอปพลิเคชันออนไลน์ดังนี้:
- กดปุ่ม "การทำให้ใช้งานได้" (Deploy) ด้านบนขวา -> เลือก "การทำให้ใช้งานได้ใหม่" (New deployment)
- กดที่รูปฟันเฟืองด้านซ้ายของเมนู -> เลือกประเภทเป็น "เว็บแอป" (Web app)
- ตั้งค่าสิทธิ์ให้เป็นระบบส่วนบุคคลที่ผู้ใช้ทุกคนกรอกได้:
- เรียกใช้งานในฐานะ: ตัวคุณเอง (อีเมลของคุณ)
- ผู้ที่มีสิทธิ์เข้าถึง: ทุกคน (Anyone)
- คลิกปุ่ม "การทำให้ใช้งานได้" (Deploy)
- กดยืนยันอนุญาตสิทธิ์การเชื่อมต่อบัญชีอีเมล (Authorize Access) ของคุณเพื่อเข้าใช้กูเกิลชีท
- ระบบจะประมวลผลเสร็จแล้วมอบลิงก์ **URL เว็บแอป** ให้คุณพร้อมแชร์ต่อได้ทันที!