หน้าเว็บ

วันอังคารที่ 24 พฤษภาคม พ.ศ. 2554

Ubiquitous Computing, Wireless Sensor Networks และ TinyOS

TinyOS เป็นหัวใจหลักที่ทำให้โปรเจ๊คนี้เลือกใช้บอร์ด Telosb
แต่ก่อนลงลึกถึงวิธีการพัฒนาโปรแกรมสำหรับ TinyOS
ผมอยากให้ผู้อ่านได้รับรู้เรื่องนี้ก่อน..
เพื่อจะได้เห็นภาพใหญ่ๆของเทคโนโลยีที่เกี่ยวข้องในด้านนี้

คงมีใครหลายคนทราบมาแล้วบ้างว่า..
ตอนนี้เราอยู่ในยุคของการคำนวณ (Computing) ที่เรียกกันว่า
Ubiquitous Computing (อุบิคิวตัส คอมพิวติ้ง)

Ubiquitous เป็นคำที่มีรากศัพท์มาจากภาษาลาตินซึ่งแปลว่า "มีอยู่ทุกที"
Mark D. Weiser อดีตนักวิทยาศาสตร์ของ Xerox
ได้นำคำนี้มาประดิษฐ์เป็นคำที่ใช้อธิบายลักษณะของคอมพิวเตอร์ในยุคที่สาม

Mark D. Weiser กล่าวไว้ว่า

"Ubiquitous computing names the third wave in computing, just now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives."

ซึ่งสรุปความหมายได้ว่า...

การคำนวนในยุคที่หนึ่งคือยุค Mainframe computing
เครื่องจักรที่ใช้ในการคำนวนยุคนั้น ถูกเรียกกันว่าคอมพิวเตอร์เมนเฟรมนั้นเอง

ยุคที่สองคือยุค personal computing หรือยุคของคอมพิวเตอร์ส่วนบุคคล (PC)

และคลื่นลูกที่สามที่กำลังเริ่มขึ้นอยู่นี้คือ ยุค Ubiquitous computing (คอมพิวเตอรทุกแหงหน)
เป็นยุคแห่งเทคโนโลยีแห่งความสงบเงียบ
เป็นยุคที่คอมพิวเตอร์ฝังตัวอยู่เบี้องหลังในทุกๆทีทุกๆแห่งและเป็นส่วนหนึ่งในชีวิตผู้คน
จนผู้คนไม่สามารถรู้ได้ว่าเขากำลังมีปฏิสัมพันธ์กับคอมพิวเตอร์อยู่

เพราะเป็นผู้กำเนิดแนวคิดนี้ Mark D. Weiser
จึงได้รับการยอมรับว่าเป็นบิดาของ Ubiquitous Computing

ตอนนี้มีเทคโนโลยีเด่นๆอยู่สองเรื่องที่ทำให้เรื่องนี้เป็นจริงได้อย่างชัดเจน
เทคโนยีแรกเรียกว่าเทคโนโลยี mobile computing...

อีกเทคโนโลยีคือ wireless sensor network (เครือขายเซ็นเซอรไรสาย)

เครือขายเซ็นเซอรไรสายเกิดขึ้นจากการผสมผสานระหวางเทคโนโลยีระบบสมองกลฝงตัวและการสื่อสารไรสายที่สงผานขอมูลระหวางเซ็นเซอรโหนดดวยรูปแบบเครือขายแบบ ad-hoc

จุดเดนของเครือขายเซ็นเซอรไร้สายที่อาศัยโปรโตคอลแบบ ad-hoc คือไมจําเปนตองมีการติดตั้งอุปกรณพื้นฐานสําหรับเครือขายเชนเดียวกับเครือขายแบบ WLAN หรือ GSM
นอกจากนี้ การออกแบบเซ็นเซอรโหนดใหมีขนาดที่เล็กและใชพลังงานนอยทําใหสามารถติดตั้งไดในสภาพแวดลอมที่หลากหลาย ทำให้เทคโนโลยีเครือขายเซ็นเซอรไดถูกคาดการณวาจะเปนเทคโนโลยีหลักในการขับดันสูยุคของคอมพิวเตอรทุกแหงหนดวยการสรางสภาพแวดลอมประดิษฐในรอบๆตัวของเราทุกคน

ปัจจุบันเครือขายเซ็นเซอรไร้สายได้มีการพัฒนาให้ใช้ได้จริงได้หลายอย่าง

ตัวอย่าง smart home, smart health และ smart farm

smart home อย่างเช่น เดินเข้าห้องไหนไฟห้องนั้นติดเลย หรือการดูกล้องวงจรปิดในบ้านจากที่ไหนก็ได้ในโลกนี้

smart health อย่างเช่น เมื่อค่าชีพจรหรือค่าความดันของผู้ป่วย เกินค่าที่ตั้งไว้ ก็จะมีข้อความแจ้งเข้ามือถือหมอทันที

smart farm อย่างเช่น เกษตรกรสามารถตรวจวัดค่าจาก sensor ต่างๆที่ไปติดไว้ในไร่สวนและช่วยจัดการไร่ส่วนได้อัตโนมัติ เช่นวัดค่าความชื้นในดินและเมื่อความชื้นน้อยกว่าที่กำหนดก็สั่งให้รดน้ำจนได้ระดับความชื้นที่ต้องการ หรือใช้ควบคุมเครื่องมือต่างๆให้ทำไร่ทำสวนแทนคนได้ ในเมืองไทยเองก็เริ่มมีให้เห็นแล้ว เช่น โครงการตามลิงส์นี้ http://nanotech.sc.mahidol.ac.th/i-sense/smartvineyard.html

หากถ้าจะถามว่าแล้ว TinyOS มาเกี่ยวอะไรกับเขาล่ะ เกี่ยวดังนี้ครับ

TinyOS หรือ Tiny microthreading Operating System เปนระบบปฏิบัติการขนาดเล็กที่ถูกพัฒนาขึ้นเพื่อรองรับการพัฒนาเครือขายเซ็นเซอรไร้สาย โดยมีลักษณะที่สำคัญดังต่อไปนี้
  • ความสามารถในการจัดการงาน (task management) ดวยนโยบายจัดลําดับแบบ FIFO
  • การสื่อสารแบบไรสายดวยโปรโตคอลแบบ ad-hoc และรองรับการทํางานแบบพรอมกัน (concurrent operation)
  •  ระบบปฏิบัติการ TinyOS มีกลไกการทํางานแบบตอบสนองตอเหตุการณ(event-based execution) จึงรองรับการทํางานของหลายแพลิเคชั่นโดยไมจําเปนตองใชหนวยความจําขนาดใหญ ซึ่งแตกตางจากระบบเธรด(thread) ที่ตองการพื้นที่ของสแตค (stack) สําหรับเก็บสถานะ และขอมูล
  • การพัฒนาแอพลิเคชั่นใหทํางานบน TinyOS จะอาศัยภาษา nesC ซึ่งเปนภาษาเฉพาะที่ดัดแปลงมาจากภาษา C ในการอธิบายถึงการประมวลผลสําหรับแตละเหตุการณที่นิยามไว

คราวหน้าคงจะได้แสดงตัวอย่างง่ายๆในการพัฒนาโปรแกรมสำหรับ TinyOS ซึ่งจริงๆแล้วการพัฒนาโปรแกรมแบบนี้ค่อนข้างจะสำเร็จรูปทีเดียว

1 ความคิดเห็น: