1 คะแนน โดย GN⁺ 2023-10-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • OpenIPC คือโครงการเฟิร์มแวร์โอเพนซอร์สที่มุ่งมาแทนที่เฟิร์มแวร์จากผู้ผลิตที่ปิดและถูกปล่อยทิ้งไว้ สำหรับกล้อง IP ที่ใช้ ARM·MIPSจากผู้ผลิตหลายราย
  • ผู้ใช้ทั่วไปสามารถติดตั้งได้ด้วยเฟิร์มแวร์ไบนารีที่คอมไพล์ไว้ล่วงหน้า และนักพัฒนาสามารถเข้าถึงซอร์สทั้งหมดเพื่อมีส่วนร่วมในการปรับปรุงได้
  • ซอร์สโค้ดเผยแพร่ภายใต้MIT License จึงสามารถนำกลับไปใช้เป็นส่วนหนึ่งของซอฟต์แวร์ proprietary ได้ แต่ขอให้ส่งการปรับปรุงกลับคืนและติดต่อหากนำไปใช้เชิงพาณิชย์
  • โครงการและองค์ประกอบต่าง ๆ มีข้อจำกัดที่ระบุชัดว่าห้ามใช้เพื่อวัตถุประสงค์ทางทหาร
  • ในช่วงแรก รองรับเฉพาะ HiSilicon SoC แต่ปัจจุบันได้ขยายขอบเขตชิปที่รองรับไปยัง Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai เป็นต้น

การแทนที่เฟิร์มแวร์กล้อง IP แบบปิด

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

วิธีติดตั้งและการมีส่วนร่วมพัฒนา

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

ใบอนุญาตและข้อจำกัดการใช้งาน

  • ซอร์สโค้ดของ OpenIPC เผยแพร่ภายใต้MIT License
  • ผู้ใช้ได้รับสิทธิ์อย่างชัดเจนให้นำโค้ดกลับไปใช้ได้เพื่อวัตถุประสงค์ใดก็ได้
    • รวมถึงอนุญาตให้นำไปใช้เป็นส่วนหนึ่งของซอฟต์แวร์ proprietary
  • โครงการขอให้ส่งการปรับปรุงกลับคืนสู่โครงการ
  • หากนำโครงการไปใช้เพื่อวัตถุประสงค์เชิงพาณิชย์ ขอให้ติดต่อโครงการ
  • ไม่อนุญาตให้นำโครงการ OpenIPC และองค์ประกอบต่าง ๆ ไปใช้เพื่อวัตถุประสงค์ทางทหาร

การขยายการรองรับ SoC

  • ในอดีต เฟิร์มแวร์ OpenIPC รองรับเฉพาะHiSilicon SoC
  • เมื่อการพัฒนาดำเนินต่อไป รายชื่อโปรเซสเซอร์ที่รองรับก็ขยายออก
  • ปัจจุบันชิปจากผู้ผลิตต่อไปนี้รวมอยู่ในรายการที่รองรับ
    • Ambarella
    • Anyka
    • Fullhan
    • Goke
    • GrainMedia
    • Ingenic
    • MStar
    • Novatek
    • SigmaStar
    • XiongMai
  • รายชื่อโปรเซสเซอร์ที่รองรับมีแนวโน้มจะเพิ่มขึ้นอีกในอนาคต

เอกสารและแหล่งอ้างอิง

  • สามารถดูข้อมูลเพิ่มเติมเกี่ยวกับโครงการได้จากเว็บไซต์และวิกิของ OpenIPC

1 ความคิดเห็น

 
GN⁺ 2023-10-09
ความคิดเห็นใน Hacker News
  • เคยลองศึกษาด้วยตัวเองมาก่อน แต่ส่วนใหญ่เป็น กระบวนการที่น่าผิดหวัง มาก แนวคิดที่ว่าซื้อกล้อง IP จีนรุ่นไหนก็ได้แล้วเปลี่ยนไปใช้เฟิร์มแวร์เปิดนั้นฟังดูดีในทางทฤษฎี แต่ปัญหาจริงคือกระบวนการซื้อกล้อง ไม่ว่าจะ 1 ตัวหรือ 10 ตัว แล้วต่อมาซื้อเพิ่มเมื่อเวลาผ่านไป
    ณ ช่วงเวลาหนึ่ง ๆ เป็นเรื่องยากที่จะรู้ว่าฮาร์ดแวร์ภายในคืออะไร เช่น SoC จริง ๆ คือรุ่นไหน และผู้ผลิตจีนก็มักเปลี่ยน SoC ภายในบ่อย ๆ เพื่อเพิ่มมาร์จิน ต่อให้มีคนรายงานรุ่นเดียวกันไว้แล้ว แต่ถ้าซื้อหมายเลขรุ่นเดียวกันในอีก 6 เดือนถึง 1 ปีให้หลัง ก็ยากที่จะคาดหวังว่าจะเป็นฮาร์ดแวร์เดียวกัน
    ในเว็บขายของหรือเว็บผู้ผลิตแทบไม่ระบุว่าใช้ SoC อะไร และแม้จะหา หรือแปลข้อมูลที่พอใช้ได้เจอ ก็ยังไม่แน่ว่าบริษัทชื่อนั้นจะยังอยู่ในอีกไม่กี่เดือนต่อมาหรือไม่ สุดท้ายจึงไม่มี แหล่งจัดหาที่ทำซ้ำได้ นอกจากทดสอบตัวอย่างและแฮ็กใช้งานเอง
    อยากให้มีใครสักคนขายหรือรีเซลไลน์ฮาร์ดแวร์กล้องที่ติดตั้ง OpenIPC หรือเฟิร์มแวร์เปิดตัวอื่นมาให้เลย โอกาสทางธุรกิจในการให้บริการกล้อง IP ที่มีเฟิร์มแวร์ด้านความปลอดภัยที่รับประกันได้สำหรับผู้ใช้ตามบ้าน/ที่ทำงานยังว่างอยู่ และตอนนี้ก็มีแต่ของจิปาถะจากจีนแบบสุ่ม ๆ

    • ถ้าไม่แน่ใจ ผมจะถือว่ากล้องทุกตัวที่มีเฟิร์มแวร์ปิดนั้นมี มัลแวร์ อยู่ข้างใน รอที่จะสื่อสารกลับบ้าน ขโมยวิดีโอหรือเสียงที่ละเอียดอ่อน หรือเข้าร่วมบอตเน็ต เรื่องแบบนี้เกิดขึ้นจริงมาแล้วหลายครั้ง และทางแก้ปัจจุบันคือวาง ไฟร์วอลล์ คั่นกลาง เพื่อบล็อกทราฟฟิกทั้งหมดที่ไปยัง LAN และออกสู่ภายนอก ยกเว้นแอปพลิเคชันที่เชื่อถือ
      สามารถนำมินิพีซีที่มีพอร์ตอีเทอร์เน็ตหลายพอร์ตมาใช้เป็นไฟร์วอลล์ได้ และแยกซับเน็ตกล้องวงจรปิดออกจากเครือข่ายส่วนที่เหลือทางกายภาพ กล้องทั้งหมดควรต่อเข้ากับสวิตช์ และถ้าเป็นไปได้ควรใช้สวิตช์ที่รองรับ PoE ด้วย ด้วยเหตุผลที่ชัดเจน ผมจะไม่พิจารณา Wi‑Fi
    • เห็นด้วยอย่างยิ่ง เคยเจอความหงุดหงิดแบบเดียวกันตอนพยายามหากล้องที่ใช้งานได้ในช่วงห่างกันหลายเดือน/หลายปี ต้องเปิดแต่ละชิ้นออกมาแฮ็กเอง และ OpenIPC อาจรองรับหรือไม่รองรับก็ได้ ทุกวันนี้ยังมีการป้องกันไม่ให้แฟลชเฟิร์มแวร์ได้ง่าย ๆ ด้วย มีอุปสรรคอย่างพอร์ต UART/ดีบักขนาดเล็ก หรือ U-Boot loader ที่ถูกปิดใช้งาน
      อยากให้มีใครสักคนเสนอทางเลือกให้ซื้อกล้องที่เป็น ฮาร์ดแวร์/ซอฟต์แวร์เปิด ได้ เพื่อจะได้ไม่ต้องเปิดเครือข่ายให้บริการคลาวด์สุ่ม ๆ ที่กล้องราคาถูกต้องการ
    • สำหรับคนที่ต้องการ มีโปรเจกต์เสริมที่ตั้งเป้าทำกล้องโอเพนซอร์สอย่างสมบูรณ์อยู่
      ฮาร์ดแวร์: https://github.com/maxlab-io/tokay-lite-pcb
      เลเยอร์เฟิร์มแวร์และซอฟต์แวร์: https://github.com/maxlab-io/tokay-lite-sdk
      สุดท้ายมีแผนจะเปิดตัวบน Crowd Supply: https://www.crowdsupply.com/maxlab/tokay-lite
    • ผู้ผลิตอาจทำเองได้ แต่ ไลเซนส์ห้ามการใช้งานเชิงพาณิชย์ อยู่
    • เคยคิดเรื่องแบบนี้อยู่เหมือนกัน มีใครอยากมาทำด้วยกันไหม?
  • ตัวอย่างเช่น ไดรเวอร์เซนเซอร์ส่วนใหญ่ดูเหมือนเป็น ไบนารีบล็อบ
    Ambarella S3L: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    ชิปเซ็ต HiSilicon บางรุ่น: https://github.com/OpenIPC/firmware/tree/master/general/pack...
    แก้ไข: เซนเซอร์ขนาดเล็กบางตัวมีโค้ดอยู่ที่นี่
    https://github.com/OpenIPC/sensors

    • ใช่ แอปพลิเคชันใน user space ที่รับผิดชอบการสตรีมจริง ๆ ก็เป็น ซอร์สปิด ด้วย: https://github.com/OpenIPC/majestic
      Git repository นี้มีไว้สำหรับรายงานบั๊กเท่านั้น ไม่มีซอร์สโค้ด
    • ยังใช้เคอร์เนลจากเวนเดอร์ที่เก่ามากด้วย มีตั้งแต่ 3.x ไปจนถึง 4.x, 5.x ซึ่งทำให้เจตนารมณ์ถูกบั่นทอนไปพอสมควร ส่วนใหญ่ค่อนข้างเล็ก ดังนั้นดูเหมือนว่า ทำ reverse engineering เอาน่าจะดีกว่า
      ให้ความรู้สึกเหมือนเฟิร์มแวร์โฮมบรูว์ Android อย่างแรง
  • https://openipc.org/support-open-source

    It's Open Source
    Price of the Firmware
    The right to use the OpenIPC firmware and its components is granted to all users free of charge and only for personal, non-commercial purposes. If you are interested in using OpenIPC for your business projects, please contact our team.

    • สงสัยว่าพวกเขาต้องการโอเพนซอร์สจริง ๆ หรือเป็น ความพยายามเชิงพาณิชย์ ที่อยากโยนส่วนงานวิศวกรรมยาก ๆ ให้ “ชุมชน” ทำฟรี
      ถ้าต้องการโอเพนซอร์สจริง ๆ โมเดลของ OpenWrt ก็ดูค่อนข้างดี และลักษณะงานวิศวกรรมก็ดูคล้ายกัน ผู้ผลิตฮาร์ดแวร์บางรายใช้ OpenWrt ในเฟิร์มแวร์ และดูเหมือนว่านั่นทำให้ OpenWrt โอเพนซอร์สสายหลักรองรับฮาร์ดแวร์นั้นได้ดีด้วย
    • งงอยู่เหมือนกัน ใน GitHub repository ติด ไลเซนส์ MIT ไว้ บางทีอาจมีซอร์สลับบางส่วนที่ถูกเพิ่มเข้าไป และเงื่อนไขไม่ใช้เชิงพาณิชย์มีผลเฉพาะกับไบนารีที่คอมไพล์แล้วหรือเปล่า?
  • มีรายการสำหรับผู้ที่สงสัยว่าอุปกรณ์ของตัวเองรองรับหรือไม่อยู่ที่นี่
    https://github.com/OpenIPC/wiki/blob/master/en/guide-support...

    • ว้าว ในบรรดาแบรนด์กล้องพวกนั้น ผมเคยได้ยินแค่สองแบรนด์เท่านั้น
      แม้แต่ในบรรดาแบรนด์รีแบรนด์/แบรนด์ย่อยนับพันของ HikVision และ Daihua ที่เป็นที่รู้จักกัน ก็ยังไม่มีแบรนด์ไหนที่ผมจำได้เลย ทั้งสองบริษัทมีส่วนเกี่ยวข้องกับการปราบปรามชาวอุยกูร์ในจีน และเคยถูกแบนภายใต้ NDAA ดูเพิ่มเติม: https://ipvm.com/reports/ban-law
    • ในที่สุดก็มีวิธีตัดสินใจแล้วว่าจะซื้อกล้อง IP ตัวไหนดี
  • ขอถามแบบไม่เกี่ยวเลยนะ ตอนนี้มีกล้องตัวไหนที่หาซื้อได้ง่าย (Amazon, AliExpress ฯลฯ) รองรับสิ่งนี้ และมี คุณภาพภาพดีหรือดีมาก แนะนำบ้างไหม?

    • ผมก็อยากรู้เหมือนกัน ก่อนหน้านี้ผมเคยซื้อสินค้าที่คิดว่ารองรับ แล้วมารู้ทีหลังว่าไม่ใช่ ถ้าได้รู้ว่ามีใครใช้ฮาร์ดแวร์รุ่นไหนแล้วสำเร็จบ้างก็คงดี
  • นานมาแล้วผมเคยทำธุรกิจจากกล้อง IP สำเร็จรูปอยู่ วงการนั้นเต็มไปด้วยเฟิร์มแวร์ที่บั๊กเยอะและช่องโหว่ความปลอดภัยขนาดใหญ่ และปัญหาใหญ่ที่สุดที่ผมพบคือสามารถดึงรูปภาพออกมาได้โดยไม่ต้องยืนยันตัวตนเลย เฟิร์มแวร์พวกนี้แทบไม่เคยอัปเดต และเป็น ซอฟต์แวร์ที่ถูกทิ้งร้าง ตั้งแต่แกะกล่อง
    โปรเจกต์นี้ดูเหมือนจะยังไม่ได้เปิดทั้งหมด แต่การขยับไปในทิศทางนั้นแม้เพียงเล็กน้อยก็ให้ความรู้สึกเหมือนได้สูดอากาศบริสุทธิ์

  • OpenIPC ไม่ได้หมายถึงอย่างที่ผมคิดไว้เลย
    ผมมั่นใจ 100% ว่ามันต้องเป็น abstraction หรือเฟรมเวิร์กสำหรับ การสื่อสารระหว่างโปรเซส แน่ ๆ

    • ใช่ ในที่นี้ IPC มีความหมายที่ฝังแน่นมากอยู่แล้ว ชื่ออย่าง OpenIPCam น่าจะปลอดภัยกว่านิดหน่อย
  • Majestic ซึ่งเป็นคอมโพเนนต์ “คอร์” หลักสำหรับสตรีมมิงของกล้อง เป็นซอร์สปิด จัดการ RTSP, HLS ฯลฯ ส่วนที่เหลือเปิดซอร์ส แต่ยกเว้นบล็อบ SDK ของบุคคลที่สามบางส่วน

  • จุดที่น่าสนใจของโปรเจกต์นี้คือการนำฮาร์ดแวร์กล้อง IP ราคาถูกกลับมาใช้ใหม่ ทำให้ใช้เป็น ระบบวิดีโอดิจิทัลที่มีค่า latency ต่ำ ค่อนข้างดีสำหรับโดรน FPV
    https://m.youtube.com/watch?v=wZAHkWHfBF4
    โดยส่วนใหญ่เป็นส่วนต่อยอดของโปรเจกต์ OpenHD และดูค่อนข้างมีอนาคต

  • เกี่ยวข้องกันคือ ผมเคยแฮ็กกล้องแอ็กชัน Ambarella มาก่อน: https://github.com/petabyt/liemoth
    สุดท้ายเหตุผลที่เลิกทำคือคุณภาพของกล้องแอ็กชันต่ำเกินไป มีผู้ขายนับร้อยที่เอากล้องจีนราคาถูกมารีแบรนด์ขาย และเฟิร์มแวร์ก็แย่มาก ตัวเครื่องร้อนไปหมด แบตเตอรี่ก็อยู่ได้แค่ไม่กี่นาที