วิจัยค้นคว้า


การบันทึกตำแหน่งพิกัดจากอุปกรณ์ USB GPS โดยใช้ภาษา Python

บทความนี้จะนำเสนอวิธีการใช้งาน USB GPS ผ่านทางภาษา Python บนระบบปฏิบัติการ Linux (รวมถึง Raspberry Pi ด้วย) เพื่อให้สามารถอ่านค่าพิกัดปัจจุบันและบันทึกไว้ในไฟล์เพื่อนำไปประมวลผลต่อไป


การ plot ตำแหน่งพิกัดลงบน Google Map โดยใช้ Python อย่างง่าย

โครงงานที่มีการใช้ GPS ในการบันทึกตำแหน่งเพื่อติดตาม หรือประเมินการเดินทาง ย่อมต้องมีการนำจุดพิกัดไปนำเสนอในรูปของแผนที่ บทความนี้จะนำเสนอวิธีการ plot ตำแหน่งพิกัดลงบน google maps อย่างง่าย โดยใช้ภาษา python


ตรวจสอบใบหน้าโดยใช้ Raspberry Pi + Webcam 1

มีโครงงานหลายชิ้นที่ได้สอบทีมงาน LIL ว่าจะสามารถใช้ Raspberry Pi ในตรวจสอบว่ามีใบหน้าคนอยู่ในภาพที่ได้จาก webcam หรือไม่ ซึ่งจากการศึกษาค้นคว้าเบื้องต้นก็พบว่าสามารถทำได้ไม่ยากจึงได้นำมาเรียบเรียงไว้


การทำ Scratch รุ่นปรับปรุงให้ใช้งานได้บน Raspberry Pi

เนื่องจากทางห้องวิจัย LIL ได้พัฒนาโปรแกรม Scratch รุ่นพิเศษขึ้นมาเพื่อให้มีคำสั่งในการควบคุมการทำงานของชุดหุ่นยนต์ GoGo Board โดยจะมีประโยชน์มากเมื่อนำไปใช้กับบอร์ดใหม่ที่ชื่อ PiTopping ซึ่งคือ GoGo Board รุ่นดัดแปลงย่อส่วนให้ขี่อยู่บน Raspberry Pi ได้ แต่ปัญหาที่พบคือ Scratch รุ่นที่ปรับปรุงนี้ไม่สามารถรันบน Raspberry Pi ได้ จึงเป็นปัญหาทำให้โครงการนี้ชะงักไประยะหนึ่ง แต่ถึงวันนี้สามารถแก้ไขปัญหาได้แล้วจึงนำวิธีการมาเรียบเรียงไว้ที่นี่


Tinker

Tinker คือ เว็บแอพพลิเคชั่นสำหรับการเขียนโปรแกรมสั่งงานหุ่นยนต์โกโกบอร์ด ในรูปแบบของ Block Programming โดยเน้นการใช้ส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) ซึ่งช่วยให้เด็กสามารถเขียนโปรแกรมได้ โดยการลากวางบล็อคคำสั่งมาประกอบกันเป็นชุดโปรแกรมควบคุมสั่งงาน เพื่อนำไปประยุกต์ใช้งานได้โดยไม่จำเป็นต้องมีพื้นฐานความรู้ในการเขียนโปรแกรม


I/O Blocks – ระบบเครือข่าย I/O แบบกริด

I/O Blocks คือเครือข่ายโหนด Input หรือ output แบบ Modular ที่ช่วยให้สร้างต้นแบบของโครงงานที่ต้องการจำนวน I/O ที่หลากหลายได้ในเวลาอันรวดเร็ว


Python Module สำหรับ Download Logo binary code ลงไปยัง GoGo Board

โปรเจกเล็กๆ นี้พัฒนาขึ้นมาด้วยเหตุผลสองอย่างครับ ประการแรกคือตอนนี้ที่ lab กำลังพัฒนาระบบเขียนโปรแกรมสำหรับ GoGo Board ตัวใหม่ซึ่งเป็น Web Application (ชื่อ tinker) ซึ่งการที่มันจะโหลดโปรแกรมลง GoGo Board ได้นั้นจะต้องมีโปรแกรมตัวกลางช่วยรับค่าจาก Web App ผ่านทาง Web Socket แล้วส่งต่อไปยัง GoGo Board ผ่านทาง Serial Port ซึ่งตัวกลางที่ว่าคือเจ้า Python โมดูลตัวนี้นั่นเอง ส่วนเหตุผลที่สองที่พัฒนามันขึ้นมานั้นเป็นเพราะคันมือ นานๆ จะมีเวลาว่างได้เขียนโปรแกรมสักที ประกอบกับกำลังประทับใจกับความตรงไปตรงมาของภาษา Python เป็นแรงผลักดันให้ใช้เวลาครึ่งวันนั่งทำ การโหลด Logo Binary Code เจ้า Binary Code ที่ว่านี้คือ Code ที่ผ่านการ compile มาจาก Logo Compiler […]


เชื่อมต่อ Web App กับ GoGo Board ผ่าน Web Socket ใน Python

ปกติเวลาเขียน Web Application ขึ้นมา ข้อจำกัดสำคัญสำหรับงานสาย Hardware คือตัว Web Application จะไม่สามารถพูดคุยกับ Hardware โดยตรงได้ ต้องอาศัยตัวกลาง ซึ่งวิธีที่ดูจะมีประสิทธิภาพมากที่สุดในตอนนี้คือการให้ Web Application คุยผ่าน Web Socket ไปยังโปรแกรมที่ run บนคอมพิวเตอร์ซึ่งจะไปพูดคุยกับอุปกรณ์ Hardware (ในที่นี้คือผ่านทาง Serial Port) อีกทอดหนึ่ง จากที่เคยเห็นนักศึกษาพยายามทำวิธีนี้โดยใช้วิธีต่างๆ เช่น Java, PHP และตนเองเคยลองใช้ Unity3D (Mono C#) ค่อนข้างน่าประหลาดใจว่ามันเป็นเรื่องที่ยุ่งยากมาก  เช่นใน Java และ PHP นักศึกษาที่ลองบอกว่าต้องติดตั้ง Apache/Tomcat Web Server ด้วย ส่วนใน Unity3D แม้ไม่ต้องใช้ Apace แต่การใช้งานก็วุ่นวาย […]