
ถ้าคุณมีคอมเก่าๆไม่รู้จะเอาไปทำอะไร นอกจากทิ้งไว้ใหแมงมุมเกาะ(ทำรัง) วันนี้ผมขอแนะนำอีกทางเลือกหนึ่งนอกจากการขายทิ้ง คือทำให้เครื่องคอมของคุณเป็นอุปกรณ์เพื่อรักษาความปลอดภัย โดยการลงโปรแกรมสำหรับบันทึกภาพเฉพาะเมื่อมีการเคลื่อนไหวเกิดขึ้น(motion detection) หรือโปรแกรมจะบันทึกภาพเฉพาะในกรณีที่จำนวน pixel ระหว่าง 2 ภาพล่าสุด มีความเปลี่ยนแปลงมากกว่าที่ผู้ใ้ช้กำหนดไว้ โดยอุปกรณ์ที่ผู้เขียนใช้จะเน้นต้นทุนต่ำสุดๆ ซึ่งมีดังนี้
ขั้นตอนแรกให้ลง openwrt linux สำหรับ X86 ก่อน โดยดาวน์โหลดที่ http://downloads.openwrt.org/kamikaze/7.07/x86-2.6/openwrt-x86-2.6-ext2.... หลังจากนั้นให้ mount เพื่อหาไฟล์ที่อยู่ภายในโดยใช้คำสั่ง
mkdir /media/openwrt_boot
mkdir /media/openwrt_root
mount -o loop,offset=32256 -t ext2 openwrt-x86-2.6-ext2.image /media/openwrt_boot/
mount -o loop,offset=4677120 -t ext2 openwrt-x86-2.6-ext2.image /media/openwrt_root/
- หมายเหตุ การ mount ไฟล์ได้ความช่วยเหลือจากพี่ต้น
จากนั้นให้ copy ไฟล์ทั้งหมดที่อยู่ในทั้ง directory /media/openwrt_boot/ และ /media/openwrt_root/ ลงใน compact flash หรือ harddisk เปล่า
หลังจากนั้นให้ลง bootloader เช่น grub หรือ lilo
เมื่อลง bootloader เสร็จให้ reboot เครื่อง แล้วเปลี่ยนให้บู๊ตจาก compact flash หรือ harddisk เพิ่งลง linux ไว้
- หมายเหตุ กรณี boot เครื่องจาก compact flash เครื่องจะเห็นเป็น harddisk ตัวหนึ่ง
เมื่อเข้าหน้าจอ terminal ให้ลงไดรเวอร์ของอุปกรณ์ network ก่อนเพื่อให้สามารถติดต่อกับเครื่องอื่นได้ โดยไดรเวอร์ที่ลงขึ้นอยู่กับ chipset ของ อุปกรณ์ ซึ่งสามารถ search ดูได้จาก http://downloads.openwrt.org/kamikaze/7.07/x86-2.6/packages/Packages
เมื่อใช้งานอินเตอร์เน็ตได้แล้ว ให้ลงโปรแกรมโดยพิมพ์คำสั่งดังข้างล่างโดยเริ่มจาก
ไดรเวอร์ของระบบไฟล์
ipkg install kmod-fs-ext3
ipkg install kmod-fs-vfat
ipkg install kmod-fs-msdos
ipkg install kmod-fs-nfs
ไดรเวอร์ของอุปกรณ์ usb
ipkg install kmod-usb-core
ipkg install kmod-usb-uhci
ipkg install kmod-usb-ohci
ipkg install kmod-usb2
ไดรเวอร์ของอุปกรณ์แสดงผลและ webcam
ipkg install kmod-videodev
ipkg install kmod-spca5xx-le
ipkg install kmod-gspca
ftp server สำหรับรับส่งไฟล์
ipkg install vsftpd
โปรแกรมบันทึกและตรวจจับการเคลื่อนไหว
ipkg install motion
ไดรเวอรของอุปกรณ์ usb to parellel เพื่อควบคุมอุปกรณ์ภายนอก
ipkg install kmod-usb-parellel
- หมายเหตุ ถ้าลงโปรแกรมไม่ได้โดยขึ้น error ว่าขาด library ให้ลง library ตัวนั้นๆ ด้วยคำสั่ง ipkg install หรือใช้คำสั่ง ldd ตามด้วยโปรแกรมที่ต้องการใช้งาน เพื่อดูว่าโปรแกรมดังกล่าวต้องการใช้ library ตัวใดบ้าง
เมื่อต้องการรันโปรแกรมก็พิมพ์ motion ที่ console และเมื่อต้องการดูภาพก็ใช้โปรแกรมพวก ftp client เช่น gftp, filezilla คัดลอกไฟล์มาไว้ที่เครื่องเรา หรือถ้าไม่อยากคัดลอกไฟล์ ก็ให้ลง nfs server หรือ samba server ที่เครื่องที่รันโปรแกรม motion แล้วค่อยใช้เครื่องเราิอีกเครื่องดูภาพผ่าน network
- หมายเหตุ openwrt linux มีเฉพาะ text mode จึงไม่สามารถดูภาพจากตัวเองได้ ต้องนำภาพไปดูที่เครื่องอื่น
รูปตัวอย่างขนาด 640x480 จากโปรแกรม คุณภาพอาจไม่ดีนัก(ห่วย) เพราะใช้กล้อง webcam คุณภาพต่ำ
การปรับแต่งไฟล์ config ของ motion (/etc/motion.conf)
การแก้ไฟล์ผู้เขียนใช้โปรแกรม vi โดยการใช้การคือ vi /etc/motion.conf และในไฟล์ motion.conf จะอธิบายรายละเอียดของ config แต่ละตัวไว้แล้ว ในที่นี้จะเน้นที่เห็นว่าสำคัญดังนี้
width กำหนดขนาดความกว้างของภาพที่บันทึก(ค่าเริ่มต้น 320)
height กำหนดขนาดความสูงของภาพที่บันทึก(ค่าเริ่มต้น 240)
framerate กำหนดจำนวนภาพที่จะบันทึกต่อวินาที กรณีที่เกิดการเคลื่อนไหว
targer_dir กำหนด directory ที่ใช้เก็บภาพเมื่อมีการเคลื่อนไหวเกิดขึ้น
webcam_port กำหนด port ที่ใช้สำหรับดูภาพ ณ ขณะนั้น ผ่านทาง web browser
control_port กำหนด port ที่ใช้ในการปรับแต่่งไฟล์ motion.conf และการควบคุมอื่นๆ ผ่านทาง web browser
threshold กำหนดจำนวน pixel ขั้นต่ำที่ใช้ในการตรวจจับ คือ ถ้ามีการเปลี่ยนแปลง pixel ระหว่าง 2 ภาพ มากกว่าที่กำหนดไว้ โปรแกรมจะบันทึกภาพ
การเขียนโปรแกรมเพื่อควบคุม parellel port(usb to parellel)
ในที่นี้จะใช้ขาสัญญาณ ของ parellel port เพื่ออ่านค่าจาก proximity switch ที่ติดอยู่กับประตู เพื่อตรวจสอบว่าประตูห้องของเราถูกเปิดออกตอนที่เราไม่อยู่ห้องหรือไม่ โดยจะแจ้งเตือนผ่าน e-mail เมื่อประตูถูกเปิดออกเกิน 0.5 วินาที
การส่ง e-mail อัตโนมัติผ่าน internet เพื่อแจ้งเตือน
TODO
ข้อแนะนำเพิ่มเติม
- ในการใช้งานจริงควรเปลี่ยนจาก compact flash เป็น harddisk เพราะจำนวนครั้งของการเขียนข้อมูลลง compact flash มีจำกัด
- ไม่ควร(หรือห้าม) ทำ swap บน compact flash เพราะจะทำให้ compact flash เสียเร็ว(มาก)
- ถ้าต้องการภาพที่มีคุณภาพสูง ควรเปลี่ยนเป็นกล้อง webcam ที่มีคุณภาพสูง หรือเปลี่ยนเป็นกล้องแบบ analog
รายละเอียดเพิ่มเติม
- http://www.opentle.org/th/node/5479 บล๊อกเก่าของผู้เขียน
- http://mxhaard.free.fr/spca5xx.html คุณภาพของกล้องแต่ละยี่ห้อ
ขอถามหน่อยครับ