เริ่มใช้งานกล้อง 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

See3CAM USB 3.0 camera

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

e CAM20 CURB H01R1

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

e con systems SO number

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

e CAM20 CURB flat cable

e CAM20 CURB Raspberry Pi 4 camera

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

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

Raspberry Pi 4 e CAM20 CURB camera

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

e CAM20 CURB LEGO mount

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

e con systems Raspberry Pi 4 camera LEGO scene

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

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

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

developer econsystems.com

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

e con Systems add product

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

e CAM20 Curb documentation

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

e con systems unknown certificate

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

e CAM20 CURB documentation

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

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

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

e con systems camera kernel panic

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

e consystems Yocto Image dashboard

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

yocto wifi configuration

ไอคอนที่มุมขวาบนช่วยให้คุณเข้าถึงหน้าต่างการตั้งค่า ซึ่งเป็นประโยชน์อย่างมากในการกำหนดค่า 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 ก่อน

eCAM20 CURB night scene

เอาต์พุตของกล้องแสดงขึ้นบนหน้าจอ 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 และส่งออกหน้าจอแสดงผลก่อนที่จะเรียกใช้คำสั่ง:


gst capture raspberry pi SSH 1

ฉันคิดเกี่ยวกับเรื่องนี้ในตอนท้ายของการทบทวนเท่านั้น มันควรจะถูกเพิ่มเข้าไปในเอกสาร 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

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา