วันอังคารที่ 23 ธันวาคม พ.ศ. 2557

เพิ่มภาษาไทย ให้ pcduino ง่าย ๆ


ภาษาไทย นับเป็นอีกเรื่องหนึ่งที่เมื่อเราติดตั้งระบบปฏิบัติการนั้น ๆ เสร็จแล้ว เราก็ต้องการให้ระบบสามารถที่จะแสดงผลภาษาไทยได้ เขียนได้ โดยปกติแล้วเมื่อเราติดตั้ง pcduino เรียบร้อยแล้วเข้าสู่ xwindows ดังหน้าจอภาพด้านล่างนี้ เราก็จะสามารถแสดงผลภาษาไทยได้อย่างถูกต้องไม่ว่าจะเป็นการเปิดอ่านเว็บต่าง ๆ ผ่านทางโปรแกรม Web Browser ที่ติดตั้งมาพร้อมกับระบบ แต่เราจะไม่สามารถพิมพ์ภาษาไทยได้  ในบทความนี้จะแนะนำการทำให้ pcduino ของเราสามารถพิมพ์ภาษาไทยได้ครับ ซึ่งมีขั้นตอนดังต่อไปนี้

1. เปิด Terminal แล้วพิมพ์คำสั่ง $  sudo  vi  /etc/default/keyboard
2. แก้ไขและตรวจสอบคำสั่งต่าง ๆ ที่ขึ้นต้นด้วย XKB ทั้ง 4 บรรทัดให้ได้ตามตัวอย่างนี้

3. ทำการบันทึกไฟล์นี้ แล้วทำการ reboot เครื่องอีกครั้ง ก็จะสามารถพิมพ์ภาษาไทยได้
4. ** การเปลี่ยนภาษาไทย/Eng สามารถทำได้โดยกากดปุ่ม Shift+Alt ครับ


บทความโดย : ผู้ช่วยศาสตราจารย์กิตติพงษ์ สุวรรณราช
ทดสอบระบบ : วุฒิพงศ์ คงสิบ



วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คอมพิวเตอร์ทำงานแทนมนุษย์

วันนี้อยากเขียนบทความที่ทำให้เราๆ ได้เห็นประโยชน์จาก Micro Controller Board เล็ก ๆ ตัวหนึ่ง ผมขอเรียกสั้นๆ ว่า "บอร์ด" ที่ทำงานได้ดีไม่แพ้ PC หรือเครื่อง Desktop กันเลย แต่ต้นทุนมันต่างกันมาก บอร์ดที่ว่านี้ Raspberry PI ซึ่งมีขนาดเล็กกว่าฝ่ามือของเราอีกครับ  ราคาขายกันทั่วไปก็ประมาณพันๆบาท ไม่เกิน 2 พันบาทครับ มันสามารถทำงานได้หลากหลายมาก เช่น เปิด ปิด หรือควบคุมอุปกรณ์ต่าง ๆ ผ่านทางพอร์ต I/O ต่างๆ ที่มีมาให้บนบอร์ด แต่วันนี้ผมและทีมงานเราเอา Linux มารันบนบอร์ดตัวนี้แล้วก็เขียนโปรแกรมภาษา Python ในการให้มันทำงานเพื่อแสดงสารสนเทศของนักศึกษา ซึ่งเป็นข้อมูลที่นักศึกษาจะลืมกันบ่อยๆ  แล้วต้องมาติดต่อที่เจ้าหน้าที่ในแต่ละวัน


บอร์ด Raspberry PI นี้เราต่อกับจอคอมพิวเตอร์ทั่วไปผ่านทางพอร์ต VGA โดยใช้สายแปลงจาก HDMI to VGA ครับ ใช้ SD Card ขนาด 8 GB แล้วก็ต่อกับ Keyboard และ Mouse ได้เลย ทำงานได้เหมือนกับ PC ดี ๆ หนึ่งเครื่อง แต่ต้นทุนของเราต่ำมาก  ภาพด้านล่างนี้เราพัฒนาโปรแกรมที่แสดงสารสนเทศของนักศึกษาที่มักจะมาสอบถามกันบ่อย ๆ แล้วเจ้าหน้าที่ก็ต้องตอบคำถามเิดิม ๆ ซ้ำ ๆ กันบ่อย ๆ ก็เลยให้ Raspberry PI ทำงานตรงนี้แทนมนุษย์ เพื่อลดการทำงานของมนุษย์ได้มากในแต่ละวัน เพื่อจะได้มีเวลาไปบริการงานอื่นๆ หรือพัฒนางานใหม่ ๆ ต่อไป


เมื่อนักศึกษากรอกรหัสประจำตัวเรียบร้อยแล้ว ก็จะปรากฏสารสนเทศของนักศึกษาคนนั้นๆ บนหน้าจอ แล้วก็บอกข้อมูลที่จำเป็นออกมาให้ทราบ ส่วนข้อมูลใดเป็นความลับหรือเป็นรหัสผ่านก็จะบอกเพียง 60% ของคำตอบ ซึ่งที่เหลืออีก 40% นักศึกษาก็จะคาดเดาเองได้ว่าคำตอบนั้นคืออะไร


เมื่อต้นแบบจากด้านบนสำเร็จ เราก็ประกอบร่างครับ โดยการนำเอาบอร์ด Raspberry PI  จอภาพ และคีย์ตัวเลขมาใส่ตู้ Kioask ที่ได้จัดเตรียมไว้ เพื่อนำไปให้บริการกับนักศึกษาต่อไป ดังภาพที่แสดงด้านล่างนี้



จากข้อมูลที่ได้นำเสนอข้างต้น อยากชี้ให้เห็นว่า งานบางงานเราไม่จำเป็นต้องลงทุนสูงมาก ๆ แต่ขอให้เรารู้ว่าเราสามารถใช้อะไรแทนสิ่งนั้น หรืออุปกรณ์นั้นได้ แล้วทำให้ได้คำตอบหรือผลลัพธ์ที่เหมือนกันก็ถือว่าเราทำสำเร็จ สุภาษิตจีนเคยกล่าวไว้ว่า "แมวไม่ว่าจะสีอะไร ขอให้จับหนูได้เป็นพอ"

ต้นทุนงานนี้ บอร์ด Raspberry PI = 1,500 บาท  SD Card 8 GB = 179 บาท คีย์ตัวเลข 250 บาท รวมเป็น 1,929 บาท (เรามีจอภาพ และตู้ Kiosk เก่าอยู่แล้ว)  ระบบดังกล่าวสามารถทำงานแทนมนุษย์ได้ดีด้วยต้นทุนต่ำมาก แต่ถ้าเราไปซื้อคอมพิวเตอร์หนึ่งเครื่องเฉพาะกล่อง CPU ก็ไม่ต่ำกว่า 10,000 บาทแน่นอนครับ  ถ้าเราทำแบบนี้ได้เยอะๆ ประเทศไทยของเราก้าวกระโดดแน่นอนครับ (Internet of Things : IoT)

บทความ : ผู้ช่วยศาสตราจารย์กิตติพงษ์ สุวรรณราช  kitti@psru.ac.th
ผู้พัฒนาระบบ : นายโสภณ พินิจกิจเจริญกุล

วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

การติดตั้ง Linux image บน pcduino

บทความก่อนหน้านี้ เราได้รู้จักกับ pcduino v.3 ไปแล้วนะ วันนี้อยากจะแนะนำการติดตั้ง Linux image ที่สามารถทำงานได้กับ pcduino ครับ เริ่มกันเลยแล้วกัน

1. เข้าสู่เว็บ http://www.linksprite.com/?page_id=855  ซึ่งจะเป็นเว็บเกี่ยวกับ image ของ pcduino และเรื่องที่ควรรู้เกี่ยวกับบอร์ดนี้ครับ


2. เตรียมโปรแกรมที่จำเป็นในการเขียน Image โปรแกรมนี้ชื่อว่า Win32DiskImager ซึ่งสามารถดาวน์โหลดได้จาก ที่อยู่นี้  จากนั้นให้ทำการแตกไฟล์ .zip ที่ดาวน์โหลดมา ก็จะเห็นโปรแกรม Win32DiskImager ที่พร้อมใช้งาน
3. เตรียม Micro SD card ที่มีความจุ 8GB ครับ  เฉพาะ Image ของ Linux นี้ก็จะใช้พื้นที่ประมาณ 4GB เข้าไปแล้ว เนื้อที่ที่เหลือไว้ใช้งานกับระบบเพิ่มเติม
4. เตรียม Download Ubuntu SD Bootable image ซึ่งจะเป็น Image ที่เตรียมไว้สำหรับใช้งาน Linux ครับ โดยไฟลนี้จะมีขนาดประมาณ 722 MB (Download) เมื่อดาวน์โหลดเสร็จแล้วให้ทำการแตกไฟล์นี้เตรียมพร้อมไว้นะ
5. คลิกโปรแกรม Win32DiskImager ที่ได้แตกไฟล์ จากข้อ 3.


6. เลือกไฟล์ที่ได้แตกจากข้อ 4. และเลือก Drive ที่มีเป็น Micro SD Card (ว่างเปล่า) พร้อมที่จะเขียน Image ลงไปใน Micro SD Card


7. เมื่อทุกอย่างพร้อม ให้กดปุ่ม Write จากรูปในข้อ 6. ที่ปรากฏด้านล่าง แล้วรอจนกว่าจะเสร็จเรียบร้อย
8. นำ Micro SD Card ที่ได้บันทึก Image ของ Linux ที่ได้ดำเนินการแล้วจากข้อ 7. ใส่ไปในบอร์ด pcduino v.3 ในช่องเสียบ Micro SD Card ให้เรียบร้อย จากนั้นให้เสียบสาย power เพื่อให้บอร์ดทำงานเป็นอันเสร็จกระบวนการครับ
9. ขอให้สนุกกับการเล่นและเรียนรู้ pcduino นะครับ


วันเสาร์ที่ 13 ธันวาคม พ.ศ. 2557

วันแรกของการได้สัมผัส pcduino v.3

วันนี้นับเป็นวันแรกที่ได้มีโอกาสได้สัมผัสกับบอร์ด pcduino ซึ่งเป็น Micro Controller board ขนาดเล็กที่มีความสามารถเปรีบบเท่ากับ Computer หนึ่งเครื่อง บอร์ดนี้ประกอบไปด้วยส่วนประกอบหลายๆ ส่วนอาทิเช่น มีส่วนของการเชื่อมต่อกับอุปกรณ์ต่างๆ เช่น พอร์ต USB, HDMI , LAN , Micro USB ,WiFi , I/O อีกจำนวนหนึ่ง ทำให้เราสามารถใช้งานแทนคอมพิวเตอร์ได้หนึ่งตัวเลยทีเดียว รายละเอียดของ hardware สามารถอ่านรายละเอียดเพิ่มเติมได้จาก http://www.pcduino.com


บอร์ด pcduino นี้ใช้ CPU 2 ตัวในการทำงาน หรือที่เราเรียกว่า Dual CPU  ทำให้การประมวลผลมีความเร็ว มีหน่วยความจำมากับบอร์ดจำนวน 1GB และสื่อบันทึกข้อมูลที่ติดตั้งมาด้วยอีก 4GB และสามารถขยายได้ถึง 32 GB มากับ AllWinner A20 SoC, 1GHz ARM Cortex A7 Dual Core 
โดยส่วนตัวแล้วผู้เขียนชอบบอร์ด pcduino ในจุดเด่นตรงไหนบ้าง
1. บอร์ดนี้สามารถนำไปติดตั้งได้กับระบบปฏิบัติการ Linux และ Android 
2. มีพอร์ต LAN 10/100 MB และ WiFi มาให้ในตัว
3. มีพอร์ตสื่อสารแบบ SATA  1 พอร์ต ทำให้เราขยาย Storage ได้ในอนาคต
4. ใช้พลังงานน้อย ต้องการไฟฟ้า DC5V , 2A ก็สามารถจ่ายให้บอร์ดนี้ทำงานได้เหมือนกับ Server ตัวหนึ่งเลย
5. มีพอร์ต I/O มาให้ 14 GPIO และอื่นๆ
6. มีปุ่มกดมาให้บนบอร์ดใช้สำหรับ Android คือ ปุ่ม Home, Back , Menu และอีก 2 ปุ่ม เพิ่มเติม
7. ราคาไม่แพง น่าคบ  ทำให้ต้นทุนต่ำนำมาต่อยอดสร้างเป็นผลิตภัณฑ์ได้หลากหลาย

การทดสอบครั้งแรกกับ pcduino
- การบูต Linux ทำได้เร็วมาก เมื่อเสียบ Adapter ให้กับบอร์ดแล้ว จะใช้เวลาในการบูทประมาณ 17 วินาทีจะเข้าสู่การทำงานใน xwindows ทันที
- การทำงารบนสภาพแวดล้อมบน xwindows นั้นทำงานได้เร็ว ไม่กระตุก เมนูตอบสนองทันต่อการเลื่อนหรือคลิกเมาส์
- บน xwindows มีโปรแกรมพื้นฐานมาพร้อมใช้งานพื้นฐานได้ และมีโปรแกรม Arduino IDE ให้ด้วยพร้อมเขียนโปรแกรมกับ Arduino ได้ทันที
- การแสดงผลผ่านจอภาพด้วยพอร์ต HDMI สามารถเชื่อมต่อได้ทันที และบอร์ดนี้เราสามารถใช้ตัวแปลงสัญญาณ HDMI2VGA เพื่อสั่งให้สัญญาณภาพไปออกที่จอคอมพิวเตอร์ VGA ได้ทันที่ โดยไม่ต้องติดตั้งโปรแกรมเสริมใด ๆ เพิ่มเติม
- การเชื่อมต่อกับ Internet นั้นระบบได้กำหนดให้มีพอร์ต LAN และ WiFi มาให้  บน xwindows นั้นผมใช้ Wifi เพื่อเชื่อมต่ออินเทอร์เน็ตได้ทันที โดยที่ไม่ต้องออกแรงปรับแต่งระบบใด ๆ ทั้งสิ้น (ง่ายมาก ๆ )
- การแสดงผลภาษาไทยผ่านเว็บเบราเซอร์สามารถอ่านได้ดีครับ แต่ยังพิมพ์ไทยไม่ได้นะ (เดี๋ยวแก้ไขให้แล้วจะนำมาเล่าให้ฟัง) และก็เปิดเว็บที่เป็น Flash plugin ก็สามารถแสดงผลได้ดี
- การเปิดพวกเว็บ Youtube เพื่อดูวิดีโอนั้น เปิดไม่สำเร็จครับ หรืออาจจะเป็นที่เน็ต 3G ที่ผมใช้งานอยู่ไม่แรงพอก็เป็นได้


มีโปรแกรม Arduino IDE และ Scratch มาด้วยนะ

ตัวอย่างหน้าจอโปรแกรม Arduino IDE


ขณะบูทเครื่องแสดงให้เห็นว่าเป็น Dual core
(เพนกวิน 2 ตัวที่ด้านบนจอภาพ)



ส่วนรายละเอียดอื่นๆ หากทดสอบอะไรเพิ่มเติมจะนำมาเล่าให้ฟังนะ บทความนี้เป็นบทความแรกที่เขียนเกี่ยวกับบอร์ดนี้ มีอะไรก็แนะนำได้ครับ    ผมเองต้องขอขอบคุณคุณหมอสมนึก ศรีวิศาล ที่ได้กรุณาหิ้วบอร์ดนี้มาให้จากแดนไกล ขอบคุณมากครับ