กลับไปหน้ารวมไฟล์
youtube-analytics-on-esp32-03b04e.md

ฟังก์ชันการทำงาน:

  • แสดงจำนวนวิว, ไลค์, ดิสไลค์, คอมเมนต์:
  • สำหรับ 5 นาทีปัจจุบัน (M +)
  • สำหรับ 5 นาทีก่อนหน้า (M-)
  • สำหรับชั่วโมงปัจจุบัน (H +)
  • สำหรับชั่วโมงก่อนหน้า (H-)
  • สำหรับวันปัจจุบัน (D +)
  • สำหรับวันก่อนหน้า (D-)
  • ตัวนับจำนวนผู้ติดตาม (Subscriber)
  • จำนวนวิดีโอในช่อง
  • ไฟสัญญาณเตือนกรณีมีคอมเมนต์ใหม่ (อัพเดตเร็วสุดทุก 5 นาที)
  • สามารถปิดหน้าจอแสดงผลได้
  • อินเตอร์เฟซแบบสัมผัส (Touch Interface)
  • สามารถตัดไฟ (เซฟข้อมูลรายชั่วโมงและรายวัน)
  • แค่นี้ก็เพียงพอแล้วสำหรับการติดตามกิจกรรมในช่องตัวเองหรือช่องอื่นๆ เรียบร้อย จัดไปวัยรุ่น!

มุมมองของโปรเจค

YouTube analytics on ESP32 นี่คือการสำรวจเทคโนโลยีเครือข่ายและการโต้ตอบกับ API แบบจัดเต็มเลยนะน้อง โดยเน้นไปที่บล็อคพื้นฐานสำคัญ—ก็คือ การแมป HTTPS-JSON ไปเป็นสถิติ และ ลอจิกการส่งข้อมูลและซิงค์ที่ปลอดภัยของ ESP32—น้องจะได้เรียนรู้วิธีการสื่อสารและประสานงานงานด้านข้อมูลโดยใช้ซอฟต์แวร์ลอจิกเฉพาะทางและการตั้งค่าที่เสถียรและแรงสุดๆ

การลงมือทำจริง: ไคลเอนต์ปลอดภัยและบัฟเฟอร์ JSON

โปรเจคนี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่เบื้องหลังการโต้ตอบแบบเซนซิ่ง-สู่-คลาวด์ง่ายๆ:

  • เลเยอร์ระบุตัวตน: ESP32 WiFi Core ทำหน้าที่เป็นดวงตาเรโซลูชันสูงของเครือข่าย คอยวัดทุกจุดของคลาวด์ซ็อกเก็ตเพื่อประสานงานการส่งข้อมูลของระบบ
  • เลเยอร์แปลงข้อมูล: ระบบใช้โปรโตคอลดิจิทัลความเร็วสูง (HTTPS/REST) เพื่อรับแพ็กเก็ต JSON ความเร็วสูง มาประสานงานงานเซนซิ่งที่สำคัญระดับภารกิจ
  • เลเยอร์อินเตอร์เฟซแสดงผล: Serial Monitor / OLED ให้ฟีดแบ็คภาพและข้อความความละเอียดสูงเกี่ยวกับสถานะช่องของน้อง (เช่น Subs: 10K, Views: 1M) สวยงามชัดเจน
  • เลเยอร์ประตูสื่อสาร: YouTube API Key ทำหน้าที่เหมือนกุญแจ ให้สิทธิ์ในการโอเวอร์ไรด์ข้อมูลด้วยมือ หรือตรวจสอบสถานะการซิงค์ความปลอดภัยอัตโนมัติระหว่างการปรับเทียบเริ่มต้น เพื่อประสานสถานะ
  • เลเยอร์ลอจิกประมวลผล: โค้ดฝั่งเซิร์ฟเวอร์ใช้กลยุทธ์ "api-fetch-dispatch" (หรือ youtube-dispatch): มันตีความการตอบกลับจากเว็บและจับคู่ฟิลด์ JSON เพื่อให้ได้การดึงข้อมูลวิเคราะห์ที่ปลอดภัยและเป็นจังหวะ
  • ลูปบทสนทนาการสื่อสาร: ชิ้นส่วนข้อมูลจะถูกส่งเป็นจังหวะไปยัง Serial Monitor ระหว่างการปรับเทียบเริ่มต้น เพื่อประสานสถานะ สู้งานนะน้อง ห้ามช็อตนะตัวนี้!

ฮาร์ดแวร์และโครงสร้างพื้นฐาน IoT

โปรเจกต์นี้ใช้จอแสดงผล OLED แบบขาวดำ ขนาด 2.42 นิ้ว ความละเอียด 128 * 64 พิกเซล บนคอนโทรลเลอร์ SSD1309 เชื่อมต่อกับบัส SPI ของบอร์ด ESP32 ไฟ LED RGB เชื่อมกับขา D17, D16, D2 — เอาไว้แสดงการแจ้งเตือนสำคัญ (ในอนาคตวางแผนจะเพิ่มการแจ้งเตือนจากโซเชียลมีเดียและฟอรัม) อินเทอร์เฟซของอุปกรณ์เป็นแบบสัมผัส — ใช้น็อตและฝาครอบธรรมดาเป็นปุ่มกด

ตัวเก็บประจุ (Capacitor) ขนาด 10 ไมโครฟารัด จำเป็นต้องมีเพื่อให้อัปโหลดสเก็ตช์ได้ไม่มีปัญหา ส่วนตัวเก็บประจุ 1000 ไมโครฟารัดระหว่างขา 3V3 กับ GND ต้องเพิ่มเข้ามาเพราะเจอปัญหาอัปโหลดสเก็ตช์ไม่ได้ตอนเชื่อมต่อ Wi-Fi (แรงดันจากพอร์ต USB ของคอมตก)

ส่วนประกอบฮาร์ดแวร์หลักๆ มีดังนี้:

  • FireBeetle ESP32: คือ "สมอง" ของโปรเจกต์ จัดการการดึงข้อมูลจากเครือข่ายหลายทิศทาง และประสานการซิงค์ระหว่าง API กับจอแสดงผล
  • Google Cloud API: ให้ "Data Link" ที่ชัดเจนและเสถียร สำหรับทุกจุดของข้อมูลวิเคราะห์ระดับโลก
  • จอแสดงผล (Optional): ให้อินเทอร์เฟซทางกายภาพที่จุข้อมูลได้เยอะและเชื่อถือได้ สำหรับ "Dashboard Mission" ครั้งแรกให้สำเร็จ
  • เบรดบอร์ด (Breadboard): สำคัญมากสำหรับการให้การป้องกันที่ชัดเจนและประหยัดพลังงาน สำหรับทุกจุดของวงจรต้นแบบ
  • สายจัมเปอร์ (Jumper Wires): สำคัญสำหรับการให้เส้นทางสัญญาณดิจิทัลที่ชัดเจนและประหยัดพลังงาน สำหรับทุกจุดของอาร์เรย์เซนเซอร์ข้อมูล
  • สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino และเป็นอินเทอร์เฟซหลักสำหรับคอนโทรลเลอร์ระบบ

การทำงานอัตโนมัติและอินเทอร์แอคชันของ Analytics Hub

หลังจากเปิดไฟและเชื่อมต่ออินเทอร์เน็ต บอร์ด ESP32 จะดึงรายการวิดีโอของแชนเนลทั้งหมดมา และสรุปข้อมูลสำหรับแต่ละวิดีโอ

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

กระบวนการติดตามข้อมูลออกแบบให้มีประสิทธิภาพสูง:

  1. ตั้งค่า Workspace: ตั้งค่า API Key ใน Google Console ให้ถูกต้อง และเชื่อมต่อกับสเก็ตช์ ESP32 ให้เรียบร้อย
  2. ตั้งค่าซิงค์ความเร็วสูง: ในสเก็ตช์ Arduino ให้เริ่มต้น WiFiClientSecure และกำหนด Channel ID เป้าหมายในฟังก์ชัน setup()
  3. ลูปการสื่อสารภายใน: สถานีจะทำการส่งคำขอ HTTP เป็นระยะๆ ประสิทธิภาพสูง และอัปเดตสถานะสถิติแบบเรียลไทม์ตามตำแหน่งและการตั้งค่าของคุณ
  4. รวมการตอบสนองภาพและข้อมูล: ดูจอแสดงผลของคุณเปลี่ยนเป็นสัญญาณสถานะที่มีจังหวะ พัลส์และติดตามการตั้งค่าวิเคราะห์ของคุณจากทุกจุดบนเว็บ

อนาคตที่รออยู่ (ถ้าน้องอยากอัพเกรด)

  • เพิ่มหน้าจอ OLED ไว้โชว์ตัวตน: ใส่จอ OLED เล็กๆ ไว้โชว์ "จำนวนไลค์" หรือ "แบตเตอรี่ (%)" ก็เท่ดีนะ
  • ซิงค์ข้อมูลสภาพแวดล้อมแบบหลายเซ็นเซอร์: เชื่อมต่อ "บลูทูธแทร็กเกอร์" พิเศษ เพื่อทำ "การเรียกหาแบบโลคัล" ที่แม่นยำขึ้นผ่านระบบคลาวด์แบบไร้สาย
  • ซัพพอร์ตการลงทะเบียนกับอินเทอร์เฟซคลาวด์: สร้างแดชบอร์ดเว็บพิเศษบนสมาร์ทโฟนผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติโซเชียลทั้งหมดอย่างละเอียด
  • ซัพพอร์ตการปรับแต่งโปรไฟล์ความเร็วขั้นสูง: เพิ่ม "แมชชีนเลิร์นนิง (vCore)" พิเศษลงในโค้ด เพื่อให้ทริกเกอร์เปลี่ยนได้อัตโนมัติตามความสูงของผู้ใช้! (ตัวนี้เด็ด)

โปรเจกต์ YouTube ESP32 Dashboard นี่แหละที่เหมาะสุดๆ สำหรับวัยรุ่นสายวิทย์ที่อยากได้เครื่องมือ IoT แบบอินเทอร์แอคทีฟและน่าสนใจ!

[!IMPORTANT] WiFi Client Secure ต้องการการ แมปใบรับรอง SSL ที่แม่นยำ (เช่น สำหรับ Google Root CA) ในการตั้งค่า เพื่อให้การเชื่อมต่อ HTTPS น่าเชื่อถือ ห้ามลืมใส่ ฟลัก Fail-Safe ในลูปไว้ด้วยนะ ถ้าอินเทอร์เน็ตหลุดจะได้ไม่ช็อต!

ข้อมูล Frontmatter ดั้งเดิม

title: "วิเคราะห์ YouTube บน ESP32 งานง่ายแต่หล่อ!"
description: "ดึงสถิติจากช่องยูทูปแบบเรียลไทม์ด้วยบอร์ด ESP32 ตัวเล็ก ตึงๆ ไว้โชว์พี่น้องว่าวิศวะสายช่างก็ทำได้เทพๆ"
author: "issaom"
category: ""
tags:
  - "internet of things"
views: 739
likes: 0
price: 1499
difficulty: "Intermediate"
components:
  - "1x Soldering iron (generic)"
  - "1x FireBeetle ESP32 IOT Microcontroller (Supports Wi-Fi & Bluetooth)"
  - "1x Drill / Driver, Cordless"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/dc9cc7c5-0c22-46f2-a90b-31a7a2c17f09.h"
documentationLinks: []
passwordHash: "537d6567e01fe12b87d4730873cf33e2ead0d7f794e04c8d0319011f6e903bdf"
encryptedPayload: "U2FsdGVkX191iV2pO8Nbo8CWml9Y0V1q7O9YO7xiUfmJkuVdVbxTn7yoQOUiG/fjWAp5nCZV8NKbTGp6u71ogej4DNqx8G9dukFuRbs/ZyY="
seoDescription: "Display real-time YouTube analytics on ESP32. Track YouTube channel statistics easily using this Arduino project."
videoLinks:
  - "https://www.youtube.com/embed/ZNb1rZgX-c8"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/youtube-analytics-on-esp32-03b04e_cover.jpg"
lang: "en"