สารบัญ:

กล้องขับเคลื่อนด้วยเสียงโดยใช้ Raspberry Pi: 6 ขั้นตอน
กล้องขับเคลื่อนด้วยเสียงโดยใช้ Raspberry Pi: 6 ขั้นตอน

วีดีโอ: กล้องขับเคลื่อนด้วยเสียงโดยใช้ Raspberry Pi: 6 ขั้นตอน

วีดีโอ: กล้องขับเคลื่อนด้วยเสียงโดยใช้ Raspberry Pi: 6 ขั้นตอน
วีดีโอ: แกะกล่อง Raspberry Pi 5 มีอะไรมาใหม่ มีอะไรเปลี่ยนไปบ้าง… 2024, กรกฎาคม
Anonim
กล้องสั่งงานด้วยเสียงโดยใช้ Raspberry Pi
กล้องสั่งงานด้วยเสียงโดยใช้ Raspberry Pi

พัฒนากล้องที่รันคำสั่งเสียงพากย์ได้ ซึ่งได้รับการออกแบบมาโดยเฉพาะสำหรับผู้คนทุกประเภท โดยเฉพาะสำหรับผู้ที่แสวงหาความสนุกสนานในการถ่ายภาพ

ขั้นตอนที่ 1: คู่มือฮาร์ดแวร์

คู่มือฮาร์ดแวร์
คู่มือฮาร์ดแวร์

VDC ได้รับการออกแบบบน Raspberry Pi (รุ่น B) และต้องใช้ฮาร์ดแวร์เพิ่มเติม เช่น อะแดปเตอร์ wifi (อุปกรณ์เสริม) และไมโครโฟน USB ฮาร์ดแวร์ที่แนะนำระบุไว้ด้านล่างพร้อมลิงก์สำหรับรายละเอียดเพิ่มเติม คุณอาจลองใช้ยี่ห้อ/ข้อกำหนดของฮาร์ดแวร์ที่แตกต่างกันเล็กน้อย VDC ไม่มีส่วนเกี่ยวข้องกับผู้จำหน่ายฮาร์ดแวร์ที่เชื่อมโยง

รายการทั้งหมด

  1. Raspberry Pi รุ่น B
  2. Picamera
  3. ไมโครโฟนมินิ USB
  4. การ์ด SD
  5. สายอีเธอร์เน็ต
  6. อะแดปเตอร์ Mini-USB (อุปกรณ์เสริม)
  7. Micro USB - ที่ชาร์จติดผนัง
  8. ลำโพงที่ทำงานผ่านแจ็คเสียง Raspberry Pi (อาจต้องขับเคลื่อนด้วยตัวเอง)

รายการอุปกรณ์ต่อพ่วงที่ตรวจสอบแล้วของ Raspberry Pi อาจเป็นประโยชน์ในการค้นหาผลิตภัณฑ์ทดแทนสำหรับผลิตภัณฑ์ที่แนะนำข้างต้น

การประกอบ

การประกอบชิ้นส่วนที่จำเป็นนั้นตรงไปตรงมา ใส่ไมโครโฟน, การ์ด SD, อแดปเตอร์ไร้สาย (ถ้ามี), สาย micro-USB, สายอีเทอร์เน็ต และลำโพงลงใน Raspberry Pi ขอแนะนำให้ใช้อะแดปเตอร์ชาร์จไฟแบบ USB แบบเสียบผนังเป็นอุปกรณ์แบบสแตนด์อโลน

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

การเชื่อมต่ออินเทอร์เน็ต

ตามที่กล่าวไว้ข้างต้น อแด็ปเตอร์ไร้สายเป็นอุปกรณ์เสริม มันทำงานได้ดีบนการเชื่อมต่อแบบมีสาย (ผ่านอีเธอร์เน็ต) ดังนั้นคุณสามารถเลือกระหว่างการตั้งค่าทั้งสองแบบขึ้นอยู่กับสิ่งที่ดีที่สุดสำหรับคุณ

ขั้นตอนที่ 2: การติดตั้งระบบปฏิบัติการบน Raspberry Pi

การติดตั้งระบบปฏิบัติการบน Raspberry Pi
การติดตั้งระบบปฏิบัติการบน Raspberry Pi

บทนำ

Raspberry Pi เป็นไมโครโปรเซสเซอร์ขนาดเท่าบัตรเครดิตที่มีอยู่ในรุ่นต่างๆ โดยมีความเร็วในการประมวลผลที่แตกต่างกันตั้งแต่ 700 MHz ไม่ว่าคุณจะมีรุ่น B หรือรุ่น B+ หรือรุ่นเก่า กระบวนการติดตั้งยังคงเหมือนเดิม ผู้ที่ตรวจสอบเว็บไซต์ Raspberry Pi อย่างเป็นทางการอาจเคยเห็นพวกเขาแนะนำระบบปฏิบัติการ "NOOBS" หรือ "NOOBS LITE" (aka "OS") สำหรับผู้เริ่มต้น แต่การใช้ Pi นั้นง่ายมาก และจากการเป็นมือใหม่ จะกลายเป็นมือโปรในเวลาไม่นาน ดังนั้นจึงควรใช้ Raspbian OS ที่ทรงพลังและมีประสิทธิภาพมากกว่า เหตุผลหลักที่ Raspbian ได้รับความนิยมอย่างมากก็คือมีไลบรารีที่สร้างไว้ล่วงหน้านับพันรายการเพื่อทำงานหลายอย่างและเพิ่มประสิทธิภาพระบบปฏิบัติการ นี่เป็นข้อได้เปรียบอย่างมากในขณะที่สร้างแอปพลิเคชัน

กำลังดาวน์โหลด Raspbian และ Image writer

ดาวน์โหลด Raspbian เวอร์ชันล่าสุดได้จากที่นี่ คุณสามารถดาวน์โหลดได้โดยตรงหรือผ่านทาง torrents

เพจ Raspbian

ลิงค์ดาวน์โหลด Raspbian OS

คุณจะต้องใช้โปรแกรมเขียนภาพเพื่อเขียนระบบปฏิบัติการที่ดาวน์โหลดลงในการ์ด SD (การ์ด micro SD ในกรณีของรุ่น Raspberry Pi B+) ดังนั้นให้ดาวน์โหลด "win32 disk imager" จากที่นี่

การเขียนภาพ

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

หลังจากนั้นคลิกที่ปุ่ม "เขียน" ที่ด้านล่าง ตัวอย่างเช่น ดูภาพด้านล่าง โดยที่ไดรฟ์ SD การ์ด (หรือ micro SD) จะแสดงด้วยตัวอักษร "G:\"

เมื่อเขียนเสร็จแล้ว ให้นำการ์ด SD ออกแล้วใส่ลงใน Raspberry Pi แล้วเปิดเครื่อง มันควรจะเริ่มบูทขึ้น

การตั้งค่า Pi

โปรดจำไว้ว่าหลังจากการบูท Pi อาจมีบางสถานการณ์ที่ระบบจะถามข้อมูลประจำตัวผู้ใช้เช่น "ชื่อผู้ใช้" และรหัสผ่าน Raspberry Pi มาพร้อมกับชื่อผู้ใช้และรหัสผ่านเริ่มต้น ดังนั้นให้ใช้ทุกครั้งที่ถูกถาม ข้อมูลประจำตัวคือ:

เข้าสู่ระบบ: pi

รหัสผ่าน: ราสเบอร์รี่

เมื่อเปิด Pi เป็นครั้งแรก หน้าจอการกำหนดค่าที่เรียกว่า "ตัวเลือกการตั้งค่า" ควรปรากฏขึ้นและจะมีลักษณะเหมือนภาพด้านล่าง

หากคุณพลาดหน้าจอ "ตัวเลือกการตั้งค่า" ไม่ใช่ปัญหา คุณสามารถรับมันได้ตลอดเวลาโดยพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล

sudo raspi-config

เมื่อคุณรันคำสั่งนี้ หน้าจอ "ตัวเลือกการตั้งค่า" จะปรากฏขึ้นตามที่แสดงในภาพด้านบน

เมื่อหน้าต่าง Setup Options ปรากฏขึ้น เราจะต้องตั้งค่าบางอย่าง หลังจากทำตามขั้นตอนด้านล่างนี้แล้ว หากระบบขอให้รีบูต Pi โปรดดำเนินการดังกล่าว หลังจากรีบูต หากคุณไม่ได้รับหน้าจอ "ตัวเลือกการตั้งค่า" ให้ทำตามคำสั่งด้านบนเพื่อรับหน้าจอ/หน้าต่าง

สิ่งแรกที่ต้องทำ:

เลือกตัวเลือกแรกในรายการของหน้าต่างตัวเลือกการตั้งค่า นั่นคือเลือก

ขยายระบบไฟล์

ตัวเลือกและกดปุ่ม Enter เราทำสิ่งนี้เพื่อใช้พื้นที่ทั้งหมดที่มีอยู่ในการ์ด SD เป็นพาร์ติชั่นแบบเต็ม ทั้งหมดนี้ทำได้คือ ขยายระบบปฏิบัติการเพื่อให้พอดีกับพื้นที่ทั้งหมดบนการ์ด SD ซึ่งสามารถใช้เป็นหน่วยความจำเก็บข้อมูลสำหรับ Pi ได้ สิ่งที่สองที่ต้องทำ:

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

ในหน้าต่าง "choose boot option window" ให้เลือกตัวเลือกที่สอง นั่นคือ "Desktop Log in as user 'pi' at the graphical desktop" แล้วกดปุ่ม Enter เมื่อเสร็จแล้ว คุณจะถูกนำกลับไปที่หน้า "ตัวเลือกการตั้งค่า" หากไม่เลือกปุ่ม "ตกลง" ที่ด้านล่างของหน้าต่างนี้ และคุณจะถูกนำกลับไปที่หน้าต่างก่อนหน้า เราทำสิ่งนี้เพราะเราต้องการบูตเข้าสู่สภาพแวดล้อมเดสก์ท็อปที่เราคุ้นเคย หากเราไม่ทำตามขั้นตอนนี้ Raspberry Pi จะบู๊ตในเทอร์มินัลทุกครั้งโดยไม่มีตัวเลือก GUI เมื่อทำทั้งสองขั้นตอนเสร็จแล้ว ให้เลือกปุ่ม "เสร็จสิ้น" ที่ด้านล่างของหน้า และควรรีบูตโดยอัตโนมัติ หากไม่เป็นเช่นนั้น ให้ใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อรีบูต

sudo รีบูต

กำลังอัปเดตเฟิร์มแวร์

หลังจากรีบูตจากขั้นตอนก่อนหน้า หากทุกอย่างถูกต้อง คุณจะพบกับเดสก์ท็อปซึ่งดูเหมือนภาพด้านล่าง

เมื่อคุณอยู่บนเดสก์ท็อป ให้เปิดเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้เพื่ออัปเดตเฟิร์มแวร์ของ Pi

sudo rpi-update

จำเป็นต้องอัปเดตเฟิร์มแวร์เนื่องจาก Pi บางรุ่นอาจไม่มีการพึ่งพาที่จำเป็นทั้งหมดเพื่อให้ทำงานได้อย่างราบรื่นหรืออาจมีข้อบกพร่องบางอย่าง เฟิร์มแวร์ล่าสุดอาจมีการแก้ไขข้อผิดพลาดเหล่านั้น ดังนั้นจึงเป็นเรื่องสำคัญมากที่จะต้องอัปเดตตัวเองตั้งแต่เริ่มต้น

นี่คือลิงค์วิดีโอที่มีให้:

การติดตั้งและกำหนดค่าระบบปฏิบัติการ Raspbian Jessie บน Raspberry Pi (คลิกที่ลิงค์)

ขั้นตอนที่ 3: ตั้งค่า VNC บน Raspberry Pi เพื่อควบคุมจากระยะไกล

ตั้งค่า VNC บน Raspberry Pi เพื่อควบคุมจากระยะไกล
ตั้งค่า VNC บน Raspberry Pi เพื่อควบคุมจากระยะไกล

VNC (คอมพิวเตอร์เครือข่ายเสมือน)

บางครั้งก็ไม่สะดวกที่จะทำงานโดยตรงกับ Raspberry Pi บางทีคุณอาจต้องการทำงานกับมันจากอุปกรณ์อื่นด้วยรีโมทคอนโทรล

VNC เป็นระบบการแชร์เดสก์ท็อปแบบกราฟิกที่ให้คุณควบคุมอินเทอร์เฟซเดสก์ท็อปของคอมพิวเตอร์เครื่องหนึ่งจากระยะไกล (ใช้งานเซิร์ฟเวอร์ VNC) จากคอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์มือถือ (ใช้งาน VNC Viewer) VNC Viewer จะส่งแป้นพิมพ์และเมาส์หรือเหตุการณ์การสัมผัสไปยัง VNC Server และรับการอัปเดตไปยังหน้าจอเป็นการตอบแทน

คุณจะเห็นเดสก์ท็อปของ Raspberry Pi ภายในหน้าต่างบนคอมพิวเตอร์หรืออุปกรณ์มือถือของคุณ คุณจะสามารถควบคุมได้ราวกับว่าคุณกำลังทำงานกับ Raspberry Pi อยู่

VNC Connect จาก RealVNC รวมอยู่ใน Raspbian ประกอบด้วยทั้งเซิร์ฟเวอร์ VNC ซึ่งช่วยให้คุณควบคุม Raspberry Pi จากระยะไกล และ VNC Viewer ซึ่งช่วยให้คุณควบคุมคอมพิวเตอร์เดสก์ท็อปจากระยะไกลจาก Raspberry Pi ของคุณได้หากต้องการ

คุณต้องเปิดใช้งานเซิร์ฟเวอร์ VNC ก่อนจึงจะสามารถใช้งานได้: คำแนะนำสำหรับการดำเนินการนี้แสดงไว้ด้านล่าง ตามค่าเริ่มต้น VNC Server ช่วยให้คุณเข้าถึงเดสก์ท็อปกราฟิกที่ทำงานบน Raspberry Pi ได้จากระยะไกล ราวกับว่าคุณกำลังนั่งอยู่หน้าเดสก์ท็อป

การเปิดใช้งานเซิร์ฟเวอร์ VNC

บน Raspberry Pi ของคุณ ให้รันคำสั่งต่อไปนี้เพื่อให้แน่ใจว่าคุณมี VNC Connect เวอร์ชันล่าสุด:

sudo apt-get update

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

ตอนนี้เปิดใช้งานเซิร์ฟเวอร์ VNC คุณสามารถทำได้แบบกราฟิกหรือที่บรรทัดคำสั่ง

เปิดใช้งานเซิร์ฟเวอร์ VNC แบบกราฟิก

บน Raspberry Pi ของคุณ ให้บูตเข้าสู่เดสก์ท็อปแบบกราฟิก

เลือก เมนู > ค่ากำหนด > การกำหนดค่า Raspberry Pi > อินเทอร์เฟซ

ตรวจสอบให้แน่ใจว่าเปิดใช้งาน VNC แล้ว การเปิดใช้งาน VNC Server ที่บรรทัดคำสั่ง

คุณสามารถเปิดใช้งานเซิร์ฟเวอร์ VNC ที่บรรทัดคำสั่งโดยใช้ raspi-config:

sudo raspi-config

ตอนนี้ เปิดใช้งาน VNC Server โดยทำสิ่งต่อไปนี้:

นำทางไปยังตัวเลือกการเชื่อมต่อ

เลื่อนลงและเลือก VNC > ใช่ การเชื่อมต่อกับ Raspberry Pi ของคุณด้วย VNC Viewer

มีสองวิธีในการเชื่อมต่อกับ Raspberry Pi ของคุณ คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสองอย่าง ขึ้นอยู่กับสิ่งที่ดีที่สุดสำหรับคุณ

การสร้างการเชื่อมต่อโดยตรง

การเชื่อมต่อโดยตรงนั้นรวดเร็วและง่ายดาย โดยให้คุณเข้าร่วมเครือข่ายท้องถิ่นส่วนตัวเดียวกันกับ Raspberry Pi ของคุณ ตัวอย่างเช่น นี่อาจเป็นเครือข่ายแบบมีสายหรือไร้สายที่บ้าน ที่โรงเรียน หรือในสำนักงาน)

บน Raspberry Pi ของคุณ (โดยใช้หน้าต่างเทอร์มินัลหรือผ่าน SSH) ให้ใช้คำแนะนำเหล่านี้หรือเรียกใช้ ifconfig เพื่อค้นหาที่อยู่ IP ส่วนตัวของคุณ

ifconfig

บนอุปกรณ์ที่คุณจะใช้เพื่อควบคุม ให้ดาวน์โหลด VNC Viewer เพื่อผลลัพธ์ที่ดีที่สุด ให้ใช้แอพที่เข้ากันได้จาก RealVNC

ป้อนที่อยู่ IP ส่วนตัวของ Raspberry Pi ลงใน VNC Viewer:

กำลังสร้างการเชื่อมต่อระบบคลาวด์

คุณมีสิทธิ์ใช้บริการคลาวด์ของ RealVNC ได้ฟรี โดยมีเงื่อนไขว่าการเข้าถึงระยะไกลนั้นมีวัตถุประสงค์เพื่อการศึกษาหรือไม่ใช่เชิงพาณิชย์เท่านั้น

การเชื่อมต่อบนคลาวด์นั้นสะดวกและเข้ารหัสตั้งแต่ต้นทางถึงปลายทาง ขอแนะนำเป็นอย่างยิ่งสำหรับการเชื่อมต่อกับ Raspberry Pi ของคุณผ่านทางอินเทอร์เน็ต ไม่มีไฟร์วอลล์หรือการกำหนดค่าเราเตอร์ใหม่ และคุณไม่จำเป็นต้องทราบที่อยู่ IP ของ Raspberry Pi หรือระบุที่อยู่คงที่

ลงทะเบียนสำหรับบัญชี RealVNC ที่นี่: ฟรีและใช้เวลาเพียงไม่กี่วินาที

บน Raspberry Pi ของคุณ ลงชื่อเข้าใช้เซิร์ฟเวอร์ VNC โดยใช้ข้อมูลรับรองบัญชี RealVNC ใหม่ของคุณ:

บนอุปกรณ์ที่คุณจะใช้เพื่อควบคุม ให้ดาวน์โหลด VNC Viewer คุณต้องใช้แอพที่เข้ากันได้จาก RealVNC

ลงชื่อเข้าใช้ VNC Viewer โดยใช้ข้อมูลบัญชี RealVNC เดียวกัน จากนั้นแตะหรือคลิกเพื่อเชื่อมต่อกับ Raspberry Pi ของคุณ:

กำลังตรวจสอบกับเซิร์ฟเวอร์ VNC

หากต้องการเชื่อมต่อโดยตรงหรือผ่านระบบคลาวด์ คุณต้องรับรองความถูกต้องกับเซิร์ฟเวอร์ VNC

หากคุณกำลังเชื่อมต่อจากแอป VNC Viewer ที่เข้ากันได้จาก RealVNC ให้ป้อนชื่อผู้ใช้และรหัสผ่านที่คุณใช้ตามปกติเพื่อเข้าสู่ระบบบัญชีผู้ใช้ของคุณใน Raspberry Pi โดยค่าเริ่มต้น ข้อมูลประจำตัวเหล่านี้คือ pi และราสเบอร์รี่

หากคุณกำลังเชื่อมต่อจากแอปที่ไม่ใช่ RealVNC Viewer คุณจะต้องดาวน์เกรดรูปแบบการรับรองความถูกต้องของเซิร์ฟเวอร์ VNC ก่อน ระบุรหัสผ่านเฉพาะสำหรับเซิร์ฟเวอร์ VNC แล้วป้อนรหัสผ่านนั้นแทน ในการดำเนินการนี้ ให้เปิดกล่องโต้ตอบ VNC Server บน Raspberry Pi ของคุณ

เลือก เมนู > ตัวเลือก > ความปลอดภัย, และเลือกรหัสผ่าน VNC จากการตรวจสอบ

ในการเปิดคุณสมบัตินี้:

บน Raspberry Pi ของคุณ ให้เปิดกล่องโต้ตอบ VNC Server

ไปที่ Menu > Options > Troubleshooting และเลือก Enable Experimental direct capture mode

บนอุปกรณ์ที่คุณจะใช้เพื่อควบคุม ให้เรียกใช้ VNC Viewer และเชื่อมต่อ

หมายเหตุ: ต้องเริ่มต้นการเชื่อมต่อที่มีอยู่ใหม่เพื่อให้การเปลี่ยนแปลงเหล่านี้มีผล

หากประสิทธิภาพการทำงานลดลง ให้ลองทำตามขั้นตอนการแก้ปัญหาเหล่านี้ หรือแจ้งให้ RealVNC ทราบ

การสร้างเดสก์ท็อปเสมือน

หาก Raspberry Pi ของคุณไม่มีหัว (เช่น ไม่ได้เสียบเข้ากับจอภาพ) หรือควบคุมหุ่นยนต์ ก็ไม่น่าจะใช้งานเดสก์ท็อปแบบกราฟิกได้

VNC Server สามารถสร้างเดสก์ท็อปเสมือนให้กับคุณได้ ทำให้คุณสามารถเข้าถึงกราฟิกจากระยะไกลได้ตามต้องการ เดสก์ท็อปเสมือนนี้มีอยู่ในหน่วยความจำของ Raspberry Pi เท่านั้น:

ในการสร้างและเชื่อมต่อกับเดสก์ท็อปเสมือน:

บน Raspberry Pi ของคุณ (โดยใช้ Terminal หรือผ่าน SSH) ให้เรียกใช้เซิร์ฟเวอร์ vnc จดบันทึกที่อยู่ IP/หมายเลขที่แสดงที่ VNC Server จะพิมพ์ไปยังเทอร์มินัลของคุณ (เช่น 192.167.**.**)

บนอุปกรณ์ที่คุณจะใช้เพื่อควบคุม ป้อนข้อมูลนี้ลงใน VNC Viewer หากต้องการทำลายเดสก์ท็อปเสมือน ให้รันคำสั่งต่อไปนี้:

vncserver -kill:

การดำเนินการนี้จะหยุดการเชื่อมต่อที่มีอยู่ไปยังเดสก์ท็อปเสมือนนี้ด้วย

ขั้นตอนที่ 4: การกำหนดค่ากล้อง

การกำหนดค่ากล้อง
การกำหนดค่ากล้อง

การตั้งค่าฮาร์ดแวร์กล้อง

คำเตือน: กล้องมีความไวต่อไฟฟ้าสถิต Earth ตัวเองก่อนที่จะจัดการกับ PCB ก๊อกอ่างล้างหน้าหรือที่คล้ายกันก็เพียงพอแล้วหากคุณไม่มีสายดิน

บอร์ดกล้องติดกับ Raspberry Pi ผ่านสายแพ 15 ทาง มีการเชื่อมต่อเพียงสองแบบเท่านั้น: ต้องต่อสายริบบิ้นเข้ากับ PCB ของกล้องและกับ Raspberry Pi คุณต้องเดินสายให้ถูกทาง มิฉะนั้น กล้องจะไม่ทำงาน บน PCB ของกล้อง แผ่นรองสีน้ำเงินบนสายเคเบิลควรหันออกจาก PCB และบน Raspberry Pi ควรหันไปทางการเชื่อมต่ออีเทอร์เน็ต (หรือตำแหน่งที่ขั้วต่ออีเทอร์เน็ตจะอยู่หากคุณใช้รุ่น A)

แม้ว่าตัวเชื่อมต่อบน PCB และ Pi จะแตกต่างกัน แต่ก็ทำงานในลักษณะเดียวกัน บน Raspberry Pi ให้ดึงแท็บที่ปลายแต่ละด้านของตัวเชื่อมต่อ ควรเลื่อนขึ้นได้ง่ายและสามารถหมุนได้เล็กน้อย สอดสายแพลงในช่องเสียบจนสุด โดยตรวจดูให้แน่ใจว่าได้ตั้งตรง จากนั้นค่อย ๆ กดแถบลงเพื่อหนีบเข้าที่ นอกจากนี้ ขั้วต่อ PCB ของกล้องยังกำหนดให้คุณต้องดึงแถบออกจากบอร์ด ค่อยๆ เสียบสายเคเบิล จากนั้นดันแถบกลับ ตัวเชื่อมต่อ PCB อาจดูอึดอัดกว่าตัวเชื่อมต่อ Pi เล็กน้อย

การตั้งค่าซอฟต์แวร์กล้อง

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

sudo apt-get update

sudo apt-get อัพเกรด

ตอนนี้คุณต้องเปิดใช้งานการสนับสนุนกล้องโดยใช้ปุ่ม

raspi-config

โปรแกรมที่คุณจะใช้เมื่อตั้งค่า Raspberry Pi เป็นครั้งแรก

sudo raspi-config

ใช้ปุ่มเคอร์เซอร์เพื่อย้ายไปยังตัวเลือกกล้อง และเลือก 'เปิดใช้งาน' เมื่อออกจาก raspi-config ระบบจะขอให้รีบูต ตัวเลือกการเปิดใช้งานจะช่วยให้มั่นใจได้ว่าเมื่อรีบูตเฟิร์มแวร์ GPU ที่ถูกต้องจะทำงานพร้อมกับไดรเวอร์กล้องและการปรับแต่ง และการแยกหน่วยความจำ GPU ก็เพียงพอที่จะทำให้กล้องได้รับหน่วยความจำเพียงพอที่จะทำงานได้อย่างถูกต้อง

หากไม่ได้เปิดใช้งาน ให้เปิดใช้งานและรีบูต Pi เพื่อเริ่มต้น

เพื่อทดสอบว่าระบบได้รับการติดตั้งและใช้งานได้ ให้ลองใช้คำสั่งต่อไปนี้:

raspistill -v -o test.jpg

จอแสดงผลควรแสดงตัวอย่างห้าวินาทีจากกล้องแล้วถ่ายภาพ บันทึกลงในไฟล์ test-j.webp

รัสปิวิด

Raspivid เป็นเครื่องมือบรรทัดคำสั่งสำหรับการจับภาพวิดีโอด้วยโมดูลกล้อง

เมื่อเชื่อมต่อและเปิดใช้งานโมดูลกล้องแล้ว ให้บันทึกวิดีโอโดยใช้คำสั่งต่อไปนี้:

raspivid -o vid.h264

อย่าลืมใช้

-hf

และ

-vf

เพื่อพลิกภาพถ้าจำเป็นเช่นกับ

ราสปิสติล

การดำเนินการนี้จะบันทึกไฟล์วิดีโอความยาว 5 วินาทีไปยังเส้นทางที่ระบุในที่นี้เป็น vid.h264 (ระยะเวลาเริ่มต้น)

ระบุความยาวของวิดีโอ

ในการระบุความยาวของวิดีโอที่ถ่าย ให้ส่งผ่านแฟล็ก -t ด้วยจำนวนมิลลิวินาที ตัวอย่างเช่น:

raspivid -o video.h264 -t 10000

การดำเนินการนี้จะบันทึกวิดีโอ 10 วินาที

รูปแบบวิดีโอ MP4

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

ราสปิวิด

คำสั่งใช้ MP4Box

ติดตั้ง MP4Box ด้วยคำสั่งนี้:

sudo apt-get install -y gpac

จับภาพวิดีโอดิบของคุณด้วย raspivid แล้วรวมไว้ในคอนเทนเนอร์ MP4 ดังนี้:

# จับภาพวิดีโอดิบ 30 วินาทีที่อัตราบิต 640x480 และ 150kB/s ลงในไฟล์ pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # ตัดวิดีโอดิบด้วยคอนเทนเนอร์ MP4 MP4Box - เพิ่ม pivideo.h264 pivideo.mp4 # ลบ ไฟล์ดิบต้นทางปล่อยให้ไฟล์ pivideo.mp4 ที่เหลือเล่น rm pivideo.h264

อีกวิธีหนึ่ง ห่อ MP4 รอบเอาต์พุต raspivid ที่คุณมีอยู่ ดังนี้:

MP4Box -add video.h264 video.mp4

ขั้นตอนที่ 5: การติดตั้งและกำหนดค่า

ทำตามคำแนะนำเหล่านี้เฉพาะเมื่อคุณต้องการคอมไพล์ซอฟต์แวร์ของคุณตั้งแต่เริ่มต้น ขั้นตอนด้านล่างเหล่านี้จำเป็นและแนะนำเช่นเดียวกับขั้นตอนการติดตั้งบน Raspberry pi ของคุณ

การติดตั้งการพึ่งพา

การติดตั้ง Sphinxbase/Pocketsphinx

ขั้นแรก คุณต้องติดตั้ง Pocketsphinx หากคุณใช้ Debian Sid (ไม่เสถียร) หรือ Jessie (กำลังทดสอบ) คุณสามารถทำได้ดังนี้

sudo apt-get update

sudo apt-get ติดตั้ง pocketsphinx

เริ่มต้นด้วยการติดตั้งการพึ่งพาบางอย่าง:

sudo apt-get install subversion autoconf libtool automake gfortran g++ --ใช่

ถัดไป ย้ายไปยังไดเร็กทอรีบ้านของคุณ (หรือ Jasper) เพื่อตรวจสอบและติดตั้ง CMUCLCMTK:

svn co

cd cmucmtk/

./autogen.sh && make && sudo make install

ซีดี..

จากนั้น เมื่อคุณออกจากไดเร็กทอรี CMULTK ให้ดาวน์โหลดไลบรารีต่อไปนี้:

การติดตั้ง Phonetisaurus, m2m-aligner และ MITLM

ในการใช้เครื่องมือ Pocketsphinx STT คุณต้องติดตั้ง MIT Language Modeling Toolkit, m2m-aligner และ Phonetisaurus (และด้วยเหตุนี้ OpenFST)

หากคุณไม่ได้ใช้ Debian ให้ทำตามขั้นตอนเหล่านี้:

#-ต้นฉบับ:

# wget

#-ใหม่:

wget

wget

wget

wget

Untar การดาวน์โหลด:

tar -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-conversion.tgz

tar -xvf mitlm-0.4.1.tar.gz

สร้าง OpenFST:

ซีดี openfst-1.3.4/

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

เวลา sudo ทำการติดตั้ง # กลับมาอีกครั้งหลังจากใช้เวลานานมาก

ซีดี..

จริง 66m38.394s

ผู้ใช้ 64m42.620s

sys 1m2.150s

df -h /

ขนาดระบบไฟล์ที่ใช้ ความพร้อมใช้งาน % ติดตั้งบน /dev/root 14G 4.4G 8.3G 35% /

สร้าง M2M:

cd m2m-aligner-1.2/

sudo make

ซีดี..

สร้าง MITLMT:

cd mitlm-0.4.1/

sudo./configure

sudo ทำการติดตั้ง

ซีดี..

สร้าง Phonetisaurus:

cd is2013-conversion/phonetisaurus/src

sudo make

ซีดี

ย้ายไฟล์ที่คอมไพล์แล้ว:

sudo cp ~/m2m-aligner-1.2/m2m-aligner /usr/local/bin/m2m-aligner

#-ต้นฉบับ:

# sudo cp ~/phonetisaurus-0.7.8/phonetisaurus-g2p /usr/local/bin/phonetisaurus-g2p

#-จำเป็นต้อง:

sudo cp ~/is2013-conversion/bin/phonetisaurus-g2p /usr/local/bin/phonetisaurus-g2p

สังเกตเส้นทางที่เปลี่ยนแปลงสำหรับปฏิบัติการ

รับและสร้างโมเดล Phonetisaurus FST

wget

tar -xvf g014b2b.tgz

ซีดี g014b2b/

./compile-fst.sh

ซีดี..

สุดท้าย เปลี่ยนชื่อโฟลเดอร์ต่อไปนี้เพื่อความสะดวก:

mv ~/g014b2b ~/phonetisaurus

เมื่อการติดตั้งเสร็จสิ้น ให้รีสตาร์ท Pi ของคุณ

ทำตามคำแนะนำจาก

ฉันยังเพิ่มไฟล์ (ใหม่) `/etc/modprobe.d/alsa-base.conf` ด้วยเนื้อหานี้:

# สิ่งนี้ตั้งค่าดัชนีของการ์ดแต่ไม่เรียงลำดับใหม่

ตัวเลือก snd_usb_audio index=0

ตัวเลือก snd_bcm2835 index=1

#สั่งรีออร์เดอร์ไหมค่ะ.

ตัวเลือก snd slots=snd_usb_audio, snd_bcm2835

เพื่อให้แน่ใจว่ามีการสั่งซื้ออุปกรณ์เสียงอย่างเหมาะสม (แต่ไม่แน่ใจว่าจำเป็นจริงๆ)

เสร็จสิ้นการติดตั้ง - การดีบักบางอย่างต่อไป …

กำลังพยายามเริ่มแจสเปอร์:

pi@AVIV:~ $./jasper/jasper.py

Traceback (การโทรล่าสุดล่าสุด):

ไฟล์ "./jasper/jasper.py" บรรทัดที่ 12 จากไคลเอนต์นำเข้า tts, stt, jasperpath วินิจฉัยไฟล์ "/home/pi/jasper/client/tts.py" บรรทัดที่ 41 ในไฟล์วินิจฉัยการนำเข้า "/ home/pi/jasper/client/diagnose.py" บรรทัดที่ 9 ในไฟล์นำเข้า pip.req "/usr/lib/python2.7/dist-packages/pip/_init_.py" บรรทัดที่ 74 จาก pip vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py" บรรทัดที่ 9 ในจาก pip.download ไฟล์นำเข้า path_to_url "/usr/ lib/python2.7/dist-packages/pip/download.py" บรรทัดที่ 25 ในจากการร้องขอ.compat การนำเข้า IncompleteRead ImportError: ไม่สามารถนำเข้าชื่อ IncompleteRead

แก้ไขด้วย:

sudo easy_install -U pip

ฉบับต่อไป:

pi@AVIV:~ $./jasper/jasper.py

*******************************************************

* JASPER - คอมพิวเตอร์พูดได้ * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ERROR:root:Errorเกิดขึ้น! Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "./jasper/jasper.py" บรรทัดที่ 143 ในแอป = Jasper()ไฟล์ "./jasper/jasper.py" บรรทัดที่ 88 ใน _init_ stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) ไฟล์ "/home/pi/jasper/client/stt.py" บรรทัดที่ 648 ใน get_engine_by_slug"dependencies ฯลฯ)") % slug)

ValueError: เอ็นจิ้น STT 'สฟิงซ์' ไม่พร้อมใช้งาน (เนื่องจากการพึ่งพาที่ขาดหายไป การพึ่งพาที่ขาดหายไป ฯลฯ)

การพยายาม

sudo apt-get install -y python-pocketsphinx

แก้ไขเส้นทางไปยัง `../phonetisaurus/g014b2b.fst` ให้เป็น `/home/pi/phonetisaurus/g014b2b.fst` แทน (ใน `.jasper/profile.yml`)

pi@AVIV:~ $./jasper/jasper.py

*******************************************************

* JASPER - คอมพิวเตอร์พูดได้ * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ข้อผิดพลาด:client.stt:hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k ' ไม่ได้อยู่! โปรดตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า hmm_dir ที่ถูกต้องในโปรไฟล์ของคุณ

แก้ไข/เปิดใช้งานเส้นทางสำหรับสิ่งนี้ใน `profile.yml` เช่นกัน:

hmm_dir: '/usr/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' #ทางเลือก

(โปรดทราบว่าไม่มี "ท้องถิ่น" ในเส้นทาง)

ความสำเร็จบางส่วน --:

pi@AVIV:~ $./jasper/jasper.py

*******************************************************

* JASPER - คอมพิวเตอร์พูดได้ * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) การ์ด PCM ที่ไม่รู้จัก.pcm.rear ALSA lib pcm.c: 2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.hdd pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open PC_noupdate.pcm) ไม่รู้จัก.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) การ์ด PCM ที่ไม่รู้จัก.pcm.phoneline ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) การ์ด PCM ที่ไม่รู้จัก.pcm.phoneline ALSA lib pulse.c:243:(pulse_connect) PulseAudio: ไม่สามารถเชื่อมต่อ: การเชื่อมต่อถูกปฏิเสธ ALSA lib pulse.c:243:(pulse_connect) PulseAudio: ไม่สามารถเชื่อมต่อ: การเชื่อมต่อถูกปฏิเสธ ไม่สามารถเชื่อมต่อเพื่อให้บริการ r socket err = ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว ไม่สามารถเชื่อมต่อกับคำขอเซิร์ฟเวอร์ แจ็คช่องสัญญาณ เซิร์ฟเวอร์ไม่ทำงานหรือไม่สามารถเริ่ม Expression 'paInvalidSampleRate' ล้มเหลวใน 'src/hostapi/alsa/pa_linux_alsa.c' บรรทัด: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure(&self) ->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr)' ล้มเหลวใน 'src/hostapi/alsa/pa_linux_alsa.c', บรรทัด: 2719 Expression 'PaAlsaStream_Configure(stream, inputParameters, outputParameters, sampleRate &inputLaputLaputency,, &hostBufferSizeMode)' ล้มเหลวใน 'src/hostapi/alsa/pa_linux_alsa.c' บรรทัด: 2843 Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "./jasper/jasper.py" บรรทัดที่ 148 ในไฟล์ app.run() "./jasper/jasper.py" บรรทัดที่ 118 กำลังเรียกใช้ไฟล์ conversation.handleForever() "/home/pi/jasper/client/conversation.py" บรรทัดที่ 31 ในเกณฑ์ handleForever ถอดเสียง = self.mic.passiveListen (self.persona) ไฟล์ "/home/pi/jasper/client/mic.py" บรรทัดที่ 110 ใน passiveListen frames_per_buffer=CHUNK) ไฟล์ "/usr/lib/python2.7/dist-packages/pyaudio.py" บรรทัดที่ 747 ใน open stream = Stream(self, *args, **kwargs) File "/usr/lib/python2.7/dist -packages/pyaudio.py" บรรทัดที่ 442 ใน _init_ self._stream = pa.open(**arguments) IOError: [Errno Invalid sample rate] -9997

ตกลง การแก้ไข RATE และ CHUNK แบบนี้ดูเหมือนว่าจะไปได้ไกลกว่านี้:

diff --git a/client/mic.py b/client/mic.py

ดัชนี 401cddb..dee49fe 100644

--- a/client/mic.py

+++ b/client/mic.py

@@ -93, 8 +93, 8 @@ คลาสไมค์:

"""

THRESHOLD_MULTIPLIER = 1.8

- อัตรา = 16000

- CHUNK = 1024

+ อัตรา = 44100 # 16000

+ CHUNK = 4096 # 1024

# จำนวนวินาทีที่อนุญาตให้สร้างเกณฑ์

THRESHOLD_TIME = 1

ขั้นตอนที่ 6: ภาพหน้าจอ OUTPUT

แนะนำ: