Electoday 4.0

ไมโครคอนโทรลเลอร์ => Embedded System Board => Topic started by: p_chusak on November 13, 2015, 03:58:40 pm

Title: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: p_chusak on November 13, 2015, 03:58:40 pm
เริ่มต้นกับ 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


(http://s15.postimg.org/gjru3dmlz/test1.jpg) (http://postimg.org/image/gjru3dmlz/)
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: sitthisak2024 on November 13, 2015, 04:36:13 pm
 (http://www.mx7.com/i/993/EsyB3W.png) (http://www.mx7.com/view2/yIUIuZ1gML3WLCKS)
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: suriya22 on November 13, 2015, 05:05:06 pm
โอ้ น้ำลายไหลเลยครับ :)
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: MAbUS on November 13, 2015, 08:40:27 pm
สมันน้อยอย่างผมอ่านแล้วตาลุกวาวเลยครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: chatmar on November 13, 2015, 08:57:15 pm
เยี่ยม นำทางให้ด้วย ดีเลยครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: cleanup on November 14, 2015, 04:18:36 am
สุดยอด  แนะนำหน่อยก็จะดี โดยเฉพาะมือใหม่อย่างผม
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: p_chusak on November 14, 2015, 06:38:55 am
ขั้นตอนการ install processing
        ในการนี้ขอเสนอการ install ด้วย GUI ครับ ซึ่ง ง่ายและคุ้นเคย จะได้ไม่ต้องจำคำสั่ง command line ที่ยาวๆซับซ้อน

      1. เตรียมบอร์ด r-pi ของเราให้พร้อม โดยลง os (ผมใช้ ราสเบี้ยน )ต่อจอ ต่อ mouse ต่อ keyboard และทำให้ boot ไปที่ desktop ครับ ซึ่งส่วนนนี้ จะไม่อธิบายนะครับ สามารถหาดูได้ ตามเวปต่างๆที่เป็นพื้นฐานการเริ่มต้นใช้งาน
       2.เปิด browser ขึ้นมา แล้วไปที่ www.processing.org
                     
       
(http://s2.postimg.org/lppf7x2cl/step_01.jpg) (http://postimg.org/image/lppf7x2cl/)
        3. เลือก Download Processing
        4. อันนี้ เราจะจ่ายตังเพื่อสนับการพัฒนา หรือ ถ้าจะโหลดฟรีก็เลือก No Donation แล้ว กด Download


(http://s30.postimg.org/rgi6iybjh/step_02.jpg) (http://postimg.org/image/rgi6iybjh/)
        5. เลือก รุ่นที่จะใช้งาน สำหรับ r-pi ให้เลือก รุ่น Linux ArmV6hf
   

(http://s1.postimg.org/xfsocm5gb/step_03.jpg) (http://postimg.org/image/xfsocm5gb/)
        6. เมื่อ โหลดเสร็จก็ไปที่ ตำแหน่งที่ download ไว้แล้วแตก file ออกมา จาก นั้นเราสาทารถย้าย folder ไป ไว้ที่ ที่เราต้องการได้ อันนี้ผมจะเอาไปไว้ที่                 /home/pi


(http://s4.postimg.org/7h0d3ghfd/step_04.jpg) (http://postimg.org/image/7h0d3ghfd/)


(http://s22.postimg.org/kp9ei1oa5/step_05.jpg) (http://postimg.org/image/kp9ei1oa5/)


(http://s3.postimg.org/9d7zfhmz3/step_06.jpg) (http://postimg.org/image/9d7zfhmz3/)


(http://s21.postimg.org/tgz7lm3xf/step_07.jpg) (http://postimg.org/image/tgz7lm3xf/)
    7. การรันโปรแกรม เพียง ดับเบิ้ลคลิ๊กที่ ไฟล์ exe  ชื่อ  processing เป็นอันใช้ได้ หรือ หาก คิดถึง command line ก็สามารถพิมพ์ให้รันจากได้เช่นกัน


(http://s3.postimg.org/3t03ildhr/step_08.jpg) (http://postimg.org/image/3t03ildhr/)


(http://s15.postimg.org/lk0rrojp3/step_09.jpg) (http://postimg.org/image/lk0rrojp3/)


(http://s27.postimg.org/oio282mbz/step_10.jpg) (http://postimg.org/image/oio282mbz/)


(http://s22.postimg.org/44aytvbxp/step_13.jpg) (http://postimg.org/image/44aytvbxp/)


(http://s30.postimg.org/zcyiwtejx/step_11.jpg) (http://postimg.org/image/zcyiwtejx/)


(http://s3.postimg.org/3kgaxw4un/step_12.jpg) (http://postimg.org/image/3kgaxw4un/)

    7.  เป็นอันเสร็จพิธีครับ จากนั้น ลองเปิด file ตัวอย่าง มาศึกษาเล่นๆ ก่อนนะครับ บาง file อาจจะรันไม่ได้ ไม่ต้องตกใจครับ เป็นเรื่องปรกติ ครับ เพราะนี่เป็น version แรก ที่ ทำออกมาสำหรับ arm อาจจะมีติดขัดบ้าง แล้วตอนนี้ java ก็เป็นตัวใหม่ ใช้ driver display ใหม่ พบว่า เกิดปัญหาจุกจิกนิดหน่อย กำลังตามแก้กันอยู่ครับ แต่ส่วนใหญ่ก็ใช้งานได้ครับ

      อันนี้ เปิด ตัวอย่าง เล่นๆครับ
               

(http://s18.postimg.org/srebccj85/step_14.jpg) (http://postimg.org/image/srebccj85/)


(http://s18.postimg.org/fjexjelp1/step_15.jpg) (http://postimg.org/image/fjexjelp1/)
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: suriya22 on November 14, 2015, 12:11:31 pm
ขอบคุณครับ รอบทต่อไปนะครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: q2/62 on November 16, 2015, 12:42:21 am
ขออนุญาติ ขอบคุณนะครับ p_chusak

 ;D
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: bird techstep on November 16, 2015, 06:43:24 pm
เรื่องนี้ พลาดไม่ได้ ทดลองเบื้องต้นแล้ว มันเยี่ยมมาก  ;D ;D ;D
ขอบคุณ p_chusak มาก
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: cleanup on November 17, 2015, 04:37:16 am
สุดยอดแห่งการรอคอย  ขอบคุณครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: rote.life on November 17, 2015, 06:33:53 am
ขอบคุณมากๆครับ น่าสนใจมากๆ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: kornEragon on November 24, 2015, 01:38:00 pm
ขอบคุณมากครับ น่าลองเล่นดู
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: koonsai on November 25, 2015, 10:21:41 am
ปูเสื่อรอครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: amaloma on November 28, 2015, 11:26:26 am
ขอบคุณมากๆครับ  เปิดโลกให้ผมเลย
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: p_chusak on December 02, 2015, 10:47:17 am
มา update ว้า ตัว OS ล่าสุด rasbian jessy ใส่ processing มาให้เลยครับ( อยู่ใน menu >> sound & video) สดวกสบายกว่าเดิม แสดงว่า เริ่มจะ support กันอย่างเป็นทางการแล้วแล้วยังมี ide JAVA ใส่มาให้อีก เมื่อก่อนใส่แต่ python มาให้
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: nine on January 15, 2016, 01:40:42 pm
ขอบคุณมากๆครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: kaki on January 26, 2016, 03:05:13 pm
สุดยอดครับ กำลังหาแนวทางทำอยู่พอดีครับ
Title: Re: บันทึกการเรียนรู้ raspberry-pi ด้วย software processing
Post by: kornEragon on March 02, 2016, 01:22:24 pm
ดีครับกำลังมองหาแน่ทางอยู่เลยครับ ว่าจะ arduicam อยู่เลยครับ ขอบคุณมากครับ