OpenIPC: เฟิร์มแวร์โอเพนซอร์สทางเลือกสำหรับกล้อง IP
(github.com/OpenIPC)- 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 ความคิดเห็น
ความคิดเห็นใน Hacker News
เคยลองศึกษาด้วยตัวเองมาก่อน แต่ส่วนใหญ่เป็น กระบวนการที่น่าผิดหวัง มาก แนวคิดที่ว่าซื้อกล้อง IP จีนรุ่นไหนก็ได้แล้วเปลี่ยนไปใช้เฟิร์มแวร์เปิดนั้นฟังดูดีในทางทฤษฎี แต่ปัญหาจริงคือกระบวนการซื้อกล้อง ไม่ว่าจะ 1 ตัวหรือ 10 ตัว แล้วต่อมาซื้อเพิ่มเมื่อเวลาผ่านไป
ณ ช่วงเวลาหนึ่ง ๆ เป็นเรื่องยากที่จะรู้ว่าฮาร์ดแวร์ภายในคืออะไร เช่น SoC จริง ๆ คือรุ่นไหน และผู้ผลิตจีนก็มักเปลี่ยน SoC ภายในบ่อย ๆ เพื่อเพิ่มมาร์จิน ต่อให้มีคนรายงานรุ่นเดียวกันไว้แล้ว แต่ถ้าซื้อหมายเลขรุ่นเดียวกันในอีก 6 เดือนถึง 1 ปีให้หลัง ก็ยากที่จะคาดหวังว่าจะเป็นฮาร์ดแวร์เดียวกัน
ในเว็บขายของหรือเว็บผู้ผลิตแทบไม่ระบุว่าใช้ SoC อะไร และแม้จะหา หรือแปลข้อมูลที่พอใช้ได้เจอ ก็ยังไม่แน่ว่าบริษัทชื่อนั้นจะยังอยู่ในอีกไม่กี่เดือนต่อมาหรือไม่ สุดท้ายจึงไม่มี แหล่งจัดหาที่ทำซ้ำได้ นอกจากทดสอบตัวอย่างและแฮ็กใช้งานเอง
อยากให้มีใครสักคนขายหรือรีเซลไลน์ฮาร์ดแวร์กล้องที่ติดตั้ง OpenIPC หรือเฟิร์มแวร์เปิดตัวอื่นมาให้เลย โอกาสทางธุรกิจในการให้บริการกล้อง IP ที่มีเฟิร์มแวร์ด้านความปลอดภัยที่รับประกันได้สำหรับผู้ใช้ตามบ้าน/ที่ทำงานยังว่างอยู่ และตอนนี้ก็มีแต่ของจิปาถะจากจีนแบบสุ่ม ๆ
สามารถนำมินิพีซีที่มีพอร์ตอีเทอร์เน็ตหลายพอร์ตมาใช้เป็นไฟร์วอลล์ได้ และแยกซับเน็ตกล้องวงจรปิดออกจากเครือข่ายส่วนที่เหลือทางกายภาพ กล้องทั้งหมดควรต่อเข้ากับสวิตช์ และถ้าเป็นไปได้ควรใช้สวิตช์ที่รองรับ PoE ด้วย ด้วยเหตุผลที่ชัดเจน ผมจะไม่พิจารณา Wi‑Fi
อยากให้มีใครสักคนเสนอทางเลือกให้ซื้อกล้องที่เป็น ฮาร์ดแวร์/ซอฟต์แวร์เปิด ได้ เพื่อจะได้ไม่ต้องเปิดเครือข่ายให้บริการคลาวด์สุ่ม ๆ ที่กล้องราคาถูกต้องการ
ฮาร์ดแวร์: 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
Git repository นี้มีไว้สำหรับรายงานบั๊กเท่านั้น ไม่มีซอร์สโค้ด
ให้ความรู้สึกเหมือนเฟิร์มแวร์โฮมบรูว์ Android อย่างแรง
https://openipc.org/support-open-source
ถ้าต้องการโอเพนซอร์สจริง ๆ โมเดลของ OpenWrt ก็ดูค่อนข้างดี และลักษณะงานวิศวกรรมก็ดูคล้ายกัน ผู้ผลิตฮาร์ดแวร์บางรายใช้ OpenWrt ในเฟิร์มแวร์ และดูเหมือนว่านั่นทำให้ OpenWrt โอเพนซอร์สสายหลักรองรับฮาร์ดแวร์นั้นได้ดีด้วย
มีรายการสำหรับผู้ที่สงสัยว่าอุปกรณ์ของตัวเองรองรับหรือไม่อยู่ที่นี่
https://github.com/OpenIPC/wiki/blob/master/en/guide-support...
แม้แต่ในบรรดาแบรนด์รีแบรนด์/แบรนด์ย่อยนับพันของ HikVision และ Daihua ที่เป็นที่รู้จักกัน ก็ยังไม่มีแบรนด์ไหนที่ผมจำได้เลย ทั้งสองบริษัทมีส่วนเกี่ยวข้องกับการปราบปรามชาวอุยกูร์ในจีน และเคยถูกแบนภายใต้ NDAA ดูเพิ่มเติม: https://ipvm.com/reports/ban-law
ขอถามแบบไม่เกี่ยวเลยนะ ตอนนี้มีกล้องตัวไหนที่หาซื้อได้ง่าย (Amazon, AliExpress ฯลฯ) รองรับสิ่งนี้ และมี คุณภาพภาพดีหรือดีมาก แนะนำบ้างไหม?
นานมาแล้วผมเคยทำธุรกิจจากกล้อง IP สำเร็จรูปอยู่ วงการนั้นเต็มไปด้วยเฟิร์มแวร์ที่บั๊กเยอะและช่องโหว่ความปลอดภัยขนาดใหญ่ และปัญหาใหญ่ที่สุดที่ผมพบคือสามารถดึงรูปภาพออกมาได้โดยไม่ต้องยืนยันตัวตนเลย เฟิร์มแวร์พวกนี้แทบไม่เคยอัปเดต และเป็น ซอฟต์แวร์ที่ถูกทิ้งร้าง ตั้งแต่แกะกล่อง
โปรเจกต์นี้ดูเหมือนจะยังไม่ได้เปิดทั้งหมด แต่การขยับไปในทิศทางนั้นแม้เพียงเล็กน้อยก็ให้ความรู้สึกเหมือนได้สูดอากาศบริสุทธิ์
OpenIPC ไม่ได้หมายถึงอย่างที่ผมคิดไว้เลย
ผมมั่นใจ 100% ว่ามันต้องเป็น abstraction หรือเฟรมเวิร์กสำหรับ การสื่อสารระหว่างโปรเซส แน่ ๆ
Majestic ซึ่งเป็นคอมโพเนนต์ “คอร์” หลักสำหรับสตรีมมิงของกล้อง เป็นซอร์สปิด จัดการ RTSP, HLS ฯลฯ ส่วนที่เหลือเปิดซอร์ส แต่ยกเว้นบล็อบ SDK ของบุคคลที่สามบางส่วน
จุดที่น่าสนใจของโปรเจกต์นี้คือการนำฮาร์ดแวร์กล้อง IP ราคาถูกกลับมาใช้ใหม่ ทำให้ใช้เป็น ระบบวิดีโอดิจิทัลที่มีค่า latency ต่ำ ค่อนข้างดีสำหรับโดรน FPV
https://m.youtube.com/watch?v=wZAHkWHfBF4
โดยส่วนใหญ่เป็นส่วนต่อยอดของโปรเจกต์ OpenHD และดูค่อนข้างมีอนาคต
เกี่ยวข้องกันคือ ผมเคยแฮ็กกล้องแอ็กชัน Ambarella มาก่อน: https://github.com/petabyt/liemoth
สุดท้ายเหตุผลที่เลิกทำคือคุณภาพของกล้องแอ็กชันต่ำเกินไป มีผู้ขายนับร้อยที่เอากล้องจีนราคาถูกมารีแบรนด์ขาย และเฟิร์มแวร์ก็แย่มาก ตัวเครื่องร้อนไปหมด แบตเตอรี่ก็อยู่ได้แค่ไม่กี่นาที