วิธีเซฟข้อมูล Arduino NodeMCU ลง Google Sheet แบบเรียวไทม์ Arduino ESP8266 IFTTT Google Sheet

เราสามารถสร้างลิงค์และส่งค่าข้อมูลที่ต้องการเซฟเข้า Google Sheets ผ่านการเรียก URL ได้โดยตรง หรือเรียบว่าแบบ GET Method ซึ่งสะดวกมากในการบันทึกข้อมูล ไม่ต้องสร้าง server ไม่ต้องคอนฟิกตั้งค่า การบันทึกข้อมูลจึงเหมือนแค่เรียกเว็บธรรมดา มีความเสถียรสูงและทำงานทันที แบบเรียวไทม์ ด้วยความสามารถนี้ ทำให้เราประยุกต์การบันทึกข้อมูลได้อย่างหลากหลายและง่ายในการใช้งาน
วิธีบันทึกข้อมูลเข้า Google Sheets ด้วย ESP8266 / ESP32 / NodeMCUเริ่มต้นด้วยการสมัครใช้งาน และเข้าสู่ระบบ IFTTT ที่นี่
https://ifttt.com/ที่เมนูด้านบนซ้าย กดเลือก Create
การสร้างเหตุการณ์ Event1.กดที่รูป
เครื่องหมายบวก เพื่อสร้างเหตุการณ์ ทริกเกอร์

2. เลือก service โดยพิมพ์คำว่า webhook แล้วคลิกเลือก

3. ตั้งค่า Service ตั้งชื่อ event ตามที่ต้องการ กดปุ่ม Create trigger ก็เรียบร้อย ได้ trigger มาแล้ว ในตัวอย่างนี้ตั้ง
Event Name ชื่อว่า demo
การสร้างฟังก์ชั่นการทำงาน1. สร้างการทำงาน เมื่อมีการทริกเกิดขึ้น
คลิกที่รูปเครื่องหมายบวก
2. พิมพ์และเลือกเซอร์วิส google sheets

3. เลือก Add row to spreadsheet เพื่อเพิ่มข้อมูลลง sheet

4. ตั้งค่า ชื่อไฟล์ sheet ที่ต้องการเซฟ ในตัวอย่างชื่อว่า "data"
กำหนดรูปแบบของแถว ตามตัวอย่าง 1 แถวประกอบด้วย 4 ค่า
{{OccurredAt}} ||| {{EventName}} ||| {{Value1}} |||{{Value2}}
{{OccurredAt}} : เวลาที่เกิดเหตุการณ์
||| : ใช้กำหนดให้เป็นเซลล์ต่อไป
{{EventName}} : ชื่อเหตุการณ์ตามที่เราตั้งไว้
{{Value1}} : ค่าที่ต้องการบันทึก
Drive folder path
ตำแหน่งที่ต้องการเซฟไฟล์ sheet

กดปุ่ม Create action และ ปุ่ม fihish
ทดสอบการทำงาน1. ที่เมนูด้านบนซ้าย เลือกเมนู My services แล้วเลือก Webhooks

2. เลือกเมนู Settings

3. ก็อปปี้ URL Status ไปวางในหน้าเว็บ เพื่อทดสอบ

กรอกค่า {event}เป็นชื่อ demo ตามที่เราตั้งไว้ และ value1 เป็นเลข 555 แล้วกดปุ่ม Test it

เข้าไปที่ google drive จะเห็นว่ามีไฟล์ sheet ของเราสร้างขึ้นมาแล้ว
เราสามารถส่งข้อมูลเข้า google sheet ได้โดยตรง โดยพิมพ์ url ดังนี้https://maker.ifttt.com/trigger/
{event}/with/key/
{my_key}?value1=
666&value2=999{event} : คือชื่อของเหตุการณ์ที่เราตั้งในที่นี้คือ demo
{my_key} : คือรหัส key ของเราตามตัวอย่างนี้คือ BJ39xxx ดังรูป Url status ด้านบน
value1 : คือค่าที่ต้องการบันทึก
&value2=999 : แถม ถ้าเรามีส่งหลายค่าก็ส่งค่าเพิ่มเข้าไปได้ โดยใช้ '&' คั่นระหว่างตัวแปร
ข้อมูลใน sheet จะได้รับการเพิ่มแบบ Real Time ทันที

เพียงเท่านี้เราก็จะได้ URL ที่ใช้ส่งค่าไปบันทึกลงใน google sheet ได้แล้ว
การใช้งาน ESP8266 / ESP32 กับ Google Sheetก็เพียงแค่ยิง URL ของเราเข้าไป ข้อมูลก็บันทึกใน server ของ google แบบเรียวไทม์แล้ว
ทดสอบกับ NodeMCU ESP8266 บันทึกข้อมูลลง Google Sheetเพียงก็อปโค้ดตัวอย่างนี้ แก้ไขชื่อ wifi และ ค่า IFTTT ตรงชื่อ event และค่า key
เปิดดูใน Google Sheets จะเห็นค่ามีการเพิ่มข้อมูลแบบ RealTime
