Kafka #01 Basic Installtion

Apache Kafka เป็น distributed streaming platform [1] กล่าวคือ สามารถ Publish และ Subscribe ข้อมูลแบบ Streaming ได้ คล้ายๆกับ Message Queue หรือ Enterprise Messaging System ระบบนี้ใช้ได้ทั้งเป็น Real-time Streaming Data Pipeline และ สร้าง Streaming Application ได้ Apache Kafka ออกแบบมาให้สามารถทำงานเป็นแบบ Cluster โดยเก็บข้อมูลเป็น Stream of Record ซึ่งจัดหมวดหมู่ในรูปของ Topics ข้อมูลแต่ละ Record ประกอบด้วบ Key, Value และ timestamp เอาเป็นว่า ระบบนี้เอาไว้สำหรับรองรับการส่งข้อมูลแนวๆ Streaming มาเพื่อทำการวิเคราะห์แบบ Real-Time แทนที่จะต้องบริหารเองก็แล้วกัน แถมด้วยความสามารถในการ Subscribe ข้อมูล สามารถย้อนไปดูข้อมูลก่อนหน้าได้ (ตามขอบเขตเวลาที่กำหนด) มาติดตั้งกัน บทความนี้ ทดสอบบน Ubuntu 16.04 ไป Download และ ติดตั้ง จาก https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.2.0/kafka_2.11-0.10.2.0.tgz ด้วยคำสั่ง wget http://www-eu.apache.org/dist/kafka/0.10.2.0/kafka_2.11-0.10.2.0.tgz tar -zxvf kafka_2.11-0.10.2.0.tgz cd kafka_2.11-0.10.2.0 Kafka ทำงานบน Zookeeper ดังนั้นให้เริ่มทำงานด้วยคำสั่ง bin/zookeeper-server-start.sh config/zookeeper.properties & แล้วจึง สั่ง Start Kafka bin/kafka-server-start.sh config/server.properties & ต่อไป Producer กับ Consumer จะติดต่อกันผ่าน Topic จึงต้องสร้าง topic ด้วยคำสั่งต่อไปนี้ bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test ซึ่งในที่นี้ จะได้ Topic ชื่อ test ทำงานบน Zookeeper บน Localhost ที่ Port 2181 ลองใช้คำสั่งต่อไปนี้เพื่อดู Topic ทั้งหมด bin/kafka-topics.sh –list –zookeeper localhost:2181 ทดลองส่งข้อมูลเข้าไปให้ Kafka ซึ่งจะทำงานที่ Localhost ที่ Port 9092 bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test แล้วลองพิมพ์ข้อความอะไรลงไปดู เช่น Hello World This is a book Blah Blah ลองเปิดอีก Terminal ขึ้นมา แล้วใช้คำสั่งต่อไปนี้ bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning ก็จะเห็นได้ว่า สามารถเรียกดูสิ่งที่ส่งเข้าไปใน Topic “test” ตั้งแต่เริ่มต้นได้ ตรงนี้ยังไม่แปลกอะไร และไม่น่าตื่นเต้นอะไร บทความต่อไปจะกล่าวถึงการสร้างเป็น Cluster แล้วก็ทำงานกับ หลายๆ Producer และ หลายๆ Consumer พร้อมๆกัน   Reference https://kafka.apache.org/intro

Read More »

แนะนำ ffDiaporama โปรแกรมนำภาพถ่ายมาทำภาพยนตร์ (Movie creator)

แนะนำ ffDiaporama โปรแกรมนำภาพถ่ายมาทำภาพยนตร์ (Movie creator) Movie creator from photos and video clips with ffDiaporama ตัวอย่าง http://ftp.psu.ac.th/pub/cc/2557cop1/ccadmintour2014.mp4 (392M) โปรแกรม ffDiaporama เป็นโปรแกรมทำภาพยนตร์จากภาพถ่ายและคลิปวิดีโอ มีทั้งเวอร์ชั่นที่ใช้งานบน linux และ Windows มีเว็บไซต์อยู่ที่นี่ URL: http://ffdiaporama.tuxfamily.org/ โดยทั่วไปวิธีติดตั้งโปรแกรมเพิ่มใน linux mint คือ เลือก Menu > Software Manager แต่โปรแกรม ffDiaporama นั้นมันเป็นเวอร์ชั่น 1.5 ซึ่งยังขาดความสามารถในการแปลง (render) จัดได้ว่ามันไม่ทันสมัย (outdated!) จึงจำเป็นต้องติดตั้งด้วยวิธี command line จากเว็บไซต์ของผู้พัฒนาโปรแกรมโดยตรง (Launchpad on the ffDiaporama-stable PPA) ทำคำสั่งนี้เพื่อเพิ่มชื่อ server ต้นทางที่เก็บโปรแกรม sudo add-apt-repository ppa:ffdiaporamateam/stable จะได้ผลลัพธ์แบบนี้ mint@mint-PSU ~ $ sudo add-apt-repository ppa:ffdiaporamateam/stable You are about to add the following PPA to your system: This PPA supplies stable packages of ffDiaporama 2.1 For more information on ffDiaporama see : http://ffdiaporama.tuxfamily.org More info: https://launchpad.net/~ffdiaporamateam/+archive/stable Press [ENTER] to continue or ctrl-c to cancel adding it เมื่อกด Enter แล้วจะได้แบบนี้ Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –homedir /tmp/tmp.JiNHX5a3T2 –no-auto-check-trustdb –trust-model always –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 77296259 gpg: requesting key 77296259 from hkp server keyserver.ubuntu.com gpg: key 77296259: public key “Launchpad PPA for ffDiaporama Team” imported gpg: Total number processed: 1 gpg:               imported: 1  (RSA: 1) สั่งอัปเดตรายการซอฟต์แวร์ sudo apt-get update ติดตั้งโปรแกรม sudo apt-get install ffdiaporama จะได้ผลลัพธ์แบบนี้ mint@mint-PSU ~ $ sudo apt-get install ffdiaporama Reading package lists… Done Building dependency tree Reading state information… Done The following packages were automatically installed and are no longer required: ffdiaporama-data libqimageblitz4 Use ‘apt-get autoremove’

Read More »

การติดตั้งเครื่องบันทึกภาพกล้องวงจรปิด

การติดตั้งเครื่องบันทึกภาพกล้องวงจรปิด เตรียมอุปกรณ์ Hardware เตรียมชุดข้อมูล Software+config Config ระบบอินเทอร์เน็ต เตรียมอุปกรณ์ Hardware มีอะไรบ้าง ? (สำหรับการติดตั้งกล้องวงจรปิด 4 ช่องสัญญาณครับ) 1. สาย RG สีขาวยี่ห้อ Link หรือ Commscope ยาว 100 เมตร 2. หัวแจ๊คสัญญาณ RG 6 (BNC Type) จำนวน 4 ตัว 3. รางเก็บสายไฟฟ้า PVC สีขาว 5*5 cm ยาว 4 m. 4.สายไฟฟ้า VCT 2*0.5  SQ.mm หรือ VCT 2*1.5 SQ.mm ความยาว 20 เมตร 5.ปลั๊กตัวเมีย 2 ตัว 6. กล่องกันน้ำขนาด 6*6*8 จำนวน 2 ใบ 7. เกลียวปล่อยขนาด #7*1 หัว JP  30 ตัว 8 พุกผีเสื้อจำนวน 30 ตัว 9.เครื่องบันทึกภาพ 4 ช่อง INNEKT ZLD104A H.264 Full D1 อินเตอร์เฟช GUI OSD, คอนโทรลเลอร์ USB Mouse 4CH 10.กล้องอินฟาเรด ขนาด 1/3″CMOS ความละเอียด 600 TVL 11.Harddisk western digital ขนาด 500 GB รวมราคา 14,097.25 บาท นี่คือราคาของอุปกรณ์ Hardware ที่เราซื้อมาติดตั้ง รวม Vat 7% แล้วนะครับ สำหรับการเดินสายอุปกรณ์ทั้งหมดในส่วนของ Hardware ต้องขอขอบพระคุณพี่ประเสริฐ นายช่างใหญ่จากจังหวัดภูเก็ตเดินทางมาติดตั้งให้ครับ (งานนี้จะเป็นงานเดินสายสัญญาณบนฝ้าเพดานครับ)       รูปที่ 1 แสดงการเชื่อมต่ออุปกรณ์กล้องวงจรปิด   เตรียมอุปกรณ์ Software+Config มีอะไรบ้าง ? (สำหรับการติดตั้งกล้องวงจรปิด 4 ช่องสัญญาณครับ)   1. หน้าจอสำหรับ Monitor เครื่อง DVR  สำหรับการเข้าใช้งานครั้งแรก         ใส่ User Name : admin , Password : 123456   (การทำงานของระบบคลิกซ้ายคือการเข้าใช้งาน คลิกขวาคือการย้อนกลับไปยังเมนูก่อนหน้า) 2. วิธีการตั้งค่าวันที่และเวลาเครื่อง คลิกขวาเลือก Main Menu > Configuration > System ตั้งค่าวันที่และเวลาเรียบร้อยแล้วกดปุ่ม Save กด Apply และกด OK 3. วิธีการตั้งค่าการบันทึก คลิกขวาเลือก Main Menu > Configuration >Record Channel คือ การเลือกกล้อง Resolution คือขนาดของภาพ แนะนำที่ D1 Frame Rate คือ ความเร็วในการบันทึก Real-time อยู่ที่ 25 FPS สามารถ config All Channel ได้จากฟังก์ชัน Copy ครับ 4. วิธีการเลือกรูปแบบการบันทึก สามารถเลือกได้

Read More »

Record video with RecordMyDesktop for Linux Mint

วันนี้มีความรู้มาฝากเกี่ยวกับการทำบันทึกวิดีโอแนะนำความรู้จากหน้าจอคอมพิวเตอร์ด้วยตนเอง โดยใช้งานอยู่บนระบบปฏิบัติการ Linux Mint 15 Mate ครับ ผมต้องการทำวิดีโอ Preview แผ่น Linux Mint 15 Mate ที่พวกเราจะแจกในงานม.อ.วิชาการ’56 เพื่อเปิดให้มันบรรยายสรรพคุณไปเรื่อยๆในงาน เราไม่ต้องพูดและเด็กๆก็ฟังเมื่อต้องการได้ ผมจึงได้หาโปรแกรมมาได้โดยการติดตั้งผ่านโปรแกรม Software Manager ของ Linux Mint โปรแกรมนี้มีชื่อว่า gtk-recordmydesktop (ขอขอบคุณเกรียงไกร หนูทองคำ ที่เอื้อเฟื้อคำแนะนำ) แล้วทำการบันทึก ในขณะบันทึกเราก็ต้องมีชุดหูฟังและไมโครโฟนที่พร้อมใช้งาน ผมใช้ Logitech ครับ ขั้นตอนการทำวิดีโอง่ายๆ คือ เข้าใช้ระบบปฏิบัติการ Linux Mint แล้วเรียกเมนู Software Manager จากนั้นใส่คำค้นหาเมื่อเจอแล้วดับเบิลคลิกชื่อซอฟต์แวร์ และจบด้วยคลิก Install เมื่อติดตั้งเสร็จก็มาเรียกใช้งาน มันจะอยู่ในเมนู Sound & Video ชื่อโปรแกรมคือ RecordMyDesktop ตอนนี้โปรแกรมอัดพร้อมแล้วเราก็ไปเปิด Oracle VM VirtualBox สั่งรัน linux mint ที่เป็น Virtual Machine แล้วเมื่อพร้อมก็คลิกที่ปุ่ม Record (ที่ taskbar จะเห็นเป็นสี่เหลี่ยมสีแดง) ก็บรรยายไป คลิกเปิดโปรแกรมไปจนเสร็จ ให้คลิกปุ่มเพื่อ Stop แล้วโปรแกรมมันจะเริ่มเขียนไฟล์จากที่เก็บไว้ใน /tmp จะได้ไฟล์ชื่อ out.ogv ผมก็ rename เป็นไฟล์ชื่อ linuxmint-preview.ogv นำไปไว้บน ftp server ให้ดาวน์โหลดมาเปิดดูและฟังได้ ผมทำตัวอย่างเก็บไว้อยู่ที่ http://ftp.psu.ac.th/pub/cc/linuxmint-preview.ogv ขั้นตอนการเปิดใช้ 1. เปิด Terminal 2. ดาวน์โหลดด้วย wget มาเก็บไว้เป็นไฟล์อีกไฟล์ให้ใหม่สดเสมอด้วย option -O wget http://ftp.psu.ac.th/pub/cc/linuxmint-preview.ogv -O /tmp/current-linuxmint-preview.ogv 3. วิธีรันแบบ fullscreen totem –fullscreen  /tmp/current-linuxmint-preview.ogv หวังว่าพวกเราคงสนุกกับบทความนี้นะครับ

Read More »