Update Zigbee Project (Wireless Sensor Network)

และแล้วทุกอย่างก็สำเร็จไปได้ด้วยดี ทั้งการสอบโปรเจ็กต์ สอบสัมภาษณ์ป.โท แต่วันนี้เราจามาพูดกันเรื่องโปรเจ็กต์ที่ได้ทำไปตอนปี 4 ดีกว่า ว่าคืออะไร ทำอะไรได้บ้าง แล้วมานดีอย่างไร? มาเริ่มกานเรย !!!

โปรเจ็กต์ที่ทำมา ก็คือ Wireless Network Sensor มี Sensor Node กระจายตามจุดต่างๆ เป็นบริเวณกว้าง ที่สนใจใช้กับโปรเจ็กต์นี้ก็คือ ใช้ทางด้านเกษตรกรรม คือวัด อุณหภูมิ และวัดความชื้น โดย Sensor Node ต่างๆจะส่งข้อมูล ผ่านโปรโตคอล Zigbee มายังที่ Zigbee Coordinator และทำการแปลงข้อมูลเหล่านั้นผ่าน Gateway เพื่อที่จะส่งต่อไปยังตัว Server อีกทีหนึ่ง โดย Packet ในระบบที่วิ่งไปวิ่งมาตัว Gateway จะเป็นตัวบริหารจัดการ เก็บข้อมูล Packet API เหล่านั้น ลงใน Log บน Gateway (จริงๆในอนาคตอยากจะทำการเก็บข้อมูลลงใน SD Card ได้ เพื่อที่จะตรวจสอบข้อมูล Log เชิงระยะยาว) ทีนี้ข้อมูล API นอกจากที่จะอ่านบน Gateway คือ (ARM7 Cortex-M3 แล้ว) ยังถูกส่งต่อให้กับ Server อีกด้วย ข้อมูล API เหล่านั้น จะถูกแปลงโดย GUI ที่เขียนขึ้นโดย C#.NET โดยมีหน้าต่างบริหาร ให้ผู้ใช้เข้าใจได้โดยง่าย

นอกจาก Server รอรับข้อมูลจาก Gateway แล้ว ยังทำการเก็บข้อมูลลง ฐานข้อมูล MySQL โดยเก็บข้อมูลอย่างเป็นระบบ เพื่อที่จะให้ผู้ใช้ผู้อื่น ตรวจสอบ/ดึงข้อมูลที่ถูกเก็บในระยะยาว ผ่าน เว็บไซต์ ที่ถูกออนไลน์ผ่าน โปรโตคอล TCP/IP ได้อีก

จากรูปแรก นอกจากที่เก็บข้อมูลจากโหนดปลายทางแล้ว เป็นการเฝ้าระวังระบบ ของเรามีสิ่งที่พิเศษก็คือ สามารถควบคุมระบบได้อีกด้วย ซึ่งสามารถใช้งานได้ในระบบปิด เป็นระบบ เฝ้าระวังและควบคุม อย่างเช่น รับค่าอุณหภูมิมา แล้วที่โหนด server ทำงานในโหมดเฝ้าระวังและควบคุมอยุ่ แล้วตรวจสอบได้ว่าอุณหภูมินั้นมีค่าสูงกว่าค่าอุณหภูมิขอบเขต (Temperature Threshold) ที่ถูกเซ็ตค่าไว้ ก็จะทำการส่งสัญญาณบางอย่างกลับไปควบคุมที่โหนดปลายทางได้ เช่น อุณหภูมิสูง ก็ส่งไปควบคุมวงจรรีเลย์ให้ทำการเปิดสวิต ทำให้พัดลมหมุน (จำลองจากเครื่องปรับอากาศ) อุณหภูมิก็จะสามารถเข้าสู่สมดุลได้ดังที่เคย

ต่อมามาดูอีกโหนดที่เป็นความชื้นก็เช่นกัน ถ้าค่าความชื้นที่ถูกส่งมา มีค่าต่ำกว่าที่เราต้องการในระบบปิด ระบบก็จะส่งสัญญาณออกไปควบคุมที่โหนดปลายทางนั้นๆ ให้ทำการเปิดสวิต โดยไปขับรีเลย์ ให้เครื่องกำเนิดความชื้นทำงาน (Humidifier)

ซึ่งระบบทั้งหมดที่ออกแบบมานี้ ได้ทดลอง แล้วสามารถใช้งานได้จริง โดยจำลองระบบขึ้นมา และทำการวัด ทั้งมอนิเตอร์ 24 ชั่วโมงเพียงอย่างเดียว / ทดสอบควบคุมอุณหภูมิระบบปิด / ทดสอบควบคุมความชื้นระบบปิด

นอกจากนี้ยังได้ศึกษาเซ็นเซอร์ต่างๆ เข้าใจวิธีการนำเซ็นเซอร์มาใช้งาน ตั้งแต่เข้าใจหลักการพื้นฐานของเซ็นเซอร์ เข้าใจ Datasheet / ทำการสอบเทียบ ดูช่วงการใช้งานเซ็นเซอร์ และผลตอบสนอง / สร้างวงจรเพิ่มเติมให้เซ็นเซอร์เหล่านั้นมาใช้งานกับระบบของเราได้ เป็นต้น

จากด้านบนเป็นโปรแกรม GUI เฝ้าระวังและควบคุม ระบบ Zigbee Network ที่มีอยู่ในระบบทั้งหมด โดยทุกตัวเชื่อมต่อเป็นลักษณะ เครือข่ายแบบ MESH TOPOLOGY ด้านขวามือเป็นการมอนิเตอร์ข้อมูลที่จำเป็นในการแสดงผล ให้ผู้ใช้งาน ตรวจสอบแม้เพียงตาผ่านได้ว่า ข้อมูลในขณะนั้นๆเป็นยังไง

ส่วนด้านซ้ายมือจะแยกเป็นส่วนๆดังนี้

ส่วนล่างสุด เป็นการ Monitor Command สำหรับผู้รู้ระบบลึกๆ คือข้อมูลในระบบ API ทั้งหลาย ที่วิ่งไปวิ่งมา ผ่านตัว Coordinator จะถูกแสดงผลที่จุดนี้ แสดงข้อมูลตั้งแต่ เวลา วันที่ API Packet ที่ได้รับ หน้าที่ต่างๆ MAC ที่ถูกส่งมาจากปลายทาง สถานะเอาท์พุท ค่า ADC ที่ได้รับจากเซ็นเซอร์ต่างๆ เป็นต้น

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

ส่วนต่อมา จุดสำคัญคือ Network Mode Control ว่าจะเป็นแบบ Manual (เฝ้าระวังเพียงอย่างเดียว) หรือแบบ Auto (เฝ้าระวังและควบคุม)  ต่อมาด้านขวา คาบเวลาที่ใช้ในการเก็บข้อมูล (หน่วยเป็นวินาที) โดยสามารถเซ็ตได้จาก เมนู Setting ในโปรแกรม

เอาเป็นว่าน้ำจิ้มแค่นี้ก่อนละกัน เพราะว่ามันมีฟังก์ชั่นที่เซ็ตค่าในโปรแกรมเยอะ เดวจะพิมพ์กันไม่เสร็จวันนี้…

ต่อมาเป็นหน้าเว็บไซต์ โดยที่ ตัว server ที่รัน GUI นั้นยังทำหน้าที่เป็น Webserver เชื่อมต่อ Database อีกด้วย เพื่อเรียกดูข้อมูลผ่านออนไลน์ได้

นี่คือหน้าเว็บไซต์ที่ได้ออกแบบไว้…

โดยตัวเว็บนี้สามารถ ดูข้อมูลที่จำเป็น ณ.เวลานั้นๆได้ สามารถ พล๊อตกราฟตลอด 24 ชั่วโมงที่ผ่านมา / 7 วันที่ผ่านมา / 1 เดือนที่ผ่านมา หรือ 1 ปีที่ผ่านมาได้ และยังสามารถแสดงผลข้อมูลเหล่านั้น ลงสู่ไฟล์ Excel เพื่อให้ผู้ใช้งานสามารถใช้งาน Export ข้อมูลออกไป ทำ Report อื่นๆ หรือ ไปพล๊อตกราฟรูปแบบอื่นๆ หรือ ได้ข้อมูลตามช่วงเวลาที่ต้องการได้

รูปแรก โหนดนี้เอาไว้ควบคุมอุณหภูมิ อ่ะนะ เป็นบอร์ด Demo เฉยๆ

รูปสอง รูปภาพรวมของทุกโหนด ที่สามารถนำไปไว้ตามจุดต่างๆเพื่อทดสอบได้จริง โดย ซ้ายสุดเป็น Gateway เชื่อมต่อกับ Server และ Xbee Coordinator

รูปสาม เป็นภายในของโหนด Zigbee ว่ามีอะไรบ้าง แต่ละโหนดจะไม่มี MCU ตัวอื่นนอกจาก โมดูล Xbee อยู่เลย เพราะอาจารย์บอกว่า ถ้าเอา MCU ไปทิ้งไว้ตัวนึง เหมือนเพิ่ม Cost ที่โหนดนั้นๆ แสดงว่าต้องทำอะไรที่ได้มากกว่านี้ อย่างเช่นอาจจะเก็บ Log File หรือทำอะไรด้วยตัวเองได้ นอกจากนี้ที่ทำแบบนี้ จะได้ใช้โมดูล Xbee Series2 ได้อย่าง Full-Function

(เห็นรูปนี้แล้วรู้สึกเสียดายที่กลุ่มอื่นหลายๆกลุ่ม ใช้ Zigbee เพียงแค่ แทนสายเส้นนึง คือต่อแทนสายอากาศ และก้อไม่ได้ใช้ Digital IO หรือ Analog Input ของมันเลย รู้สึกเสียดายจิงๆนะ… เพราะตัวนึงก้อไม่ใช่ถูกเลย ถ้าเอามาใช้แทนเสาอากาศนี่ น่าจะใช้พวก โมดูล RF แบบอื่นๆ ที่ราคาไม่แพง น่าจะเหมาะสมกว่า)

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

รูป 5 เป็นรูปคืนก่อนสอบโปรเจ็กต์ ต้องเอาเข้าไปหมดนี่เลย แถมโน๊ตบุคอีก 2 ตัวด้วยกัน ตัวนึง Present ตัวนึงทำเป็น WebServer

รูป 6 อีกซักรูป

รูป 7 THESIS หนามากๆ อาจารย์ให้ทำซะเยอะเลย ทั้งหมดก็ประมาณ 214 หน้าได้  T^T  ทำเล่มทีจนเลย เหอๆ

หลังจากที่สอบโปรเจ็กต์เสร็จ ก็ถึงเวลาจากลา จัดห้องคืนอาจารย์ อิอิ ขอบคุณอาจารย์ กสิน วิเชียรชม มากๆ ที่ดูแลทุกอย่างตั้งแต่ต้นจนจบเลย จะมีอาจารย์ที่ไหนที่ดีขนาดนี้อีก T^T อยู่ช่วยพรีเซ้น 2-3 วัน ตั้งแต่เช้า วันสุดท้ายเสร็จเกือบตีสอง ซาบซึ้งมากๆ….

ในที่สุดก็จบแล้วซะที เห็นว่าโปรเจ็กต์นี้มีบริษัทติดต่อมาขอซื้อ แต่ยังอยู่ในช่วงเจรจากันอยู่ ว่าไงก็ว่ากัน ถ้าไม่ได้ใช้อะไรมันก็ไม่ได้ประโยชน์ใช่มั๊ยหละ ก้อเอาไปเป็นวิทยาทานเผื่อจะทำขายได้จริงๆอ่านะ = =’

ต่อไปก้อต้อง…สู้ต่อไป วิศวกรรมชีวการแพทย์ อาจารย์ให้ Paper มาอ่านตั้งเยอะ ยังอ่านไปไม่ถึงไหน เหอๆๆๆ T^T

ต่อไปคงไม่ได้ทำต่อกับอาจารย์กสินแล้วหล่ะ อาจารย์ถนัดเรื่อง VLSI หรือพวกออกแบบ IC อ่ะนะ รู้สึกมานยากแน่ๆ ไม่ค่อยถนัดคำนวณหนักหน่วงเยอะๆซะเท่าไหร่ ประกอบกับ พี่เรียนหมอ แล้วเมื่อเทอมที่แล้วเคยเรียนวิชาเลือก Biomedical Electronics รู้สึกว่าชอบวิชานี้มากๆ ก็เลยตัดสินใจแล้วว่าจะต่อทางด้าน Biomedical Engineering อ่ะนะ ทำงานวิจัย คงหนีไม่พ้น Instrumentation หรือพวก Signal Processing แหละ

สู้กันต่อไป ทาเคชิ!

2 thoughts on “Update Zigbee Project (Wireless Sensor Network)
  1. ผมจะทำโปรเจดเกี่ยวกีบ zigbee พอดีครับยากได้ข้อมูลเพิ่มช่วยติดต่อกลับมาทีครับ
    thanate_th@hotmail.com

  2. พี่ ครับ ผมก็ ทำ โปรเจค Zigbee เหมือนกันครับ อยากได้คำปรึกษา + ข้อมูล ติดต่อกลับ ที ครับ

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>