Skip to content

เบื้องหลัง Senior Project ของผม [ภาคต้น]

March 26, 2009

นิสิตวิศวฯทุกคน ตอนปี 4 ก็มีโครงงานวิศวกรรมหรือ Senior Project ที่จะต้องทำครับ สำหรับผมแล้ว ผมมีความรู้สึกว่า มันต้องเป็นสิ่งที่ เจ๋งมากๆ เหมือนเป็นโปรเจคทิ้งท้าย โปรเจคที่ต้องแสดงความสามารถให้เต็มที่ โชว์ฝีมือให้สุดๆ นั่นคือ สิ่งที่ผมคิด

ตัว Senior Project นั้น มีได้ 2 แบบครับ คือ เลือกหัวข้อจากที่อาจารย์แต่ละท่านเสนอขึ้นมา หรือ คิดหัวข้อเองแล้วไปคุยกับอาจารย์ ถ้าอาจารย์โอเค ก็ทำได้? แต่ตอนนั้นผมยังติดพันกับ Robocup อยู่ครับ ผมจึงไม่ค่อยมีไอเดียอะไรในหัวเท่าไหร่ จะมีบ้างแต่ก็ไม่น่าจะพอทำเป็น senior project ได้? ผมจึงเริ่ม shopping idea ของอาจารย์ครับ ที่แปะ อยู่บนบอร์ด รวมทั้งเข้าไปคุยกับอาจารย์แต่ละท่านด้วย

Spec ของผมตอนนั้นคือ ผมอยากจะทำอะไรที่ท้าทาย และเป็นสิ่งที่ผมไม่เคยทำ และผมก็อยากทำอะไรที่มันมีเรื่อง Hardware ด้วย เพราะผมรุ้สึกส่วนตัวว่า ผมอยู่กับพวก software ต่างๆมานานพอสมควรแล้ว(เป็นความอวดดีอย่างนึง) ด้วย spec แบบนี้ ก็บีบให้จำนวนอาจารย์เหลือน้อยลงพอสมควร

ผมเข้าไปหา อ.เกริก ภิรมย์โสภา ครับ จากการอ่าน ชีวประวัติของอาจารย์ แล้วรู้สึกชื่นชม หลังจากคุยกับอาจารย์และบอกความต้องการของตน อาจารย์ก็เล่าหัวข้อที่อาจารย์คิดไว้ออกมา ผมตัดสินใจอยู่แป๊ปนึง แล้วก็เลือกมาครับ โจทย์คือ “ผมอยากได้ฮาร์ดดิสก์ที่ต่อเข้า router แล้ว share file ภายในเครือข่ายได้เลย”? (ตอนนั้นผมยังไม่รู้จักพวก NAS box น่ะนะ) ผมรู้สึกมันท้าทายดี และตรงกับ spec ที่ผมคิดไว้

ตอนนั้นมี อีก 2 คน คือ เอก และ สร้อย ที่คิดจะทำหัวข้อนี้เช่นเดียวกัน(ไปหา อ. ก่อนผม แต่ยังไม่ตัดสินใจ) ปรากฏว่าผมตัดสินใจบอกอ.ตอนนั้นเลย แล้ว 2 คนนั้นก็มาบอกอาจารย์ อีกที อ. ก็เรียกผมไปคุย และบอกว่าให้สิทธิผม เพราะผม commit ก่อน(ใช้คำนี้จริงๆ) อ. อยากให้ทำแค่ 1-2 คนต่อกลุ่มเท่านั้น หลังจากต่อรองอยู่ซักพัก อ. ก็ยอมให้ทำ ร่วมกัน 3 คน ครับ โดยที่อ. ไม่ค่อยเห็นด้วยเท่าไหร่

ตรงนั้นเป็นจุดเริ่มต้นที่เริ่มงาน Senior Project ครับ ช่วงแรกๆ ผมมองไม่เห็นภาพของงานซักเท่าไหร่ หลายๆอย่างก็ไม่แน่ใจ จะทำออกมาแบบไหน บน Platform ใด ยังมองไม่เห็นชัดนักครับ แต่ก็ยังมั่นใจตัวเองว่าทำได้ ต่อให้ยากแค่ไหน ถ้ามีเวลาก็น่าจะศึกษาเรียนรู้ และทำมันได้สำเร็จ ก็เข้าไปคุยกับอาจารย์พร้อมกับเพื่อนในกลุ่มครับ คุยๆ(ตอนนั้นอวดดีไปหลายอย่างเหมือนกัน) ก็ตกลงกันว่าจะทำกันโดยใช้ บอร์ด Gumstix (Wiki) เป็นหลัก แล้วก็ได้ Gumstix มา 2 ชุด เอามาเล่นครับ

ช่วงนั้นก็ยังติดพันอยู่กับ Robocup ครับแม้จะแข่งกลับมาแล้วก็ตาม มีมิดเทอมมีงานต่างๆนาๆ ก็เลยไม่มีเวลาเล่นเท่าไหร่ แต่ก็หาข้อมูลเรื่อยๆครับ เป็นนิสัยไม่ดีรึเปล่าไม่รุ้ที่ผมมักจะหาข้อมูลเพื่อ ประเมินความเป็นไปได้ของงานก่อนเสมอ พูดง่ายๆคือหาก่อนว่ามันทำได้มั้ย ทำได้ง่ายๆเลยรึเปล่า (คือไม่อยากจะเจอปัญหา แล้วพยายามแก้ปัญหาเลย ทำนองว่ากลัวปัญหา)? ข้อมูลต่างๆที่เกี่ยวกับงานนี้ทั้งหมด ผมรวบรวมไว้ที่นี่ครับ

ตอนนั้นพวกผมก็หลงทางไปไกลเหมือนกันครับ จับต้นชนปลายไม่ถูกเท่าไหร่ เป็นไปได้มั้ยในเรื่องความเร็ว? มี port พอมั้ย? มันทำไอนี่ได้รึเปล่า? บลาๆๆครับ สาเหตุส่วนนึงก็มาจาก Document ของ Gumstix ครับที่อิง Community Wiki กับ Forum เป็นหลัก ครับ เพราะฉะนั้นจะเจอประเภทที่ว่า อ่านๆไป “ยังไม่เสร็จ เดี๋ยวจะมาเขียนต่อนะ” หรือเจอกระทู้ที่จบด้วย “น่าจะทำแบบนี้นะ ลองดูแล้วกัน” ครับ

จนวันนึง คิดว่าเรียบเรียงออกมาได้แล้วว่า ภาพของงานเป็นยังไง ตอนนั้นคิดว่า สิ่งที่ต้องทำมีคร่าวๆดังนี้ครับ

  • หาทางติดตั้ง Samba ลงบน Gumstix (สร้อยทำ)
  • ศึกษา มาตรฐาน SATA แล้วทำ hardware ขึ้นมา (เอกทำ)
  • เขียนไดร์เวอร์บน Linux ใส่ไว้บน Gumstix ให้ควบคุมพอร์ตต่างๆให้มองเห็นฮาร์ดดิสก์ และ mount มันได้ (ผมทำ)

ซึ่งภายหลังพบว่า มันไม่ใช่แค่นี้!!? แล้วจะเล่าต่อไปครับ

กว่าจะมองเห็นภาพเช่นนั้น ก็ใกล้ระยะเวลาสอบ Proposal พอดี ก็เลยผ่านไปได้ครับ

หลังจากนั้นก็ชิว อยู่ระยะนึงเลยล่ะครับ อุ้ๆๆๆๆ แล้วปิดเทอม ก็มีไปแข่ง TESA กับ เอก เพราะคิดว่าจะได้ความรุ้เกี่ยวกับ embedded system มาช่วยงานนี้บ้าง ซึ่งก้ได้ skill บางอย่างมาบ้างครับ

และแล้วก็ใกล้การส่งรายความก้าวหน้าครั้งแรกครับ ก็พยายามติดตั้ง Samba บน Gumstix กันให้ได้ หลงทางเยอะครับ อุปสรรคมากมาย แต่ก็ได้เรียนรุ้อะไรเยอะพอสมควรทีเดียว มี hack code บ้างเพื่อจะให้ build ผ่าน ได้เข้าใจระบบต่างๆของ Gumstix มากทีเดียวครับ ซึ่งเป็นประโยชน์มากในภายหลัง ตอนแรกเกือบคิดว่าจะไม่รอดแล้ว แต่สุดท้ายก็ทำได้เสร็จก่อนส่งรายงาน 1 วันครับ รอดไป รุ้สึกดีมากตอนรันได้ keyword ของงานนี้มีอยู่ 3 คำครับ Gumstix , Openembedded และ Bitbake

และช่วงเวลาเดียวกัน พวกผมก็เริ่มตระหนักว่า สร้าง hardware ขึ้นมามันไม่ง่ายเลย หลังจากปรึกษาเพื่อนภาคไฟหลายๆคน เพราะความรู้ของพวกเราที่มีอยู่มีน้อยมากเลยครับ ไฟฟ้าก็ไม่แน่น บัดกรีก็ไม่คล่อง อุปกรณ์ต่างทางไฟฟ้า(regulator, op-amp, บลาๆๆ) นี่รุ้จักน้อยมากก แล้วยังจะทำ hardware เป็น interface SATA อีก ซึ่งหลายๆคนบอก “ยากนะๆ”? สุดท้ายก็เลย ไปคุยกับอาจารย์ครับ ขอเปลี่ยนสโคป มาเป็น ใช้ Robostix (บอร์ดเสริมของ Gumstix) และคุยบน ATA หรือ IDE แทนครับ

อ. ก็โอเคครับ พร้อมกับพูดขำๆว่า “เป็นไง ผมเตือนคุณแล้วนะ”

ขอโทษครับอาจารย์ T-T? ที่อวดดีเรื่อง SATA? 😛

ติดตามตอนต่อไป…???

Advertisements

From → diary

7 Comments
  1. “และผมก็อยากทำอะไรที่มันมีเรื่อง Hardware ด้วย เพราะผมรุ้สึกส่วนตัวว่า ผมอยู่กับพวก software ต่างๆมานานพอสมควรแล้ว(เป็นความอวดดีอย่างนึง)” <– ถุย!

    😛

  2. ก็ยังดีที่สุดท้ายก็สำเร็จ

    รออ่านภาคสอง

  3. ijemmy permalink

    ?เป็นไง ผมเตือนคุณแล้วนะ?

    สมกับเป็นอ.เกริกจริงๆ !!

  4. สนุกดีแหะ มาเขียนต่อเร็วๆ นะ ติดตาม

  5. ํYingCP32 permalink

    เป็น senior project ที่ดีทีเดียว

  6. อืม อ่านย้อนขึ้นไปนี้ งง จังอ่ะ
    แต่ก็สนุกดีอ่ะ
    เหมือน เฉลย อารายที่ งงงง
    ไปเรื่อยๆ

Trackbacks & Pingbacks

  1. ชีวิตในปีที่ 23 ทำอะไรไปและมีอะไรต้องทำ « Teerapap Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: