สารบัญ:

Pi Zero Talking Radio: 7 ขั้นตอน (พร้อมรูปภาพ)
Pi Zero Talking Radio: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Pi Zero Talking Radio: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Pi Zero Talking Radio: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Pi Zero W ใหม่ : เครือข่ายไร้สายและ Bluetooth ในราคาแค่ 10 เหรียญสหรัฐฯ 2024, พฤศจิกายน
Anonim
Image
Image
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio
Pi Zero Talking Radio

นี่คือวิทยุตั้งโต๊ะ DeWald ในช่วงปลายทศวรรษที่ 1940 ที่ฉันสร้างชีวิตใหม่โดยใช้ Raspberry Pi Zero แบบกะพริบตา! แถบ LED และลำโพง PC หนึ่งคู่ โดยจะอ่านการแจ้งเตือนจากบริการต่างๆ ที่เชื่อมต่ออินเทอร์เน็ตโดยใช้เครื่องมือแปลงข้อความเป็นคำพูด (TTS) ของ Pyvona และการรวม IF This Then That (IFTTT) ไฟ LED สว่างอย่างน่าอัศจรรย์และทำให้หน้าปัดของวิทยุสว่างเป็นสีต่างๆ ขึ้นอยู่กับคำหลักในข้อความแจ้งเตือน เช่น "youtube" = สีแดง

ฉันหยิบวิทยุอันแสนหวานนี้จากการขายรองเท้าบูทรถยนต์ในช่วงซัมเมอร์ด้วยราคา 3 ปอนด์ - ฉันถูกดึงดูดด้วยขนาดที่กะทัดรัดและการออกแบบที่คลาสสิกในทันที และมองเห็นศักยภาพของมันผ่านภายนอกที่ซีดแดดและรอยแตกมากมาย! ฉันต้องการสร้าง "สิ่งที่เหมาะสมกับห้องนั่งเล่น" มาระยะหนึ่งแล้ว และนี่คือจุดเริ่มต้นในอุดมคติ ฉันเคยทดลองกับการแจ้งเตือนการแปลงข้อความเป็นคำพูดมาก่อนในโครงการ Rabbit Pi และหวังว่าจะสร้างจากสิ่งที่ฉันได้เรียนรู้ที่จะทำบางสิ่งที่ "ใช้งานได้" เป็นประจำทุกวัน

ในกรณีที่คุณไม่สามารถดูวิดีโอแบบฝังได้ที่:

ขั้นตอนที่ 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

ฉันหยิบ Pi Zeros ตัวแรกของฉันขึ้นมาเมื่อเร็ว ๆ นี้และรู้สึกทึ่งกับขนาดที่เล็กของมันทันที! หลังจากบัดกรีในส่วนหัว GPIO และเชื่อมต่ออะแดปเตอร์ อันแรกก็พร้อมใช้งาน เดิมทีฉันวางแผนที่จะสร้าง Rabbit Pi ที่ปรับปรุงแล้ว แต่หลังจากนั้นไม่นานมันก็รู้สึกเหมือนทำงานมากกว่าสนุก ดังนั้นฉันจึงเก็บมันไว้ - แม้ว่าจะไม่ใช่ก่อนที่ฉันจะเริ่มทดลองกับ Unicorn pHAT ซึ่งเป็นเมทริกซ์ขนาด 4x8 ของ LED ที่ตั้งโปรแกรมได้ ซึ่งเป็นกองที่แน่นอน ของความสนุก! ข้อเสียเพียงอย่างเดียวคือการใช้ pHAT นั้นซับซ้อนในการตั้งค่าเสียง และฉันต้องการให้โปรเจ็กต์ถัดไปของฉันเรียบง่ายจริงๆ

ทุกอย่างเข้าที่ที่ Cambridge Raspberry Jam ในเดือนกันยายนเมื่อฉันเห็น Blinkt! ลดราคาที่แผงขาย Pimoroni - เหมือนกับ Unicorn pHAT แต่มีไฟ LED 8 แถวแถวเดียว ขนาดพอดีเพื่อให้พอดีกับส่วนหัว GPIO ของ pi zero มันมาพร้อมกับเอกสารและตัวอย่างมากมาย และใช้งานได้ในเวลาไม่นาน - ตอนนี้ได้เวลาเริ่มรวบรวมโค้ดที่เหลือแล้ว

ขั้นตอนที่ 2: รหัสพูดคุย

รหัสพูดคุย
รหัสพูดคุย

ฉันเริ่มต้นด้วยสำเนาของรหัสหลักจาก Rabbit Pi เนื่องจากมีข้อมูลรับรองข้อความเป็นคำพูดของ Ivona ที่จัดเก็บไว้ในนั้นแล้ว คุณต้องตั้งค่าบัญชีนักพัฒนา Ivona ก่อนใช้บริการ แต่กระบวนการนี้ตรงไปตรงมาเหมือนที่ฉันเคยบันทึกไว้ก่อนหน้านี้

ขั้นตอนต่อไปคือการติดตั้ง Pyvona ซึ่งเป็นเครื่องห่อ Python เพื่อรวมเข้ากับบริการ Ivona TTS ซึ่งง่ายกว่าที่เคย (pip install pyvona)

ด้วยเหตุนี้ ฉันจึงเริ่มแก้ไขโค้ด Rabbit Pi โดยเอาข้อมูลอ้างอิงเกี่ยวกับการควบคุมมอเตอร์และการถ่ายเซลฟี่ทิ้งให้ฉันเหลือเพียงบิตที่อ่านการแจ้งเตือนจากบรรทัดหัวเรื่องของข้อความ Gmail การพัฒนาที่สำคัญของโค้ดนี้เพิ่มในชุดคำสั่ง IF เพื่อค้นหาคีย์เวิร์ดเฉพาะในข้อความ เพื่อให้ Blinkt! จะเรืองแสงสีที่แตกต่างกันขึ้นอยู่กับข้อความ

ต้องใช้เวลาสักครู่ในขณะที่ฉันยังคงใช้ Python อยู่ แต่ได้กำหนดคำหลักของฉันแล้ว ("เมฆมาก", "พระอาทิตย์ตก", "ฝักบัว", "Facebook", "Twitter", "YouTube" และ "Sunny") ฉันสามารถควบคุม Blinkt ได้! สีขึ้นอยู่กับข้อความที่อ่านออก

โค้ดที่ฉันใช้นั้นเรียบง่าย หากไม่เรียบร้อย อยู่บน GitHub แม้ว่าฉันได้เพิ่มคีย์เวิร์ดและสีเพิ่มเติมแล้ว! ฉันทดสอบภายนอกเคสโดยใช้ลำโพงที่ใช้แบตเตอรี่ - เพิ่มเติมเกี่ยวกับการตั้งค่าเสียงในภายหลัง ขั้นตอนสุดท้ายคือการตั้งค่าสคริปต์หลาม radiot.py ให้ทำงานเมื่อเริ่มต้น

ขั้นตอนที่ 3: ศูนย์กลางการแจ้งเตือน

ศูนย์กลางการแจ้งเตือน
ศูนย์กลางการแจ้งเตือน

ตอนนี้ Pi สามารถอ่านข้อความและเปล่งแสงสีต่างๆ ได้อย่างน่าเชื่อถือแล้ว ฉันจำเป็นต้องตั้งค่าการแจ้งเตือนเพื่อให้แจ้งเตือนได้เอง - ฉันจำได้ในการ์ตูนเรื่อง Tom & Jerry ที่วิทยุจะดังเป็นครั้งคราว (Jerry's Diary (1949) - ช่วงเวลาเดียวกับวิทยุ!) และนี่คือเอฟเฟกต์ที่ฉันทำหลังจากนั้น ให้นั่งตรงมุมห้องและดูดี มีไฟสว่างเป็นครั้งคราว และอ่านการแจ้งเตือนที่ฉันจะไม่หยิบขึ้นมาจากโทรศัพท์

ขั้นแรก ฉันตั้งค่าบัญชี Gmail แยกต่างหากเพื่อรับอีเมลแจ้งเตือน ซึ่งหมายความว่าฉันจะไม่ถูกโจมตีด้วยการแจ้งเตือนอีเมลใหม่ หรือสร้างมลพิษให้กับกล่องจดหมายที่มีอยู่ของฉันด้วยข้อความที่สร้างขึ้นโดยอัตโนมัติหลายร้อยข้อความ

ต่อไปฉันไปที่ IFTTT (ถ้าเป็นอย่างนั้น) เพื่อตั้งค่าการทำงานอัตโนมัติ ด้วย IFTTT คุณสามารถเชื่อมต่อ "ช่อง" หลายช่องกับบัญชีของคุณและตั้งค่าให้โต้ตอบกันโดยใช้ "สูตรอาหาร" ได้ ในกรณีนี้คือช่องทางสื่อสังคมออนไลน์และการดำเนินการในโลกแห่งความเป็นจริงในกระแสอีเมล ฉันปรับแต่งส่วน "แล้วนั้น" ของสูตรเพื่อให้ทุกคนส่งอีเมลไปยังบัญชี Gmail ที่ฉันตั้งค่าไว้สำหรับการแจ้งเตือน และใช้ส่วน "ส่วนผสม" เพื่อให้แน่ใจว่าข้อมูลสำคัญจะรวมอยู่ในหัวเรื่องอีเมล ส่วนที่อ่านออก ในขณะนี้ฉันได้ตั้งค่าสูตร IFTTT ต่อไปนี้แล้ว แต่สิ่งเหล่านี้กำลังถูกเพิ่มอยู่ตลอดเวลา!

  • ทุกวันเวลา 21.00 น. ส่งสภาพอากาศของวันพรุ่งนี้ทางอีเมล
  • ทุกวันที่ Sunset ส่งวันที่ & เวลาทางอีเมล
  • ถ้าฉันถูกแท็กในรูปภาพ Facebook ให้ส่งอีเมล
  • หากโทรศัพท์ของฉันเสียบอยู่/ไม่ได้เสียบปลั๊ก ให้ส่งเปอร์เซ็นต์แบตเตอรี่ทางอีเมล
  • ถ้าฉันเข้าไปในพื้นที่ทางภูมิศาสตร์ ให้ส่งอีเมล "MisterM มาถึงที่ทำงานแล้ว!"
  • ถ้าฉันอัปโหลดวิดีโอ YouTube ให้ส่งอีเมล
  • หากมีคนทวีตให้ส่งทางอีเมล
  • หากกิจกรรมในปฏิทินของ Google เริ่มส่งทางอีเมล
  • หากสภาพอากาศปัจจุบันเปลี่ยนเป็นฝน ส่งอีเมล ("ระวัง ฝนกำลังจะตก!"
  • หากเปิดหรือปิดสมาร์ทซ็อกเก็ตให้ส่งอีเมล
  • หากได้รับข้อความ SMS ใหม่ให้ส่งทางอีเมล
  • หากแบตเตอรี่โทรศัพท์เหลือต่ำกว่า 15% ให้ส่งอีเมล ("ชาร์จโทรศัพท์ของคุณคุณงี่เง่า")
  • หากฉันมีผู้ติดตาม Twitter ใหม่หรือพูดถึงให้ส่งอีเมล

เป็นการผสมผสานที่ดีระหว่างเหตุการณ์ประจำวันที่คาดเดาได้และการประกาศที่ไม่คาดคิด รายการโปรดที่ฉันชอบคือการแจ้งเตือนพระอาทิตย์ตก น่าสนใจในช่วงเวลานี้ของปีเพื่อดูว่าเวลาเปลี่ยนแปลงในแต่ละวันอย่างไร การแจ้งเตือนของ Twitter นั้นสนุกที่สุดในขณะที่อ่านทวีตใหม่ ๆ จาก "Beef & Dairy Network", "Very British Problems", "My Sweary Cat" และ "Henry Thoreau" (แม้ว่าบางส่วนจะถูกปิดใน แอป IFTTT ในบริษัทที่สุภาพ) ความสามารถในการอ่านบัญชี Twitter เฉพาะทำให้มีความยืดหยุ่นและสามารถปรับแต่งได้ผ่าน IFTTT แทนที่จะต้องตั้งโปรแกรม Pi ใหม่ทุกครั้ง

ขั้นตอนที่ 4: ตัวเลือกเสียง

ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง
ตัวเลือกเสียง

ต่อไปฉันต้องจัดระบบเสียงด้วยสองความท้าทาย! ประการแรกวิธีดึงเสียงออกจาก Pi Pi Zero ต่างจากรุ่นพี่ที่ใหญ่กว่านี้ไม่มีเอาต์พุตเสียง 3.5 มม. ดังนั้นฉันจึงต้องใช้อะแดปเตอร์บางประเภท ตอนแรกฉันคิดว่าฉันจะใช้ตัวเชื่อมต่อ HDMI เป็น VGA + Audio แต่ดูเหมือนว่าจะใช้มากเกินไป (และฉันต้องการมันสำหรับโปรเจ็กต์อื่น!) ดังนั้นฉันจึงใช้อะแดปเตอร์เสียง USB ราคาถูก การตั้งค่านี้ค่อนข้างง่าย เพียงแค่ตั้งค่าการ์ดเสียง USB เป็นอุปกรณ์ ALSA เริ่มต้นบน Pi นี่หมายความว่าฉันต้องรวมฮับ USB เพื่อติดตั้งอแด็ปเตอร์ WiFi แต่ฉันสามารถรื้อและนำอันเก่าที่ฉันวางไว้กลับมาใช้ใหม่ได้

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

ในที่สุดฉันก็ไปกับสิ่งใหม่ ลำโพง PC หนึ่งคู่ในราคาต่อรอง 6.99 ปอนด์ ฉันไม่ได้คาดหวังมากเกินไป แต่คุณภาพเสียงนั้นดีมาก ไม่มีเสียงฟู่หรือหมดเวลา โบนัสเพิ่มเติมของลำโพง PC คือมีสวิตช์เปิด/ปิดและปุ่มปรับระดับเสียง ซึ่งฉันหวังว่าจะสามารถเชื่อมต่อกับตัวควบคุมดั้งเดิมของวิทยุได้ ทุกอย่างทำงานบนม้านั่ง ตอนนี้ถึงเวลาต้องใส่ไว้ในเคสแล้ว!

ขั้นตอนที่ 5: การติดตั้งย้อนยุค

ฟิตติ้งย้อนยุค
ฟิตติ้งย้อนยุค
ฟิตติ้งย้อนยุค
ฟิตติ้งย้อนยุค
ฟิตติ้งย้อนยุค
ฟิตติ้งย้อนยุค

เมื่อฉันนำวิทยุกลับบ้านครั้งแรก ฉันถอดวงจรเดิมซึ่งอยู่ในที่ต่างๆ อย่างแท้จริง ปิ้งขนมปัง ฉันประทับใจกับโครงสร้างดั้งเดิม แต่เห็นได้ชัดว่าได้รับการออกแบบให้ถอดประกอบและยึดได้ง่าย เนื่องจากหลังจากคลายสลักเกลียวแล้ว ชุดประกอบทั้งหมดก็เลื่อนออกมาบนแชสซีชนิดหนึ่ง ฉันตัดสินใจใช้วิธีเดียวกันนี้และประกอบส่วนประกอบใหม่เข้าด้วยกันบนฐานที่สามารถเลื่อนเข้าไปในเคสและยึดให้แน่นเหมือนต้นฉบับ

ฉันเริ่มด้วยชั้นวางไม้บางๆ จากชั้นวางดีวีดีเก่า โดยตัดให้ได้ขนาดและเจาะรูสำหรับสลักเคส ต่อไปฉันถอดลำโพง ตัดกล่องพลาสติกด้วยเลื่อยตัดโลหะและเครื่องมือหมุน ลำโพงที่บางเฉียบถูกยึดเข้ากับฐานไม้ด้วยขายึด 90 องศาที่ทำจากเมกคาโน วงจรเครื่องขยายเสียงเป็นลำดับถัดไป เนื่องจากข้อจำกัดด้านพื้นที่ จึงจำเป็นต้องติดตั้งกลับหัวและยกขึ้นเหนือฐานประมาณหนึ่งนิ้ว ฉันต้องสร้างการจัดเรียงเสาบางอย่างเพื่อรองรับและยึดกระดาน แต่ติดอยู่กับวิธีการทำสิ่งนี้อย่างเรียบร้อย ทางออกที่ดีคือใต้จมูกของฉัน - ดินสอสี! ฉันตัดส่วนของดินสอตามขนาด แล้วใส่ลงในรูที่เจาะที่ฐาน สิ่งที่สมบูรณ์แบบเกี่ยวกับการใช้ดินสอสีก็คือ "ตะกั่ว" ที่อยู่ตรงกลางสามารถเจาะออกได้ง่ายมาก ทำให้เหลือรูที่สะดวกสำหรับสกรูของแผงวงจร

ฉันใช้ชิ้นส่วนของ Meccano และ Lego รวมกันเพื่อสร้างโครงยึดเพื่อรองรับ Pi เอง และจัดระเบียบสายจูงที่หลงทางด้วยสายรัด สวิตช์ระดับเสียงและสวิตช์เปิด/ปิดบนแผงวงจรของลำโพงห่างกันมากกว่ารูในกล่องวิทยุ (คุณไม่สามารถมีทุกอย่างได้) ดังนั้นฉันจึงขยายมันโดยใช้ส่วนต่างๆ ของแท่งบอลลูนพลาสติกกลวง

ขั้นตอนที่ 6: กรณีทำงาน

งานคดี
งานคดี
งานคดี
งานคดี
งานคดี
งานคดี

ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ว่าเคสวิทยุอยู่ในสถานะที่น่ากลัว ดังนั้นฉันจึงทำการปะรูและรอยร้าวที่แย่ที่สุดโดยใช้โพลีฟิลล่าแล้วขัดให้ทั่ว ฉันตัดสินใจที่จะใช้สีครีมที่สวยงามสำหรับสี เพื่อประสานกับสีน้ำตาลของปุ่มปรับจูน สีอ้างว่าเป็น "ไพรเมอร์ & เพ้นท์ในหนึ่งเดียว" แต่ฉันให้สีรองพื้นสองสามชั้นก่อนเพื่อความปลอดภัย ลูกบิดใช้การขัดถูเล็กน้อย (สิ่งสกปรกกว่า 60 ปี!) แต่ออกมาดี - ฉันเพิ่งยึดปุ่มปรับครีมสีครีมดั้งเดิมไว้กับหน้าปัดด้วยสลักเกลียว เนื่องจากไม่ได้เชื่อมต่อกับส่วนประกอบใดๆ

หลังจากที่สีแข็งตัวแล้ว ก็ได้เวลารวมทุกอย่างเข้าด้วยกัน ซึ่งปกติแล้วจะเป็นส่วนของโครงการที่ทดสอบความอดทนของฉันมากที่สุด! ครั้งนี้ดำเนินไปอย่างราบรื่นมาก เนื่องจากโครงสร้างที่ยากทั้งหมดได้ทำเสร็จแล้วบนฐาน ทั้งหมดที่ฉันต้องทำคือเลื่อนชุดประกอบเข้าไปในเคส ยึดด้วยสลักเกลียวและใส่ลูกบิดให้พอดี

ฝาหลังวิทยุหาย เลยทำใหม่จากกรอบรูปเก่า แล้วทาสีด้วยสีครีมเหมือนเดิม

ขั้นตอนที่ 7: Radio Times

วิทยุไทม์ส
วิทยุไทม์ส
วิทยุไทม์ส
วิทยุไทม์ส
วิทยุไทม์ส
วิทยุไทม์ส

นี่เป็นโปรเจ็กต์ที่สนุกจริงๆ ในการสร้าง เป็นการดีที่จะรักษาสิ่งต่าง ๆ ให้เรียบง่ายและมุ่งเน้นที่การทำให้มันสะอาดที่สุดเท่าที่จะทำได้ ในบางครั้ง ฉันถูกล่อลวงให้ใส่ไมโครโฟนสำหรับการผสานรวมกับ Alexa และถึงกับคิดอย่างจริงจังว่าจะสร้างใน Chromecast Audio (สำหรับพอดแคสต์เวลาใหม่ที่ฉันโปรดปรานในรูปแบบของวิทยุแบบเก่า) แต่ฉันดีใจที่ฉันทำให้มันเรียบง่ายและ ฉันตื่นเต้นกับผลลัพธ์ที่ได้

ตอนนี้ได้ติดตั้งไว้ที่ลำโพงตรงมุมห้องนั่งเล่นแล้ว เปิดไฟและพูดเป็นครั้งคราวได้ตามที่ฉันหวังไว้ ข้อเสียเพียงเล็กน้อยคือหน้าปัดโปร่งแสงสีครีมและน้ำตาลทำให้ยากต่อการแสดงช่วงสีสดใสของ Blinkt! มันค่อนข้างชัดเจนสำหรับการแจ้งเตือนพระอาทิตย์ตก (สีส้ม) และข้อความ (สีม่วง) แต่สภาพอากาศค่อนข้างเหมือนกัน - ฉันแค่ต้องทดลองกับรหัสสี RGB ที่แตกต่างกันฉันคิดว่า!

หากคุณชอบโครงการนี้และต้องการเห็นมากขึ้น คุณสามารถตรวจสอบเว็บไซต์ของฉันสำหรับการอัปเดตโครงการที่อยู่ระหว่างดำเนินการได้ที่ bit.ly/OldTechNewSpec เข้าร่วม Twitter @OldTechNewSpec หรือสมัครรับข้อมูลช่อง YouTube ที่กำลังเติบโตที่ bit.ly/oldtechtube - ให้ เทคโนโลยีเก่าของคุณเป็นสเป็คใหม่!

การประกวดผู้สร้าง IoT
การประกวดผู้สร้าง IoT
การประกวดผู้สร้าง IoT
การประกวดผู้สร้าง IoT

รางวัลที่สองในการประกวด IoT Builders

แนะนำ: