เมื่อก่อนจะเห็นแต่คอมพิวเตอร์ส่วนบุคคลเท่านั้นที่มีระบบปฎิบัติการ (Operating system: OS) เช่น ระบบปฎิบัติการวินโดน์ ระบบปฎิบัติการลีนุก เป็นต้น
แต่เดียวนี้ในระบบสมองกลฝังตัว (Embedded System) ก็มีการใช้ระบบปฎิบัติการอย่างแพร่หลาย ที่คุ้นหูกันที่สุดคือระบบปฎิบัติการแอนดรอยสำหรับมือถือ การมีระบบปฎิบัติการทำให้โปรแกรมเมอร์สามารถเขียนโปรแกรมหรือแอปพลิเคชันได้โดยไม่ต้องมีความรู้ลึกซึ้งเกี่ยวกับฮาร์ดแวร์ซึ่งต่างกับการพัฒนาโปรแกรมสำหรับมือถือแบบเก่า ทำให้การเขียนโปรแกรมง่ายและหลากหลายขึ้น มือถือทุกวันนี้ก็เลยทำงานได้หลากหลายมากกว่าเมื่อก่อน
ถ้าระบบนั้นไม่ซับซ้อนมากๆระบบปฎิบัติการก็ไม่จำเป็นเหมือนกัน แต่เนื่องจากใน 20 ปีข้างหน้าเราไม่รู้เลยว่าเราจะต้องการอุปกรณ์ทุ่นแรงในการทำเกษตรที่ซับซ้อนมากน้อยแค่ไหน แต่ที่ผมวาดไว้ซึ่งมันก็อาจจะผิดก็ได้ก็คือ ในวันนั้นเราอาจจะต้องการให้ไมโครคอนโทรเลอร์ธรรมดาๆอันหนึ่งทำไร่ทำสวนได้ซับซ้อนอย่างที่เราคาดไม่ถึง อย่างเช่น เอาไมโครคอนโทรเลอร์ตัวนั้นไปติดไว้กับอุปกรณ์ที่เคลื่อนที่ได้ตัวหนึ่ง แล้วไมโครคอนโทรเลอร์ก็สั่งอุปกรณ์ตัวนั้นวิ่งสำรวจไปตามไร่แปลงที่หนึ่ง ระหว่างนั้นเซ็นเซอร์ที่พ่วงติดไว้กับไมโครคอนโทรเลอร์ก็วัดความชื้นในดิน วัดแร่ธาตุในดิน กล้องเว๊บแคมที่ติดไว้กับไมโครคอนโทรเลอร์นั้นก็ถ่ายรูปไว้ แล้วไมโครคอนโทรเลอร์ตัวนั้นก็ส่งข้อมูลที่วัดเหล่านั้นไปที่คอมพิวเตอร์ที่ใหญ่กว่า โปรแกรมที่อยู่บนคอมพิวเตอร์ก็นำข้อมูลมาวิเคราะห์ว่า ความชื้นที่มีอยู่ควรรดน้ำแค่ไหน ปริมาณแร่ธาตุมีอยู่ในดินเท่าไร จะต้องใส่ปุ๋ยเพิ่มหรือไม่ ต้องใส่เท่าไร หลังจากนั้นคอมพิวเตอร์ก็วิเคราะห์รูปถ่ายที่ไมโครคอนเทอร์ส่งมาว่ามีวัชพืชหรือไม่ มีเพลี้ยหรือแมลงศัตรูพืชหรือไม่ เมื่อวิเคราะห์ผลเสร็จ คอมพิวเตอร์ก็ส่งคำสั่งกลับไปที่ไมโครคอนโทรเลอร์ ไมโครคอนโทรเลอร์ตัวนั้นก็สั่งให้มีการรดน้ำ สั่งให้ใส่ปุ๋ย สั่งให้การจำกัดวัชพืช สั่งให้จำกัดแมลง ตามที่คอมพิวเตอร์วิเคราะห์มาให้
เพื่อเตรียมไว้สำหรับวันนั้น TinyOS ซึ่งเป็นระบบปฎิบัติการโอเพ่นซอร์สสำหรับเครือข่ายเซ็นเซอร์ไร้สายจึงถูกนำเสนอในบล๊อกแห่งนี้ โดยทิ้งเรื่องของการพัฒนาฮาร์ดแวร์ให้มีราคาถูกลงไว้เป็นโจทย์ต่อไป (ซึ่งใน 20 ปีข้างหน้าอุปกรณ์พวกนี้น่าจะมีประสิทธิภาพและราคาถูกลงกว่านี้อีกพอสมควร)
ในการพัฒนาโปรแกรมสำหรับไมโครคอนโทรเลอร์ซึ่งมีหน่วยประมวลผล (CPU) และหน่วยความจำ (RAM) ที่น้อยมากเมื่อเทียบกับคอมพิวเตอร์ส่วนบุคคล จึงไม่สามารถทำได้ง่ายๆเหมือนที่เราเขียนโปรแกรมให้ทำงานบนเครื่องคอมพิวเตอร์
ดังนั้นในการพัฒนาโปรแกรมสำหรับไมโครคอนโทรเลอร์จึงต้องทำบนเครื่องคอมพิวเตอร์ส่วนบุคคล แล้วค่อยโอนย้ายไปไว้บนไมโครคอนโทรเลอร์
บทความตอนนี้จึงขอนำเสนอเรื่องการสร้างสิ่งแวดล้อมในการพัฒนาโปรแกรมสำหรับ TinyOS บนคอมพิวเตอร์ส่วนบุคคล
อีกเรื่องนี้หนึ่งที่ควรพิจารณาก็คือ ใน 20 ปีข้างหน้า วันนั้นคนไทยอาจจะไม่ได้ใช้ระบบปฏิบัติการวินโดน์เถื่อนได้อย่างทุกวันนี้ เพื่อป้องกันเรื่องการละเมิดลิขสิทธิ์ คอมพิวเตอร์ที่จะใช้ในการพัฒนาโปรแกรมสำหรับ TinyOS ในบล๊อกแห่งนี้จึงใช้ระบบปฏิบัติการเสรีที่ชื่อว่า Ubuntu Linux (สามารถศึกษาการใช้ Ubuntu Linux ได้เพิ่มเติมที่ http://www.kasetporpeang.com/forums/index.php?topic=10936.0)
เนื้อหาการสร้างสิ่งแวดล้อมในการพัฒนาโปรแกรมสำหรับ TinyOS บน Ubuntu Linux นี้ผมเอามาจาก http://docs.tinyos.net/index.php/Getting_started_using_Ubuntu_9.10_and_TelosB_motes
เริ่มจาก เปิดเทอร์มินัล (หน้าต่างสำหรับพิมคำสั่งของ Ubuntu) แล้วก็ทำตามขั้นตอนนี้ครับ
หมายเหตุ: อักษรตัวเอียงคือคำสั่งที่จะต้องพิมพ์ในเทอร์มินัล
1. พิมพ์คำสั่ง sudo gedit /etc/apt/sources.list
2. จะมีไฟล์เท๊กเปิดขึ้นมา ให้พิมพ์ข้อความต่อไปนี้ลงไปในส่วนท้ายของไฟล์
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main
deb http://hinrg.cs.jhu.edu/tinyos oneiric main
หลังจากนั้นก็บันทึกแล้วปิดไฟล์
3. กลับมาที่เทอร์มินัลแล้วพิมพ์คำสั่ง sudo apt-get update
4. พิมพ์คำสั่งเพื่อลง TinyOS เวอร์ชัน 2.1 ดังนี้ sudo apt-get install tinyos-2.1.0
5. เมื่อลงเสร็จ พิมพ์คำสั่ง sudo gedit ~/.bashrc
6. จะมีไฟล์เท๊กเปิดขึ้นมา ให้เพิ่มข้อความดังต่อไปนี้ในไฟล์นั้น
source /opt/tinyos-2.1.0/tinyos.sh
export TOSROOT=/opt/tinyos-2.1.0
export TOSDIR=$TOSROOT/tos
export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.
export MAKERULES=$TOSROOT/support/make/Makerules
export PYTHONPATH=$TOSROOT/support/sdk/python
หลังจากนั้นก็บันทึกแล้วปิดไฟล์
7. กลับมาที่เทอร์มินัลแล้วพิมพ์คำสั่ง source ~/.bashrc
หลังจากบรรทัดนี้ คุณสามารถจะทำแบบที่ผมทำไว้ในวิดีโอที่สาธิตไว้ในตอน รดน้ำผักที่ไหนก็ได้ในโลกนี้ ได้โดยเพียงการพิมพ์โค๊ดและคำสั่งเพิ่งไม่กี่คำ ซึ่งผมจะนำเสนอในตอนต่อๆไปครับ
ใน 20 ปีข้างหน้า... เกษตรกรในวันนั้น คงเป็นเกษตรกรที่เต็มไปด้วยเครื่องมืออำนวยความสะดวกที่ทันสมัย คำถามคือ วันนี้คนไทยได้เตรียมเครื่องมือแบบนั้นไว้บ้างหรือยัง บล๊อกนี้พยายามตอบคำถามนั้น และมีความตั้งใจที่จะสะสมความรู้สำหรับการสร้างเครื่องมือเหล่านั้น.. เตรียมไว้สำหรับลูกหลานไทย ความรู้นี้จะไม่เป็นทรัพย์สินทางปัญหาส่วนตัวของบุคคลใดบุคคลหนึ่ง.. แต่จะเป็นทรัพย์สินสาธารณะของลูกหลานไทยสืบต่อไป...
วันเสาร์ที่ 28 พฤษภาคม พ.ศ. 2554
วันอังคารที่ 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 เปนระบบปฏิบัติการขนาดเล็กที่ถูกพัฒนาขึ้นเพื่อรองรับการพัฒนาเครือขายเซ็นเซอรไร้สาย โดยมีลักษณะที่สำคัญดังต่อไปนี้
คราวหน้าคงจะได้แสดงตัวอย่างง่ายๆในการพัฒนาโปรแกรมสำหรับ TinyOS ซึ่งจริงๆแล้วการพัฒนาโปรแกรมแบบนี้ค่อนข้างจะสำเร็จรูปทีเดียว
แต่ก่อนลงลึกถึงวิธีการพัฒนาโปรแกรมสำหรับ 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 ซึ่งจริงๆแล้วการพัฒนาโปรแกรมแบบนี้ค่อนข้างจะสำเร็จรูปทีเดียว
วันจันทร์ที่ 23 พฤษภาคม พ.ศ. 2554
สองมือสองเท้าเหมือนกัน
ผมเอาเนื้อหาในบล๊อกนี้ไปลงในเว๊บเกษตรพอเพียงดอทคอม
ได้คำแนะนำ คำท้วงติงและคำชี้ถึงปัญหาความยุ่งยาก มาเยอะเลยล่ะครับ
ก็ต้องขอบคุณคำเหล่านั้นมากๆ
แต่ถึงแม้ว่าจะมีปัญหาหรือความยุ่งยาก..
ผมก็ไม่อยากให้สิ่งเหล่านั้นมาหยุดความอยากเรียนรู้ของคนไทย
โดยเฉพาะเกษตรกรไทย ต้องการการเรียนรู้เยอะๆ
การเรียนรู้ ไม่น่าจะมีอะไรผิด แม้สุดท้ายจะไม่สำเร็จ แต่ก็มีโอกาสเรียนรู้ถึงแนวทางการแก้ไขและปรับปรุง
วันนี้ผมยังไม่เข้าเนื้อหา แต่อยากโชว์ภาพนี้ครับ ซึ่งผมเอามาจาก
http://www.ayarafun.com/2011/04/12-awesome-diy-projects/
(ลองเข้าไปอ่านของเขาก็ได้ครับ เป็นเว๊บที่ดีมากครับ)
ภาพนักประดิษฐ์ชาวจีน ที่พยายามสร้างเฮริคอปเตอร์ด้วยตัวเอง
เห็นภาพชาวจีนพยามยามสร้างเฮลิคอปเตอร์แล้วเกิดความรู้สึกอย่างไรบ้างครับ
จากรูปผมคิดว่าเขาคงไม่ได้จบด๊อกเตอร์ น่าจะเป็นชาวบ้านๆนี้แหละครับ
แล้วเราคนไทยแตกต่างกับคนจีนตรงไหนครับ เราเป็นคนสองมือสองเท้าเหมือนกัน
เขาทำได้ ทำไมเราจะทำไม่ได้...
ได้คำแนะนำ คำท้วงติงและคำชี้ถึงปัญหาความยุ่งยาก มาเยอะเลยล่ะครับ
ก็ต้องขอบคุณคำเหล่านั้นมากๆ
แต่ถึงแม้ว่าจะมีปัญหาหรือความยุ่งยาก..
ผมก็ไม่อยากให้สิ่งเหล่านั้นมาหยุดความอยากเรียนรู้ของคนไทย
โดยเฉพาะเกษตรกรไทย ต้องการการเรียนรู้เยอะๆ
การเรียนรู้ ไม่น่าจะมีอะไรผิด แม้สุดท้ายจะไม่สำเร็จ แต่ก็มีโอกาสเรียนรู้ถึงแนวทางการแก้ไขและปรับปรุง
วันนี้ผมยังไม่เข้าเนื้อหา แต่อยากโชว์ภาพนี้ครับ ซึ่งผมเอามาจาก
http://www.ayarafun.com/2011/04/12-awesome-diy-projects/
(ลองเข้าไปอ่านของเขาก็ได้ครับ เป็นเว๊บที่ดีมากครับ)
ภาพนักประดิษฐ์ชาวจีน ที่พยายามสร้างเฮริคอปเตอร์ด้วยตัวเอง
เห็นภาพชาวจีนพยามยามสร้างเฮลิคอปเตอร์แล้วเกิดความรู้สึกอย่างไรบ้างครับ
จากรูปผมคิดว่าเขาคงไม่ได้จบด๊อกเตอร์ น่าจะเป็นชาวบ้านๆนี้แหละครับ
แล้วเราคนไทยแตกต่างกับคนจีนตรงไหนครับ เราเป็นคนสองมือสองเท้าเหมือนกัน
เขาทำได้ ทำไมเราจะทำไม่ได้...
วันเสาร์ที่ 21 พฤษภาคม พ.ศ. 2554
ระบบสั่งรดน้ำไร้สาย (โอเพ่นซอร์ส) ตอนที่ 2
ระบบนี้ต้องการแรงดันไฟฟ้า (Voltage) ที่ได้มาจากบอร์ดไมโครคอนโทรเลอร์ไปเปิด/ปิดการทำงานของ relay ซึ่ง relay จะทำหน้าที่เป็นสวิตซ์เปิด/ปิดปั๊มน้ำอีกที
แต่ก่อนจะติดตั้งเข้ากับวงจร relay จริงๆนั้น ต้องทดสอบกับวงจรเล็กๆและง่ายๆก่อน
พิจารณาหน้าตาชัดๆของบอร์ด Telosb ตามรูปด้านล่างซึ่งผมเอามาจาก data sheet ของบอร์ดนี้
บอร์ดนี้จะมีส่วนขยาย 10 pin (ด้านขวาบน) ที่สามารถนำมาใช้ประโยชน์ในระบบสั่งรดน้ำไร้สายได้ ซึ่งใน data sheet ให้รายละเอียดของแต่ละ pinไว้ตามรูปด้านล่างนี้
ผมจะเขียนโปรแกรมเพื่อสั่งให้เกิดแรงดัน (2.6-3 v) ขึ้นที่ pin หมายเลข 3 เมื่อบอร์ดไมโครคอนโทรเลอร์ได้คำสั่งให้เปิดปั๊ม และให้มีแรงดันเป็น 0 v เมื่อมีคำสั่งให้ปิดปั๊ม
เพื่อเป็นการทดลองและทดสอบ รูปด้านล่างนี้เป็นวงจรง่ายๆที่เอามาแทนวงจรของ relay...
หลักการทำงานของวงจรก็ธรรมดามาก แค่นำแรงดันไฟฟ้าที่ pin หมายเลข 3 ไปเปิด/ปิดไฟ Led
วิดีโอต่อไปนี้เป็นผลการทดลองของวงจรและโปรแกรมที่อธิบายมาข้างต้น
ในตอนต่อไป ผมจะยังไม่ได้แสดงการติดตั้งส่วนขยายนี้เข้ากับวงจร relay...
แต่จะนำผู้สนใจไปทำความรู้จักกับ TinyOs กันก่อน รวมทั้งไปดูในส่วนของโปรแกรมควบคุมบอร์ดไมโครคอนโทรเลอร์ และจะอัปโหลดโค๊ดของโปรแกรมให้ลองศึกษากันดูครับ
แต่ก่อนจะติดตั้งเข้ากับวงจร relay จริงๆนั้น ต้องทดสอบกับวงจรเล็กๆและง่ายๆก่อน
พิจารณาหน้าตาชัดๆของบอร์ด Telosb ตามรูปด้านล่างซึ่งผมเอามาจาก data sheet ของบอร์ดนี้
บอร์ดนี้จะมีส่วนขยาย 10 pin (ด้านขวาบน) ที่สามารถนำมาใช้ประโยชน์ในระบบสั่งรดน้ำไร้สายได้ ซึ่งใน data sheet ให้รายละเอียดของแต่ละ pinไว้ตามรูปด้านล่างนี้
ผมจะเขียนโปรแกรมเพื่อสั่งให้เกิดแรงดัน (2.6-3 v) ขึ้นที่ pin หมายเลข 3 เมื่อบอร์ดไมโครคอนโทรเลอร์ได้คำสั่งให้เปิดปั๊ม และให้มีแรงดันเป็น 0 v เมื่อมีคำสั่งให้ปิดปั๊ม
เพื่อเป็นการทดลองและทดสอบ รูปด้านล่างนี้เป็นวงจรง่ายๆที่เอามาแทนวงจรของ relay...
หลักการทำงานของวงจรก็ธรรมดามาก แค่นำแรงดันไฟฟ้าที่ pin หมายเลข 3 ไปเปิด/ปิดไฟ Led
วิดีโอต่อไปนี้เป็นผลการทดลองของวงจรและโปรแกรมที่อธิบายมาข้างต้น
ในตอนต่อไป ผมจะยังไม่ได้แสดงการติดตั้งส่วนขยายนี้เข้ากับวงจร relay...
แต่จะนำผู้สนใจไปทำความรู้จักกับ TinyOs กันก่อน รวมทั้งไปดูในส่วนของโปรแกรมควบคุมบอร์ดไมโครคอนโทรเลอร์ และจะอัปโหลดโค๊ดของโปรแกรมให้ลองศึกษากันดูครับ
วันจันทร์ที่ 16 พฤษภาคม พ.ศ. 2554
ระบบสั่งรดน้ำไร้สาย (โอเพ่นซอร์ส)
จากรูปด้านล่าง แสดงให้เห็นระบบสั่งรดน้ำไร้สาย
รูปร่างหน้าตาจะเป็นมิตรกับผู้ใช้มากกว่าในวิดีโอที่ผมสาธิตไปในครั้งก่อน
เนื่องจากระบบนี้จะเป็นการสั่งงานจากเว๊บไซต์ ที่เมื่อเรากดสั่งเปิดปั๊มจากที่ไหนก็ได้ผ่านเว๊บ
คำสั่งจะถูกไปยังเว๊บเซอเวอร์ (Web Server) ซึ่งก็คือ Notebook ในกรณีนี้
เว๊บเซอเวอร์จะส่งคำสั่งนั้นต่อไปยังบอร์ดไมโครคอนโทรลเลอร์ (กรณีนี้จะเรียกว่า Sink)
Sink ซึ่งติดต่อกับ notebook ผ่านพอร์ต USB จะส่งคำสั่งเปิดปั๊มนั้นผ่านคลื่นวิทยุไร้สายต่ออีกทอด
เมื่อบอร์ดไมโครคอนโทรเลอร์ที่ติดตั้งเข้ากับปั๊มน้ำได้รับคำสั่งจาก Sink แล้ว
ก็ทำการสั่งให้มีการเปิดสวิตซ์ปั๊มน้ำ
สิ่งที่ผมตั้งใจอีกอย่างหนึ่งคือ ระบบต่อไปนี้จะต้องเป็นของฟรีที่ใครก็ทำได้
ดังนั้นระบบสั่งรดน้ำแบบไร้สายนี้ จะเน้นใช้โอเพ่นซอร์สเป็นหลัก
มาดูกันว่าโอเพ่นซอร์สอะไรบ้างที่จะใช้ในระบบนี้ ซึ่งแบ่งได้เป็นซอฟแวร์และฮาร์ดแวร์
ซอฟแวร์
ฮาร์ดแวร์
รูปร่างหน้าตาจะเป็นมิตรกับผู้ใช้มากกว่าในวิดีโอที่ผมสาธิตไปในครั้งก่อน
เนื่องจากระบบนี้จะเป็นการสั่งงานจากเว๊บไซต์ ที่เมื่อเรากดสั่งเปิดปั๊มจากที่ไหนก็ได้ผ่านเว๊บ
คำสั่งจะถูกไปยังเว๊บเซอเวอร์ (Web Server) ซึ่งก็คือ Notebook ในกรณีนี้
เว๊บเซอเวอร์จะส่งคำสั่งนั้นต่อไปยังบอร์ดไมโครคอนโทรลเลอร์ (กรณีนี้จะเรียกว่า Sink)
Sink ซึ่งติดต่อกับ notebook ผ่านพอร์ต USB จะส่งคำสั่งเปิดปั๊มนั้นผ่านคลื่นวิทยุไร้สายต่ออีกทอด
เมื่อบอร์ดไมโครคอนโทรเลอร์ที่ติดตั้งเข้ากับปั๊มน้ำได้รับคำสั่งจาก Sink แล้ว
ก็ทำการสั่งให้มีการเปิดสวิตซ์ปั๊มน้ำ
สิ่งที่ผมตั้งใจอีกอย่างหนึ่งคือ ระบบต่อไปนี้จะต้องเป็นของฟรีที่ใครก็ทำได้
ดังนั้นระบบสั่งรดน้ำแบบไร้สายนี้ จะเน้นใช้โอเพ่นซอร์สเป็นหลัก
มาดูกันว่าโอเพ่นซอร์สอะไรบ้างที่จะใช้ในระบบนี้ ซึ่งแบ่งได้เป็นซอฟแวร์และฮาร์ดแวร์
ซอฟแวร์
- อูบุนตูลินุกซ์ (Ubuntu Linux) ระบบปฎิบัติการสำหรับ notebook ดูรายละเอียดเพิ่มเติมได้ใน http://th.wikipedia.org/wiki/%E0%B8%AD%E0%B8%B9%E0%B8%9A%E0%B8%B8%E0%B8%99%E0%B8%95%E0%B8%B9
- TinyOS ระบบปฎิบัติการโอเพ่นซอร์สสำหรับบอร์ดไมโครคอนโทรเลอร์ที่มีการติดต่อกันแบบไร้สาย ไว้ผมจะเล่ารายละเอียดของ TinyOS เพิ่มเติมในครั้งต่อๆไป
ฮาร์ดแวร์
- บอร์ดไมโครคอนโทรเลอร์ ในตัวอย่างที่ผมสาธิตให้ดูในวิดีโอครั้งที่แล้ว บอร์ดนั้นมีชื่อว่า Tmote Sky หรือ Telosb ซึ่งวงจรของบอร์ดนี้เป็นโอเพ่นซอร์สที่ออกแบบและเผยแพร่โดยทีมวิจัยของมหาวิทยาลัยแห่งแคลิฟอร์เนียเบิรคเลย์ (open-source "TelosB" platform design developed and published by the University of California, Berkeley) เราคงลงรายละเอียดของตัวนี้มากขึ้นในตอนต่อๆไป ซึ่งผมคิดว่าคงต้องมีสักตอนที่ต้องอุทิศให้กับวิธีการสร้างบอร์ด Telosb นี้อย่างเต็มที่ (นอกจากสร้างบอร์ดเอง ก็สามารถหาซื้อได้ ลองเสิร์ชคำว่า Telosb ด้วยกูเกิลดูครับ)
วันพุธที่ 11 พฤษภาคม พ.ศ. 2554
รดน้ำผักที่ไหนก็ได้ในโลกนี้
ในตอนนี้ที่แล้ว ผมได้พูดถึงการปลูกผักในโลกอนาคต..
ที่เกษตรกรสามารถรดน้ำผักจากที่ไหนก็ได้ในโลก
ตอนต่อๆไปจากนี้ผมจะค่อยๆลงลึกเรื่องนี้ตามลำดับๆไป
ในตอนนี้ขอสร้างภาพนั้นให้เห็นกันนิดนึง
ไฟล์วิดีโอต่อไปนี้ จะเป็นการสาธิตความเป็นไปได้ของระบบนี้
ซึ่งจะเป็นการพิมพ์คำสั่งปิด/เปิด ไฟจาก Notebook
หลังจากนั้นคำสั่งนี้จะถูกส่งไปยังบอร์ดไมโครคอนโทรเลอร์ผ่านการสื่อสารแบบไร้สาย
ถ้าบอร์ดไมโครคอนโทรเลอร์ได้รับคำสั่งให้เปิดไฟ ไฟ Led ที่อยู่บนบอร์ดก็จะติด
และถ้าบอร์ดไมโครคอนโทรเลอร์ได้รับคำสั่งให้ปิดไฟ ไฟ Led ที่อยู่บนบอร์ดก็จะดับ
ตัวอย่างนี้สามารถนำไปประยุกต์เพื่อใช้สั่งเปิดหรือปิดปั๊มน้ำสำหรับรดหรือน้ำผักแบบไร้สายได้
ที่เกษตรกรสามารถรดน้ำผักจากที่ไหนก็ได้ในโลก
ตอนต่อๆไปจากนี้ผมจะค่อยๆลงลึกเรื่องนี้ตามลำดับๆไป
ในตอนนี้ขอสร้างภาพนั้นให้เห็นกันนิดนึง
ไฟล์วิดีโอต่อไปนี้ จะเป็นการสาธิตความเป็นไปได้ของระบบนี้
ซึ่งจะเป็นการพิมพ์คำสั่งปิด/เปิด ไฟจาก Notebook
หลังจากนั้นคำสั่งนี้จะถูกส่งไปยังบอร์ดไมโครคอนโทรเลอร์ผ่านการสื่อสารแบบไร้สาย
ถ้าบอร์ดไมโครคอนโทรเลอร์ได้รับคำสั่งให้เปิดไฟ ไฟ Led ที่อยู่บนบอร์ดก็จะติด
และถ้าบอร์ดไมโครคอนโทรเลอร์ได้รับคำสั่งให้ปิดไฟ ไฟ Led ที่อยู่บนบอร์ดก็จะดับ
ตัวอย่างนี้สามารถนำไปประยุกต์เพื่อใช้สั่งเปิดหรือปิดปั๊มน้ำสำหรับรดหรือน้ำผักแบบไร้สายได้
Agri-Tool
ใน 20 ปีข้างหน้า...
เมื่อเด็กที่มีอายุ 2 ขวบในวันนี้ เรียนจบปริญญาตรีเป็นอย่างน้อยทุกคน
ในวันนั้น จะมีใครทำอาชีพเกษตรกรกันหรือไม่..
คำตอบ..มีแน่นอน แต่วิธีการจะต่างไป
เกษตรในวันนั้น คงเป็นเกษตรกรที่เต็มไปด้วยเครื่องมืออำนวยความสะดวกที่ทันสมัย
เกษตรกรอาจจะทำปลูกผักในโลกความเป็นจริงด้วยการกดปุ่มจากคอมพิวเตอร์
เหมือนที่ผู้คนสมัยปลูกผักในโลกเสมือนผ่าน facebook
คำถามคือ วันนี้คนไทยได้เตรียมเครื่องมือแบบนั้นไว้บ้างหรือยัง
บล๊อกนี้พยายามตอบคำถามนั้น
และมีความตั้งใจที่จะสะสมความรู้สำหรับการสร้างเครื่องมือเหล่านั้น..
เตรียมไว้สำหรับลูกหลานไทย จะได้นำเอาไปใช้เมื่อวันนั้นมาถึง
ความรู้นี้จะไม่เป็นทรัพย์สินทางปัญหาส่วนตัวของบุคคลใดบุคคลหนึ่ง..
แต่จะเป็นทรัพย์สินสาธารณะของลูกหลานไทยสืบต่อไป...
เมื่อเด็กที่มีอายุ 2 ขวบในวันนี้ เรียนจบปริญญาตรีเป็นอย่างน้อยทุกคน
ในวันนั้น จะมีใครทำอาชีพเกษตรกรกันหรือไม่..
คำตอบ..มีแน่นอน แต่วิธีการจะต่างไป
เกษตรในวันนั้น คงเป็นเกษตรกรที่เต็มไปด้วยเครื่องมืออำนวยความสะดวกที่ทันสมัย
เกษตรกรอาจจะทำปลูกผักในโลกความเป็นจริงด้วยการกดปุ่มจากคอมพิวเตอร์
เหมือนที่ผู้คนสมัยปลูกผักในโลกเสมือนผ่าน facebook
คำถามคือ วันนี้คนไทยได้เตรียมเครื่องมือแบบนั้นไว้บ้างหรือยัง
บล๊อกนี้พยายามตอบคำถามนั้น
และมีความตั้งใจที่จะสะสมความรู้สำหรับการสร้างเครื่องมือเหล่านั้น..
เตรียมไว้สำหรับลูกหลานไทย จะได้นำเอาไปใช้เมื่อวันนั้นมาถึง
ความรู้นี้จะไม่เป็นทรัพย์สินทางปัญหาส่วนตัวของบุคคลใดบุคคลหนึ่ง..
แต่จะเป็นทรัพย์สินสาธารณะของลูกหลานไทยสืบต่อไป...
สมัครสมาชิก:
บทความ (Atom)