YouTube Desktop Notifier: 11 ขั้นตอน (พร้อมรูปภาพ)
YouTube Desktop Notifier: 11 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Image
Image

คุณฝันร้ายที่สูญเสียสมาชิก YouTube ของคุณหรือไม่? ถ้าคุณทำ คุณไม่ใช่คนเดียว

โชคดีที่ฉันได้สร้าง "YouTube Desktop Notifier" เพื่อให้ฉันอัปเดตช่องของฉันด้วย Subscriber และ View Counts โปรเจ็กต์ DIY แบบง่ายๆ นี้มีค่าใช้จ่ายประมาณ 10 เหรียญสหรัฐฯ และตอนนี้ช่วยให้ฉันติดตามช่องของฉันได้ นอกเหนือจากการแสดงสมาชิกและจำนวนการดูอุปกรณ์นี้ยังมี "เสียงบี๊บและเรืองแสง" เมื่อช่องของฉันได้รับสมาชิกใหม่

ขั้นตอนที่ 1: ข้อกำหนดฮาร์ดแวร์ - 1

ข้อกำหนดฮาร์ดแวร์ - 2
ข้อกำหนดฮาร์ดแวร์ - 2

สำหรับโครงการนี้ เราต้องการส่วนผสมของทั้งชิ้นส่วนอิเล็กทรอนิกส์และเครื่องมืองานไม้

  • ส่วนประกอบอิเล็กทรอนิกส์ ได้แก่:
  • Perfboard
  • NodeMCU
  • 220v AC ถึง 5v DC Buck Step-Down Module
  • Buzzer Shield หรือ Buzzer และตัวต้านทาน 100Ω
  • สวิตช์ SPDT
  • 4 x TM1637 4 Bits Digital 7-Segment Displays
  • ไฟ LED สีคู่และตัวต้านทาน220Ωจำนวนเท่ากัน
  • สายต่อไม่กี่เส้น
  • สาย USB เพื่ออัปโหลดรหัส
  • และอุปกรณ์บัดกรีทั่วไป

ขั้นตอนที่ 2: ข้อกำหนดฮาร์ดแวร์ - 2

สำหรับบิตการทำงานเราต้องการ:

  • ไม้เพดาน
  • ดินสอ
  • ตลับเมตร
  • เลื่อยมือ/สับ
  • ค้อน
  • เพ้นท์เล็บ
  • เครื่องมือขัด
  • และอุปกรณ์ป้องกันภัยส่วนบุคคล (PPE) สำหรับงานตัดไม้

ฉันกำลังสร้างโครงตู้จากไม้พาเลท เนื่องจากฉันมีพาเลทจำนวนมากเหลือจากโครงการ DIY WoodWorking อื่นๆ ของฉัน คุณยังสามารถทำกล่องจากกระดาษแข็งหรือภาชนะพลาสติกแล้วทาสีเพื่อให้ดูเย็น

ขั้นตอนที่ 3: ครอบคลุมหัวข้อ

หัวข้อที่ครอบคลุม
หัวข้อที่ครอบคลุม

ขั้นตอนที่ 4: แผน

แผนการ
แผนการ

แผนคือการทำกล่องขนาด 24 ซม. x 10 ซม. เพื่อยึดวงจรไว้

เมื่อเปิดเครื่อง อุปกรณ์จะเชื่อมต่อกับเครือข่าย Wi-Fi ที่ระบุก่อนโดยใช้คู่ SSID และรหัสผ่านที่ให้ไว้ในรหัส เมื่อทำการเชื่อมต่อแล้ว รหัสจะใช้การรวมกันของ "คีย์ Google API" (ฉันจะแสดงวิธีสร้างมันในหัวข้อถัดไป) และ "รหัสช่อง YouTube" ของคุณเพื่อดึงข้อมูลจากเซิร์ฟเวอร์ YouTube จากนั้นอุปกรณ์จะแสดงจำนวนการดูและจำนวนสมาชิกโดยใช้หน้าจอ 7segment

หลังจากแสดงข้อมูลแล้ว จะรอ 5 นาทีก่อนที่จะดึงข้อมูลชุดถัดไปจากเซิร์ฟเวอร์ YouTube ตัวแปรใช้เพื่อเก็บจำนวนสมาชิกปัจจุบัน หากจำนวนสมาชิกใหม่มากกว่าจำนวนเดิม ออดจะติดและไฟ LED สีฟ้าและสีขาวจะกะพริบ (สว่าง) อีกทางหนึ่ง

ขั้นตอนที่ 5: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

การเดินสายไฟนั้นง่ายมาก เราจะเริ่มต้นด้วยการเชื่อมต่อจอแสดงผล 7-Segment กับไมโครคอนโทรลเลอร์ จอแสดงผลแต่ละจอเหล่านี้มี 4 พิน 2 พินสำหรับจ่ายไฟและอีกอันสำหรับนาฬิกาและอีกอันสำหรับข้อมูล เชื่อมต่อข้อมูลและหมุดนาฬิกากับ NodeMCU ตามคำแนะนำบนหน้าจอ

จากนั้นเราจะเชื่อมต่อพิน VCC ทั้งหมดของจอแสดงผลกับพิน 3.3V ของ NodeMCU ถัดไป เชื่อมต่อตัวป้องกันเสียงกริ่ง/ออดกับตัวต้านทาน 100Ω กับพิน D8 หลังจากนั้นให้เชื่อมต่อไฟ LED สีน้ำเงินและสีขาวกับพิน D9 และ D10 ด้วยตัวต้านทานจำกัดกระแส 220Ω ตามลำดับ

ตอนนี้ ไปข้างหน้าและเชื่อมโยงหมุดกราวด์ทั้งหมดเข้ากับพิน GND ของ NodeMCU เมื่อเชื่อมต่อพินทั้งหมดแล้ว ให้เชื่อมต่อสวิตช์กับ VIN ของ NodeMCU และ GND เป็น GND ของตัวแปลงสเต็ปดาวน์

ขั้นตอนที่ 6: ห้องสมุดที่ใช้

ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้
ห้องสมุดที่ใช้

ชื่อผู้ใช้และรหัสช่องของช่องอยู่ภายใต้ "ข้อมูลบัญชี"

ลงชื่อเข้าใช้บัญชี YouTube ของคุณ

ที่ด้านบนขวา ให้คลิกไอคอนบัญชีของคุณ > การตั้งค่า

จากแผงด้านซ้ายมือ ให้คลิกที่ "การตั้งค่าขั้นสูง"

นี่คือรายการไลบรารีที่เราต้องการสำหรับโครงการนี้

ไลบรารีซอฟต์แวร์:

  • ไดรเวอร์ LED TM1637:
  • ESP8266WiFi:
  • Arduino Json:
  • Arduino YouTube API:

คุณสามารถดาวน์โหลดได้ทั้งหมดจาก GitHub ฉันได้ให้ลิงก์ไว้ในคำอธิบายด้านล่าง เมื่อดาวน์โหลดแล้ว unzip และเปลี่ยนชื่อไลบรารีโดยลบอักขระพิเศษและ "master" ออกจากชื่อ วางโฟลเดอร์ในโฟลเดอร์ไลบรารีของ Arduino คุณอาจต้องสร้างโฟลเดอร์ Libraries หากนี่เป็นห้องสมุดแรกของคุณ รีสตาร์ท IDE เพื่อให้โหลดไฟล์ KEYWORD ตัวอย่าง และเพิ่มไลบรารีลงในเมนูไลบรารีได้อย่างถูกต้อง

ตัวระบุที่ไม่ซ้ำ:

  • WiFi SSID/รหัสผ่าน
  • รหัสช่อง YouTube:
  • รหัส Google API:
  • นอกจากไลบรารี่แล้ว คุณยังต้องการตัวระบุที่ไม่ซ้ำสำหรับโปรเจ็กต์นี้อีกด้วย
  • อันแรกคือ SSID และรหัสผ่านของเครือข่ายไร้สายของคุณ
  • จากนั้น คุณต้องมีรหัสช่องที่ไม่ซ้ำกันของช่อง YouTube เพื่อให้ได้สิ่งนั้น:

    • ลงชื่อเข้าใช้บัญชี YouTube ของคุณ
    • ที่ด้านบนขวา ให้คลิกไอคอนบัญชีของคุณ > การตั้งค่า
    • จากแผงด้านซ้ายมือ ให้คลิกที่ "การตั้งค่าขั้นสูง"
    • ชื่อผู้ใช้และรหัสช่องของช่องอยู่ภายใต้ "ข้อมูลบัญชี"
  • และสุดท้าย คุณต้องสร้าง "คีย์ Google API" สำหรับช่องของคุณ เพื่อสร้างคีย์

    • Google ค้นหา "การใช้คีย์ API" หรือเปิดลิงก์ที่ให้ไว้ในคำอธิบายด้านล่าง
    • เลื่อนลงและคลิกที่ "API & Services → Credentials"
    • หากนี่เป็นครั้งแรกที่คุณเข้าถึงหน้านี้ คุณจะต้องสร้างโครงการใหม่โดยคลิกที่ปุ่ม "สร้าง"
    • ยอมรับเงื่อนไขและตั้งชื่อโครงการของคุณ จากนั้นกดปุ่ม "สร้าง" เพื่อสร้างโครงการ
    • เมื่อสร้างโปรเจ็กต์แล้ว คุณเพียงแค่คลิกดรอปดาวน์ "สร้างข้อมูลรับรอง" และเลือก "คีย์ API" จากที่นั่น
    • ระบบจะใช้เวลาในการสร้างคีย์ เมื่อสร้างแล้วจะแสดงคีย์ในกล่องโต้ตอบป๊อปอัป - คัดลอกและบันทึกไว้ในอีเมลของคุณ
    • ตอนนี้คลิกที่ตัวเลือก "ห้องสมุด" จากแผงด้านซ้ายมือและ
    • เลื่อนลงมาและเปิดใช้งาน "YouTube Data API v3" และ "YouTube Reporting API" โดยคลิกที่ปุ่มเหล่านี้แล้วกดปุ่ม "Enable"
    • รอประมาณ 5 ถึง 10 นาที แล้วคุณจะสามารถใช้คีย์ API ที่คุณเพิ่งสร้างขึ้นในโค้ดของคุณได้

ขั้นตอนที่ 7: งานไม้

งานไม้
งานไม้
งานไม้
งานไม้
งานไม้
งานไม้
งานไม้
งานไม้

เริ่มต้นโครงการของเราด้วยการประกอบกล่องไม้ ตามที่กล่าวไว้ก่อนหน้านี้ฉันจะตัด:

แผงด้านข้าง 2 x 24x10 ซม. 2 x 10x6 ซม. และแผ่นหลัง 24x10 ซม. 1 แผ่น หลังจากตัดบล็อคไม้ทั้งหมดแล้ว ฉันจะเข้าร่วมและขัดมันเพื่อให้กล่องดูสวยงามและเรียบเนียน ที่ด้านหลังของตัวเครื่อง ฉันจะเจาะ 2 รู รูหนึ่งสำหรับสายไฟ และอีกรูสำหรับสวิตช์เปิดและปิด

ขั้นตอนที่ 8: การบัดกรี

บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี

เมื่อกล่องพร้อม ฉันจะประสานส่วนประกอบอิเล็กทรอนิกส์ทั้งหมดและติดตั้งลงในกล่อง

ฉันจะเริ่มต้นด้วยการบัดกรี NodeMCU จากนั้นฉันจะประสานตัวต้านทาน100Ωกับพิน D8 ของ NodeMCU หลังจากนั้น ฉันจะประสานออดกับบอร์ดและจะเชื่อมโยงกับ NodeMCU ต่อไป ฉันจะประสานสวิตช์และติดตั้งที่ด้านหลังของกล่อง ตามแผนผังหนึ่งพินของสวิตช์จะเชื่อมต่อกับ VIN ของ NodeMCU และอีกอันหนึ่งไปยังขั้ว +ve ของตัวแปลงสเต็ปดาวน์ ปลาย -ve ของตัวแปลงจะเชื่อมต่อกับพิน GND ของ NodeMCU ตอนนี้ฉันกำลังจะประสาน 7 ส่วนตามแผนผัง

ต่อไป ฉันกำลังบัดกรีไฟ LED สีน้ำเงินและสีขาวกับพิน D9 และ D10 ของ NodeMCU ดังนั้นนี่คือหน้าตาของฉัน ให้ฉันทำการทดสอบอย่างรวดเร็วก่อนที่จะติดตั้งแผ่นปิดหน้า ดูเหมือนว่าทุกอย่างทำงานอย่างที่ควรจะเป็น ตกลง ให้ฉันติดตั้งแผ่นปิดหน้าแล้วฉันจะอธิบายรหัสให้พวกคุณฟัง

ขั้นตอนที่ 9: รหัส

รหัส
รหัส

นี่คือรายการไลบรารีที่เราต้องการสำหรับโครงการนี้

ตอนนี้ ถ้าคุณใช้แผนผังเดียวกันกับของฉัน คุณไม่จำเป็นต้องแก้ไขอะไรในโค้ดนี้นอกจากสองสามบรรทัดเหล่านี้ คุณเพียงแค่ต้องเพิ่ม SSID และรหัสผ่านของเครือข่าย WiFI และคีย์ Google API และรหัสช่องที่นี่ ส่วนที่เหลือคุณสามารถปล่อยให้เป็นอยู่และโหลดรหัสไปยัง NodeMCU

"api_mtbs" คือเวลาเฉลี่ยระหว่างคำขอ API ที่สร้างโดยไมโครโปรเซสเซอร์

จากนั้น ฉันกำลังเริ่มต้นการแสดงผลโดยการตั้งค่านาฬิกาและหมุดข้อมูล หลังจากนั้นฉันกำลังตั้งค่าออดและไฟ LED 2 ดวง

ในส่วนการตั้งค่า () ฉันกำลังตั้งค่าโหมดพิน LED และเปิดไฟ LED สีน้ำเงินเมื่อเริ่มต้น จากนั้นฉันกำลังล้าง 7-Segments ทั้งหมดและแสดง 0 บนจอแสดงผล 1 และ 3 หลังจากนั้นอุปกรณ์จะเชื่อมต่อกับเครือข่าย WiFI โดยใช้ข้อมูลประจำตัวที่ให้มา

ในส่วน loop() เมื่อค่าของตัวนับเกิน api_mtbs หรือพูดง่ายๆ เมื่อถึงเวลาส่งคำขอครั้งต่อไปไปยังเซิร์ฟเวอร์ YouTube จะมีการเรียก API ด้วยรหัสช่องและผลลัพธ์จะแสดงบน มอนิเตอร์แบบอนุกรมและบนจอแสดงผล 7-Segment คุณต้องคำนวณ MOD ของจำนวนที่ได้รับเพื่อแสดงตัวเลข 4 หลักสุดท้าย จากนั้นลบค่า MOD ออกจากค่าเดิมเพื่อให้ได้ตัวเลข 4 หลักแรก สิ่งหนึ่งที่ฉันสังเกตเห็นคือถ้า MOD เป็น 24 ดังนั้นจอแสดงผลจะแสดงเพียง 24 ไม่ใช่ 0024 ดังนั้นเราจะต้องเพิ่มศูนย์ที่หายไปลงในจอแสดงผล รหัสบิตนี้คือการเพิ่ม 0 ที่หายไป

และสุดท้าย โค้ดบิตนี้คือการเปิดออดและไฟ LED เมื่อจำนวนสมาชิกใหม่มากกว่าจำนวนสมาชิกเก่า

หมายเหตุ: พิน D9 และ D10 คือพิน RX และ TX ของ NodeMCU ดังนั้น หากคุณเชื่อมต่อ LED กับพินเหล่านี้ คุณจะไม่สามารถรับสิ่งใดบนจอภาพแบบอนุกรมได้ ดังนั้น ในระหว่างขั้นตอนการทดสอบ อย่าเชื่อมต่อใดๆ กับพิน D9 และ D10 และแสดงความคิดเห็นบิตที่กำหนดโหมดพินสำหรับพินเหล่านี้

คุณสามารถดาวน์โหลดโค้ดได้จากลิงค์ที่ให้ไว้ในคำอธิบายด้านล่าง

ขั้นตอนที่ 10: การเพิ่มประสิทธิภาพในอนาคต

การปรับปรุงในอนาคต
การปรับปรุงในอนาคต

บางสิ่งที่ฉันจะรวมไว้ในเวอร์ชันที่จะเกิดขึ้นของโครงการนี้คือ:

  • การบันทึกการนับรายวันไปยังฐานข้อมูลของเว็บเซิร์ฟเวอร์
  • การบันทึกการนับรายเดือนไปยังฐานข้อมูลของเว็บเซิร์ฟเวอร์
  • สร้างเว็บอินเตอร์เฟสเพื่อแสดงการวิเคราะห์รายวัน/รายเดือนโดยใช้กราฟแท่ง/เส้น
  • การเพิ่ม NeoPixels แทนไฟ LED ที่กะพริบ

หากพวกคุณมีข้อเสนอแนะอื่น ๆ โปรดแจ้งให้เราทราบในความคิดเห็นด้านล่าง ได้เลย แล้วคุณจะรออะไร ไปข้างหน้าและกดปุ่มสมัครและให้การแจ้งเตือนเดสก์ท็อปของฉันฉวัดเฉวียนและเรืองแสง