เริ่มต้นกับ processing
เมื่อ ปีที่แล้ว(2014)ผมมีงานที่ต้องสร้างโปรแกรมแสดงผลวีดีโอ กับ กราฟฟิคบ้าง ก็ได้ปรึกษาเพื่อนๆ หาเครื่องมือ ง่ายๆเรียนรู้เร็ว ก็ได้คำแนะนำจากผู้ก่อนตั้งเวป ไอยราฟัน ให้รู้จัก เครื่องมือ ตัวหนึ่ง ชื่อ processing มาลองใช้งาน ผลปรากฎว่า ใช้งานได้เป็นอย่างดี จึงได้ใช้ เรื่อยมา จนมาปีนี้ มีงานที่จำเป็นต้องเขียนโปรแกรมบน raspberry-pi ก็พยายามลองใช้ python กับ Qt ไม่รู้เป็นไร สงสัยเริ่มแก่แล้ว มันไม่ค่อยคล่องเลยติดขัด งึกๆงักๆ กับเรื่องไวยากรณ์ ประมาณว่า ไม่ได้ใช้ {} กับ ; แล้วคิดถึง พอดีไปเจอว่า ตัว processing เอง สามารถ โมดิฟายให้ไปรันบน raspberry-pi ได้ ก็ลองทำดู ซึ่งตอนนั้น เป็น version 2.2.1 เห็นทางออกเลย เขียน งานออกมาได้ฉับไว ได้ใช้ {} และ ; สมใจอยาก ติอต่อ ทั้ง i/o ทั้ง serial port ได้ครบถ้วน จบงานได้ มาปีนี้ (2015) ตัว processing เอง ออก version3 สำหรับ cpu ARM โดยเฉพาะ ไม่ต้องไปโมดิฟายอะไรแล้ว ดีเลยสามารถเอามาใช้ กับ raspberry-pi ได้เลย เป็นที่มาของบันทึกนี้ ที่จะบันทึกการใช้งาน processing ไว้ช่วยจำ และเป็นการแนะนำทางเลือกในการพัฒนา application สำหรับ raspberry-pi
แนะนำ processing
Processing เป็น เครื่องมือเขียนโปรอแกรมตัวหนึ่ง ที่มีพื้นฐานมาจาก JAVA โดยจัดทำ library ที่ใช้งานบ่อยๆมาเป็น function ที่เรียกใช้ได้เลย ผู้ใช้ไม่ต้องกังวล หรือ ศึกษากฏเกณฑ์ต่างๆของ JAVA มากนัก แต่หากอยากจะลงลึก พบว่า ยังสามารถ ใช้งาน คำสั่งและ class ต่างๆ ของ JAVA ได้อีกด้วย หลักการ คล้ายกับการเขียนโปรแกรมบน mcu ด้วย arduino ซึ่งเขียนด้วยคำสั่งที่ มีสำเร็จมาให้ แต่หากอยากจะเขียนลึกลงไป ก็ยังใช้ไวยากรณ์ของ avr-GCC ได้อีกด้วย ไม่รู้ว่า คนคิดเป็นกลุ่มเดียวกันไหม เพราะหลักการและหน้าตาโปรแกรม คล้าย arduino เลยครับ
ข้อดีของ processing ( บางข้อเป็นความคิดเห็นส่วนตัว )
- โหลดฟรีไม่มีค่าใช้จ่าย ที่ www.processing.org
- มีความสามารถ cross platform ตามคอนเซปของ java คือ เขียนโปรแกรมครั้งเดียว สามารถนำไปใช้ได้หลาย os คือ windows,Linux,Mac-OSX,Androild
- ใช้ไวยากรณ์ของ JAVA เป็นหลัก ซึ่งก็แทบจะเป็น ansi-C เป็นการง่ายที่ เหล่านักเขียนโปรแกรม ที่มี code จากฝั่ง mcu แล้วจะเอามาใช้ จะได้ไม่ต้อง เปลี่ยนไวยากรณ์ แค่ copy วาง ซึ่งตรงนี้กระผมเองเกิดปัญหาตอนเขียน python คือเป็นโรคคิดถึง ; นั่นเอง
- มี library ต่างๆให้ใช้มากและยังสามารถโหลดเพิ่มได้เรื่อย หากไม่พอใจ ก็ยังสามารถเขียน เพิ่มเองได้ โดยใช้ JAVA
- มี community ที่ใหญ่พอสมควรหลักๆผมก็เข้าไปที่ www.openprocessing.org และ www.processing.org จะมีแชร์ code และถามปัญหาได้ ไม่แพ้ฝั่ง python
- ใช้เวลาในการเรียนรู้ต่ำมาก โดยใช้ concept ของการศึกษาผ่าน example code เหมือน เขียน arduino เลยครับ คือ พอ app เราทำงานได้ ทำให้เรามีกำลังใจในการศึกษาต่อ โปรแกรมแรกของผม ผมเขียนเล่น video 4 เรื่อง พร้อมกัน ใช้เวลาศึกษาตั้งแต่เริ่ม ไม่เกิน 30นาที ก็สำเร็จ ผิดกับตอน ใช้ .net c# ที่ ทำตั้งนาน กว่าจะสำเร็จ
- รองรับไวยากรณ์ของ python และ java script ( อันนี้ ยังไม่เคยลอง )
ส่วนข้อเสีย มีแน่ นอน แต่ไม่ขอพูดถึง
แปะไว้ก่อน ... เดี่ยวมาต่อ ในส่วนที่เกี่ยวกับ raspberry pi
เมื่อ ปีที่แล้ว(2014)ผมมีงานที่ต้องสร้างโปรแกรมแสดงผลวีดีโอ กับ กราฟฟิคบ้าง ก็ได้ปรึกษาเพื่อนๆ หาเครื่องมือ ง่ายๆเรียนรู้เร็ว ก็ได้คำแนะนำจากผู้ก่อนตั้งเวป ไอยราฟัน ให้รู้จัก เครื่องมือ ตัวหนึ่ง ชื่อ processing มาลองใช้งาน ผลปรากฎว่า ใช้งานได้เป็นอย่างดี จึงได้ใช้ เรื่อยมา จนมาปีนี้ มีงานที่จำเป็นต้องเขียนโปรแกรมบน raspberry-pi ก็พยายามลองใช้ python กับ Qt ไม่รู้เป็นไร สงสัยเริ่มแก่แล้ว มันไม่ค่อยคล่องเลยติดขัด งึกๆงักๆ กับเรื่องไวยากรณ์ ประมาณว่า ไม่ได้ใช้ {} กับ ; แล้วคิดถึง พอดีไปเจอว่า ตัว processing เอง สามารถ โมดิฟายให้ไปรันบน raspberry-pi ได้ ก็ลองทำดู ซึ่งตอนนั้น เป็น version 2.2.1 เห็นทางออกเลย เขียน งานออกมาได้ฉับไว ได้ใช้ {} และ ; สมใจอยาก ติอต่อ ทั้ง i/o ทั้ง serial port ได้ครบถ้วน จบงานได้ มาปีนี้ (2015) ตัว processing เอง ออก version3 สำหรับ cpu ARM โดยเฉพาะ ไม่ต้องไปโมดิฟายอะไรแล้ว ดีเลยสามารถเอามาใช้ กับ raspberry-pi ได้เลย เป็นที่มาของบันทึกนี้ ที่จะบันทึกการใช้งาน processing ไว้ช่วยจำ และเป็นการแนะนำทางเลือกในการพัฒนา application สำหรับ raspberry-pi
แนะนำ processing
Processing เป็น เครื่องมือเขียนโปรอแกรมตัวหนึ่ง ที่มีพื้นฐานมาจาก JAVA โดยจัดทำ library ที่ใช้งานบ่อยๆมาเป็น function ที่เรียกใช้ได้เลย ผู้ใช้ไม่ต้องกังวล หรือ ศึกษากฏเกณฑ์ต่างๆของ JAVA มากนัก แต่หากอยากจะลงลึก พบว่า ยังสามารถ ใช้งาน คำสั่งและ class ต่างๆ ของ JAVA ได้อีกด้วย หลักการ คล้ายกับการเขียนโปรแกรมบน mcu ด้วย arduino ซึ่งเขียนด้วยคำสั่งที่ มีสำเร็จมาให้ แต่หากอยากจะเขียนลึกลงไป ก็ยังใช้ไวยากรณ์ของ avr-GCC ได้อีกด้วย ไม่รู้ว่า คนคิดเป็นกลุ่มเดียวกันไหม เพราะหลักการและหน้าตาโปรแกรม คล้าย arduino เลยครับ
ข้อดีของ processing ( บางข้อเป็นความคิดเห็นส่วนตัว )
- โหลดฟรีไม่มีค่าใช้จ่าย ที่ www.processing.org
- มีความสามารถ cross platform ตามคอนเซปของ java คือ เขียนโปรแกรมครั้งเดียว สามารถนำไปใช้ได้หลาย os คือ windows,Linux,Mac-OSX,Androild
- ใช้ไวยากรณ์ของ JAVA เป็นหลัก ซึ่งก็แทบจะเป็น ansi-C เป็นการง่ายที่ เหล่านักเขียนโปรแกรม ที่มี code จากฝั่ง mcu แล้วจะเอามาใช้ จะได้ไม่ต้อง เปลี่ยนไวยากรณ์ แค่ copy วาง ซึ่งตรงนี้กระผมเองเกิดปัญหาตอนเขียน python คือเป็นโรคคิดถึง ; นั่นเอง
- มี library ต่างๆให้ใช้มากและยังสามารถโหลดเพิ่มได้เรื่อย หากไม่พอใจ ก็ยังสามารถเขียน เพิ่มเองได้ โดยใช้ JAVA
- มี community ที่ใหญ่พอสมควรหลักๆผมก็เข้าไปที่ www.openprocessing.org และ www.processing.org จะมีแชร์ code และถามปัญหาได้ ไม่แพ้ฝั่ง python
- ใช้เวลาในการเรียนรู้ต่ำมาก โดยใช้ concept ของการศึกษาผ่าน example code เหมือน เขียน arduino เลยครับ คือ พอ app เราทำงานได้ ทำให้เรามีกำลังใจในการศึกษาต่อ โปรแกรมแรกของผม ผมเขียนเล่น video 4 เรื่อง พร้อมกัน ใช้เวลาศึกษาตั้งแต่เริ่ม ไม่เกิน 30นาที ก็สำเร็จ ผิดกับตอน ใช้ .net c# ที่ ทำตั้งนาน กว่าจะสำเร็จ
- รองรับไวยากรณ์ของ python และ java script ( อันนี้ ยังไม่เคยลอง )
ส่วนข้อเสีย มีแน่ นอน แต่ไม่ขอพูดถึง
แปะไว้ก่อน ... เดี่ยวมาต่อ ในส่วนที่เกี่ยวกับ raspberry pi