เริ่มใช้งานกล้อง e-CAM20_CURB สำหรับ Raspberry Pi 4

กล้อง e-con Systems e-CAM20_CURB เป็นกล้องถ่ายภาพสี 2.3 MP แบบ fixed focus และ Global shutter  ที่ออกแบบมาสำหรับ Raspberry Pi 4 และบริษัทได้ส่งตัวอย่างมาให้เราเพื่อประเมินและรีวิว เราจะเริ่มต้นด้วยกาให้ขอมูลสเปค จากนั้นตรวจสอบเนื้อหาในแพ็คเกจ เชื่อมต่อกล้องกับ Raspberry Pi 4 โดยใช้ขาตั้ง DIY LEGO แสดงวิธีเข้าถึงทรัพยากรสำหรับกล้อง และลองใช้เครื่องมือที่มีให้ใน Raspberry Pi OS หรือ Yocto Linux image

สเปคของ e-CAM20_CURB

กล้องประกอบด้วยสองบอร์ดที่มีคุณสมบัติดังต่อไปนี้:

  • eCAM217_CUMI0234_MOD กล้องสี full HD พร้อมอินเทอร์เฟซ 4-lane MIPI CSI-2
    • ON Semiconductor AR0234CS เซนเซอร์ภาพ CMOS ที่มีฟอร์มแฟกเตอร์ขนาด 1/2.6 นิ้ว
    • Global shutter (คือการการที่เซนเซอร์จะเก็บข้อมูลภาพของทุกพิกเซลพร้อม ๆ กัน)
    • Onboard เซ็นเซอร์ภาพ ISP จาก ON Semiconductor
    • สตรีมมิ่ง UYVY แบบไม่บีบอัด
      • HD (1280 x 720) สูงสุด 120 เฟรมต่อวินาที
      • Full HD (1920 x 1080) สูงสุด 65 fps
      • 2.3 MP (1920 x 1200) สูงสุด 60 fps
    • อินพุตทริกเกอร์ฮาร์ดแวร์ภายนอก
  • อะแดปเตอร์ ACC-XVRNX-MIPICAMERA พร้อมขั้วต่อ FFC 15 พินสำหรับเชื่อมต่อกับ Raspberry Pi
  • ขนาด – 30 x 30 มม. (ความสูงขึ้นอยู่กับเลนส์และการปรับโฟกัส)
  • ช่วงอุณหภูมิ – -30 °C ถึง 70 °C
  • การปฏิบัติตาม – FCC และ RoHS

บริษัทให้บริการภาพทั้ง Yocto และ Raspbian / Raspberry Pi OS 32 บิต พร้อมไดรเวอร์กล้อง V4L2 Linux และเครื่องมือ Gstreamer

แกะกล่องกล้อง e-CAM20_CURB

ในตอนแรกฉันคิดว่าฉันได้รับพัสดุผิด เพราะได้กล่องกล้อง See3CAM USB 3.0

แต่ไม่ต้องกังวลไป เพราะ e-con Systems ใช้แพ็คเกจมาตรฐานที่มีสติ๊กเกอร์ “e-CAM20_CURB_H01R1” เพื่อยืนยันว่าฉันได้รับกล้องรุ่นที่ถูกต้อง

เราจะพบกล้องในถุงป้องกันไฟฟ้าสถิตย์และสายเคเบิล FPC ขนาด 15 ซม. สำหรับเชื่อมต่อกับ Raspberry Pi นอกจากนี้ เราจะพบกระดาษสีแดงติดด้านบนที่มีหมายเลข SO (ใบสั่งขาย) ที่เราจะจะใช้ถึงเอกสารประกอบและอิมเมจ OS

เลนส์ของกล้องปกป้องด้วยฝาครอบ ซึ่งฉันถอดออกตามภาพถ่ายด้านล่าง

การเชื่อมต่อ Raspberry Pi และติดตั้งตัวต่อ DIY LEGO

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

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

เนื่องจากกล้องจะต่ำเกินไปเมื่อวางบนโต๊ะและไม่สะดวกในการทดสอบ ฉันจึงต้องหาวิธีการติดตั้งแบบ DIY ปรากฎว่าระยะห่างระหว่างตัวเว้นระยะบนกล้องนั้นเหมาะสำหรับตัวต่อ LEGO พอดี ดังนั้นจึงง่ายต่อการสร้างตัวยึด และกล้องก็ติดแน่นกับฐานของมัน

เราต้องหาธีมที่มีสีสันด้วยเลโก้และรถบรรทุกขยะเพิ่มเติม…

เข้าถึงเอกสาร e-CAM20_CURB, Raspberry Pi OS และ Yocto อิมเมจ

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

ในขั้นตอนนี้ เราจะต้องใส่ SO# ของคุณที่จากกระดาษสีแดงที่เราพบตอนเปิดกล่อง

และผลิตภัณฑ์จะได้รับการลงทะเบียนอย่างเป็นทางการบนเว็บไซต์ e-Con Systems

เราจะได้รับลิงค์ FTP พร้อมข้อมูลประจำตัว (ชื่อผู้ใช้และรหัสผ่าน) ครั้งแรกที่ฉันพยายามไปที่เซิร์ฟเวอร์ FTP โดยตรงใน Firefox แต่ฉันไม่เจอหน้าขอข้อมูลประจำตัวและเป็นหน้าว่าง ดังนั้นฉันจึงใช้ Filezilla เพื่อดาวน์โหลดไฟล์แทน

ฉันได้รับแจ้งเกี่ยวกับปัญหาบางอย่างเกี่ยวกับใบรับรอง SSL แต่ไม่มีปัญหา ฉันยังดาวน์โหลดไฟล์ทั้งหมดสำหรับกล้องได้:

บริษัทได้จัดเตรียมไบนารีที่สร้างไว้ล่วงหน้าด้วยอิมเมจ Yocto และ Raspbian, patchsets และ meta laye ในกรณีที่คุณต้องการสร้างอิมเมจด้วยตัวเอง รวมถึงเอกสารประกอบที่มีเอกสารข้อมูลสำหรับกล้องและส่วนประกอบหลัก คู่มือเริ่มต้นใช้งาน และ คู่มือนักพัฒนาอธิบายวิธีสร้างโค้ดจากแหล่งที่มาและปรับแต่งอิมเมจ

ทดสอบกล้อง e-CAM20_CURB บน Raspberry Pi 4 โดยใช้ Yocto

ฉันจะใช้ข้อมูลจากคู่มือเริ่มต้นใช้งานเป็นหลัก ตอนแรกฉันตัดสินใจใช้อิมเมจ “Raspbian” และ แฟลช ด้วย USBImager แต่การบูตไม่ทำงานอย่างที่คาดไว้เนื่องจากเเกิดปัญหาคอร์เนลแพนิค (Kernel panic)

ฉันลองใช้แฟลชอิมเมจ OS อีกครั้ง แต่ครั้งที่สองฉันพบแต่หน้าจอสีดำ บริษัทไม่ได้ให้ MD5 checksums สำหรับอิมเมจ ดังนั้นฉันจึงไม่สามารถตรวจสอบได้อย่างง่ายดายว่ามีปัญหาระหว่างการดาวน์โหลดหรือไม่ หรือหากเป็นไปได้ อาจเป็นเพราะ microSD card ของฉัน ( อีกครั้ง) มีปัญหา ดังนั้นฉันจึงเลือกใช้อิมเมจ Yocto ที่เล็กกว่าซึ่งใช้งานได้ดีและมาพร้อมกับเครื่องมือแบบเดียวกับอิมเมจ Raspbian

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

ไอคอนที่มุมขวาบนช่วยให้คุณเข้าถึงหน้าต่างการตั้งค่า ซึ่งเป็นประโยชน์อย่างมากในการกำหนดค่า WiFi หากคุณไม่ได้ใช้อีเธอร์เน็ตกับ DHCP
หมายเหตุ: คุณสามารถถ่ายภาพหน้าจอตามที่แสดงบน Yocto ได้ดังนี้:


คุณจะพบ 2 สคริปต์ในรูทไดเรกทอรี (Root directory):

  • gst_1080_stream.shใช้เพื่อแสดงเอาต์พุตของกล้องที่ 1920×1080 บนจอหน้าที่เชื่อมต่อกับ Raspberry Pi
  • gst_1080_record.shใช้เพื่อบันทึกวิดีโอ Full HD ลงใน microSD card

ทั้ง 2 เรียกคำสั่ง Gstreamers เนื้อหาของ gst_1080_stream.sh :


และของ gst_1080_record.sh :


เรียกใช้ gst_1080_stream.sh ก่อน

เอาต์พุตของกล้องแสดงขึ้นบนหน้าจอ HDMI ของฉันแทบจะในทันที ฉันแค่ต้องปรับโฟกัสแบบด้วยตนเอง (manually)เพื่อให้ได้ภาพที่ค่อนข้างชัดเจน

หมายเหตุเอกสารกำหนด:

การดำเนินการไปป์ไลน์ GStreamer ด้านบนควรดำเนินการจากเทอร์มินัลใน Raspberry pi GUI ไม่ใช่จากเทอร์มินัล UART (picocom หรือ minicom) ของ Host PC

ดังนั้นฉันจึงตรวจสอบจากเทอร์มินัลในหน้าจอที่เชื่อมต่อกับ Raspberry Pi แต่ในที่สุดฉันก็ค้นพบว่าสามารถเรียกใช้โปรแกรมทั้งหมดจากเทอร์มินัล SSH โดยเพียงแค่ส่งออกหน้าจอแสดงผลก่อน:


เอาต์พุตจากสคริปต์สำหรับอ้างอิง:

เราสามารถกด Control+C เพื่อหยุดแอปในเทอร์มินัลได้ ลองทำเช่นเดียวกันกับสคริปต์ “บันทึก” คราวนี้เอาต์พุตของกล้องไม่ปรากฏบนหน้าจอแสดงผล และสิ่งที่เราได้รับคือข้อมูลในเทอร์มินัล:

ฉันกด Control+C เพื่อหยุดการบันทึกและได้รับไฟล์ 1080p_recording.h264 ซึ่งฉันโอนไปยัง PC ผ่าน SSH เพื่อยืนยันว่าเป็นไฟล์ AVI ที่มีวิดีโอขนาด 1920 × 1080 @ 30 fps ที่เข้ารหัสด้วย H.264:

ฉันได้อัปโหลดตัวอย่างไปยัง YouTube เพื่อใช้อ้างอิง:

การถ่ายทำในเวลากลางคืน วิดีโอมีความลื่นไหลแต่มีภาพไม่ค่อยชัด

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

เครื่องมือ gst-launch-1.0 นั้นทรงพลังและหลากหลาย แต่ถ้าคุณถามฉัน บรรทัดคำสั่งที่ใช้พารามิเตอร์นั้นไม่ง่ายและจำเป็นต้องเรียนรู้ที่จะเข้าใจอย่างถ่องแท้ และควรมีไฟล์ชื่อ “CAM20_CURB_GStreamer_Usage_Guide_<VER> .pdf” ที่อธิบายรายละเอียดนี้ซึ่งไม่มีอยู่ในเซิร์ฟเวอร์ FTP แต่สามารถถามได้จาก e-Con Systems แต่โชคดีที่รูปภาพของ Yocto และ Raspbian ยังมาพร้อมกับเครื่องมือ Gstreamer อีกอย่างคือ gst-capture ซึ่งให้คุณทดสอบกล้องได้นาน พารามิเตอร์ time String ก่อนอื่นเราต้องเลือกอุปกรณ์ video0:


หลังจากนั้น เราจะสามารถสลับไปมาระหว่างโหมดถ่ายภาพนิ่งหรือโหมดสตรีม (วิดีโอ) และที่สำคัญกว่านั้นคือการเข้าถึงรายการฟังก์ชั่นจำนวนมากเพื่อควบคุมกล้องโดยละเอียด


ฉันลองด้วยตัวเองมาแล้ว แต่การดำเนินการทั้งหมดนั้นอยู่นอกเหนือขอบเขตของคู่มือทบทวน/คู่มือเริ่มต้นนี้ ดังนั้นฉันจะแสดงวิธีปรับความสว่างเป็นตัวอย่าง:


คุณยังสามารถดูวิดีโอด้านล่างเพื่อสาธิตสั้นๆ ด้วยสคริปต์และโปรแกรม gst-capture:

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


ฉันคิดเกี่ยวกับเรื่องนี้ในตอนท้ายของการทบทวนเท่านั้น มันควรจะถูกเพิ่มเข้าไปในเอกสาร e-Con Systems…

นอกจากปัญหาเล็กน้อยที่ฉันมีในตอนเริ่มต้นเกี่ยวกับอิมเมจ OS แล้ว ฉันยังได้รับประสบการณ์ที่ค่อนข้างดีกับกล้องซึ่งทำงานได้ดีกับอัตราเฟรมที่สูงในทุกสภาพแสงด้วย global shutter กล้องยังค่อนข้างใช้งานง่าย พร้อมเอกสารประกอบที่ดี และซอร์สโค้ดมีให้สำหรับผู้ที่ต้องการปรับแต่งระบบปฏิบัติการ ฉันขอขอบคุณ e-Con Systems ที่ส่งกล้อง e-CAM20_CURB แบบ Global shutter สำหรับ Raspberry Pi 4 มาให้รีวิว หากคุณสนใจ บริษัทขายในราคา $99 (~3,500฿) รวมค่าส่ง

แปลจากบทความภาษาอังกฤษ : Getting started with e-CAM20_CURB camera for Raspberry Pi 4

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

โฆษณา
โฆษณา