การต่อกล้อง USB กับ Linux โดยเฉพาะ Ubuntu Linux แล้วเป็นเรื่องง่ายมากครับ ผมมีกล้อง USB อยู่ประมาณ 10 ตัว ใช้กับ Linux ไม่ได้ 3 ตัว
เพียงแค่เสียบเจ้า Ubuntu ก็จะโหลด driver ให้เราเองลองดูจาก dmesg และ lsusb ถ้า dmesg บอกว่า Found XYZ ก็เป็นอันว่าน่าจะใช้ได้ ซึ่ง driver ของกล้อง USB ที่ linux support ทั้งหมดราวๆ 400 รุ่นนั้นมาจากหลายค่าย เอาเฉพาะค่ายที่ผมใช้อยู่ก็มี spca5xx หรือ GSPCAV1 , Philips (PWC) , USB Video Class (UVC)
ความแตกต่างที่สำคัญคือกล้องบางตัว (ราว 30%) จะมี JPEG encoder ในตัว คือมันจะ stream ภาพออกมาทาง USB port ด้วยภาพ format JPEG สามารถ save frame เป็นรูปได้เลย ดูจาก link นี้ครับ http://mxhaard.free.fr/spca5xx.html ตระกูลที่ใช้ Driver Spca5xx และบอก format เป็น JPEG น่ะ ภาพที่ได้จะบีบอัดเสร็จ ประหยัดแรง CPU ได้ดีทีเดียว กล้องที่ใช้ chip Vimicro ZC0301,ZC0302 พวกนี้ครับ ผมมีอยู่ 2 ตัวเป็นกล้อง Noname ยืมน้องมา และก็กล้อง Smilecam
ส่วนกล้องอื่นๆก็จะให้รูปภาพฟอร์แมตเป็น YUV หรือ RGB ซึ่งจะไม่บีบอัด ภาพจะให้รายละเอียดดีกว่า ถ้าจะเอามาทำเป็น sensor เช่นหาเส้นทางหรือเอามาตรวจจับความเคลื่อนไหวละก็สะดวก ผมมี กล้อง Logitech notebook pro และ Creative Web Ex สองตัวนี้ใช้บน Ubuntu works! ไม่ต้องออกแรง
ลองดูรูปคนบ้าหัวฟูกำลังทดสอบกล้องครับ
ทีนี้ก็จะเอากล้องมาทดสอบกับ iBoard บ้่าง ก็มี driver เฉพาะสำหรับ CPU ที่ไม่แรง เค้าจะตัดการ support YUV, RGB format จากกล้อง JPEG เพราะว่าต้อง decode JPEG frame ใน kernel ซึ่งเป็นภาระมาก
driver รุ่นนี้ของ spca5xx เค้าเรียกว่า spca5xx LE (LE = Light Edition) ถ้าใช้ SDK จาก Foxboard ก็ใช้ได้เลยครับ แค่เลือกจากเมนู make menuconfig หรือใช้ Firmware ของเค้าก็ได้ แต่ถ้าใช้ SDK จาก Axis ก็โหลดไฟล์จาก http://mxhaard.free.fr/download.html เอาไป patch kernel เองเลยครับ
นี่เป็นภาพ Video MJPEG stream ดูด้วยโปรแกรม SpcaView กล้องที่ใช้ ถ่ายคือ SmileCam ดังนี้จะไม่เห็นมันนะครับ
