IoT
ปานกลาง
19 นาที
ส่งข้อมูลเข้า Google Sheets ด้วย IoT HMI
วิธีการเชื่อมต่อ HMI กับ Google Sheets ผ่าน HTTP Protocol สำหรับ Data Logging อัตโนมัติ ไม่ต้องใช้ USB Drive พร้อมตัวอย่างโค้ด Apps Script
อัพเดทล่าสุด: 1/2/2569
ราคาชุดอุปกรณ์
฿9,730
การเชื่อมต่อ HMI กับ Google Sheets ด้วย HTTP
การส่งข้อมูลจาก HMI ไปยัง Google Sheets โดยตรงผ่าน HTTP Protocol ช่วยลดความซับซ้อนในการจัดเก็บข้อมูลและทำให้ระบบ Data Logging ทำงานแบบอัตโนมัติโดยไม่ต้องพึ่งพา USB Drive
ทำความเข้าใจ HTTP Protocol
โครงสร้างพื้นฐาน
- Client: ฝั่งผู้ใช้งาน (HMI)
- Server: ฝั่งให้บริการ (Google Sheets)
- Request: คำขอจาก Client ไป Server
- Response: คำตอบจาก Server กลับมา
HTTP Methods ที่สำคัญ
- GET: ขอข้อมูลเพียงอย่างเดียว
- POST: ส่งข้อมูลไปประมวลผล (ใช้ในกรณีนี้)
Status Codes
- 200: สำเร็จ
- 404: ไม่พบข้อมูล
- 500: Server เกิดข้อผิดพลาด
ทำความเข้าใจ JSON Format
JSON (JavaScript Object Notation) เป็นรูปแบบการจัดเก็บข้อมูลแบบ Key-Value เช่น
{
"machine_status": true,
"parts_count": 42,
"timestamp": "2024-01-01 10:30:00"
}
ชนิดข้อมูลใน JSON
- String: ข้อความ
- Number: ตัวเลข (จำนวนเต็มหรือทศนิยม)
- Boolean: true/false
- Null: ค่าว่าง
การตั้งค่า Google Sheets
1. สร้าง Google Sheets
- สร้าง Google Sheets ใหม่
- ตั้งชื่อ เช่น "HMI Database"
- กำหนดหัวคอลัมน์:
- Machine Status: สถานะเครื่องจักร
- Parts Count: จำนวนชิ้นงาน
- Time Stamp: เวลาที่บันทึก
2. สร้าง Google Apps Script
- เข้าเมนู Extensions > Apps Script
- เปลี่ยนชื่อโปรเจคเป็น "HMI Google Sheets"
- แก้ไขชื่อ Sheet เป็น "data"
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data');
const data = JSON.parse(e.postData.contents);
const y0 = data.Y0;
const d5 = data.D5;
const timestamp = new Date();
sheet.appendRow([y0, d5, timestamp]);
return ContentService.createTextOutput(JSON.stringify({"result": "success", "timestamp": timestamp})).setMimeType(ContentService.MimeType.JSON);
}
3. Deploy Web App
- คลิก Deploy > New Deployment
- เลือก Type เป็น Web App
- ตั้งค่า Execute as: Me
- Who has access: Anyone
- คลิก Deploy และ Authorize
- Copy URL ที่ได้มา
การตั้งค่า HMI
1. สร้าง Components ใน SKTool
- Numeric Entry: เชื่อมต่อกับ D5 (ค่าตัวเลข)
- Bit Button: ควบคุม M0 และ Y0
- Function Button: ตั้งค่า Wi-Fi/Network
2. กำหนด HTTP Request
- เปิดเมนู HTTP ใน SKTool
- เลือก Use และคลิก New
- ตั้งค่าดังนี้:
Name: HMI-Google-Sheets (อะไรก็ได้)
Website: [URL จาก Google Apps Script]
Mode: POST
Timeout: 2000 ms
Header: Content-Type: application/json
Format: JSON (Advance)
Send Mode: Bit trigger (LB0, Rising edge)
Auto Reset: เปิดใช้งาน
3. กำหนด JSON Data
ใน Send JSON เพิ่มค่าต่อไปนี้:- Name: Y0, Type: Boolean, Address: Y0
- Name: D5, Type: 16-Bit Unsigned Int, Address: D5
ขั้นตอนการทดสอบ
- Download โปรแกรมลง HMI
- เชื่อมต่อ Wi-Fi หรือ Ethernet กับ Router ที่ต่อ Internet
- กดปุ่มเพื่อเปลี่ยนสถานะ Y0
- กำหนดค่าตัวเลขที่ D5
- กด Bit เพื่อ Trigger LB0
- ตรวจสอบข้อมูลใน Google Sheets
เคล็ดลับการใช้งาน
- ตรวจสอบการเชื่อมต่อ Network ก่อนทดสอบ
- ใช้ Timeout ที่เหมาะสมเพื่อรอ Response
- ตั้งค่า Auto Reset เพื่อป้องกันการส่งข้อมูลซ้ำ
- ตรวจสอบ Status Code เพื่อยืนยันการส่งข้อมูลสำเร็จ
การแก้ปัญหาที่พบบ่อย
ไม่สามารถส่งข้อมูลได้
- ตรวจสอบการเชื่อมต่อ Wi-Fi/Network
- ยืนยัน URL ของ Google Apps Script
- ตรวจสอบการตั้งค่า JSON format
ข้อมูลไม่ปรากฏใน Google Sheets
- ตรวจสอบชื่อ Sheet ใน Apps Script
- ยืนยันการ Deploy Web App
- ตรวจสอบสิทธิ์การเข้าถึง (Anyone)
Connection Timeout
- เพิ่มค่า Timeout ใน HMI
- ตรวจสอบความเสถียรของ Network
สรุป
การเชื่อมต่อ HMI กับ Google Sheets ผ่าน HTTP Protocol ช่วยให้ระบบ Data Logging ทำงานแบบอัตโนมัติ ลดการพึ่งพา USB Drive และเพิ่มประสิทธิภาพในการจัดเก็บข้อมูล การใช้ Google Apps Script ช่วยจัดการข้อมูล JSON และบันทึกลง Google Sheets ได้อย่างง่ายดาย ทำให้สามารถนำข้อมูลไปวิเคราะห์และประมวลผลต่อได้ทันที
กลับ
มีคำถาม? ติดต่อทีมงาน


