ระบบ Smart Green House มีจุดประสงค์เพื่อพัฒนาเท็คโนโลยีที่สามารถตอบความต้องการด้านระบบควบคุมอัตโนมัติของเกษตรกรที่เพาะพืชในโรงเรือน ไม่ว่าจะเป็นการควบุคมการให้สารอาหาร การวัดสภาวะแวดล้อมในโรงเรือน หรือการติดต่อสื่อสารกับเกษตรกร เป็นเทคโนโลยีที่ออกแบบในประเทศและสามารถตอบสนองบริบทการเพาะปลูกของเกษตรกรไทยในภูมิสังคมของไทยได้
ระบบควบคุมสำหรับโรงเพาะเห็ด
โรงเพาะเห็นประกอบไปด้วยหัวผลิตละอองน้ำเพื่อสร้างความชื้นซึ่งขับเคลื่อนด้วยมอเตอร์ 12VDC นอกจากนั้นยังมีเซ็นเซอร์วัความชื้นและอุณหภูมิภายในโรงเรือนเพื่อใช้วิเคราะห์คุณภาพของสภาพแวดล้อม
ระบบควบคุมสามารถทำงานได้สองรูปแบบ คือ
1. ระบบโรงเดี่ยว
ระบบประกอบไปด้วยส่วนต่างๆ ดังนี้
Central Control
มีคอมพิวเตอร์ขนาดเล็ก Raspberry Pi เป็นองค์ประกอบหลัก โดยคอยทำหน้าที่ดังนี้
- รับคำสั่งควบคุมของผู้ใช้จากอินเทอร์เน็ต (ผ่านทาง LAN หรือเครือข่าย 3G)
- ควบคุมการทำงานของส่วน Openration Node ทั้งหมด
นอกจากนั้นยังมี Interface Board ที่ทำหน้าที่ติดต่อสื่อสารกับบอร์ดลูกหรือ Operation Node ผ่านทางระบบสื่อสารข้อมูล Mod Bus
Operation Node
เป็นบอร์ดที่คอยรับคำสั่งเพื่อทำงานต่อไปนี้
- ควบคุมไฟ 12VDC (มอเตอร์เครื่องสร้างละอองน้ำ) มีสองช่องควบคุมได้อิสระ
- ควบคุมไฟ 220VAC ( มอเตอร์ปั๊มน้ำ) มีสองช่องควบคุมได้อิสระ
- อ่านค่าเซ็นเซอร์รายงานไปยัง Central Control โดยต่อเซ็นเซอร์อะนาล๊อกได้ 4 ช่อง และ digital sensor ได้ 1 ช่อง
การใช้งาน
ในทางปฏิบัติ Central Control กับ Operation Node สามารถรวมอยู่ในกล่องควบคุมเดียวกันได้ และใช้แหล่งจ่ายไฟร่วมกัน แต่หากต้องการแยกทั้งสองส่วนออกจากกัน เช่น ต้องการเก็บเครื่อง Raspberry Pi ไว้ในอาคารและเชื่อมต่อเครือข่ายผ่านสาย LAN ก็สามารถลากสายเชื่อมอุปกรณ์ทั้งสองได้ โดยใช้สาย CAT5e ระยะทางไม่เกิน 300-1000 เมตร
2. โรงเรือนแบบกระจาย
Central Control สามารถต่อเชื่อมกับ operation node ได้สูงสุด 32 โหนด จึงสามารถควบคุมโรงเรือนเป็นชุดได้ดังแผนภาพต่อไปนี้
โหนด Operation ทุกตัวมีคุณสมบัติเหมือนกัน และต้องเป็นไปตามเงื่อนไขต่อไปนี้
- ทุกโหนดมีแหล่งจ่ายไฟ 220VAC และ 12VDC 3.5A เป็นของตนเองเพื่อใช้ขับมอเตอร์
- สายสัญญาณที่ใช้เชื่อมโหนดทั้งหมดรวมกันต้องอยู่ในระยะที่กำหนด (ไม่เกิน 300-1000 เมตร)
การติดต่อกับระบบ Web Interface
โครงสร้างของระบบ Web Interface เป็นดังนี้
การสื่อสารระหว่างระบบควบคุมโรงเรือนกับ Web Interface จะใช้วิธี Asymmetric Buffer Synchronization คือ จะมี buffer สองชุดดังต่อไปนี้
- Cฺommand Buffer [N1] – เป็น Buffer ขนาด N1 ช่อง ใช้ส่งคำสั่งจาก Web Interface มายังระบบควบคุมโรงเรือน
- Report Buffer [N2] – เป็น Buffer ขนาด N2 ช่อง ระบบควบคุมโรงเรือนจะใช้รายงานผลต่างๆ ไปยัง Web Interface
ทุกๆ คาบการทำงานที่กำหนดไว้ (เช่นทุกๆ 30 วินาที) ระบบควบคุมโรงเรือนจะทำการส่งค่า Report Buffer ซึ่งจะประกอบไปด้วยค่าเซ็นเซอร์, สถานะของระบบ, ฯลฯ ไปยังฐานข้อมูลในอินเทอร์เน็ตและในขณะเดียวกันก็จะอ่านค่า Command Buffer ซึ่งประกอบไปด้วยคำสั่งจาก web interface มาพิจารณาว่าจะต้องทำงานอะไรบ้าง
ตัวอย่างโครงสร้างของ Buffer ทั้งสองได้แก่
Command Buffer
[0] = Time Stamp ของคำสั่ง
[1] = คำสั่งควบคุม output port 0 โดยกำหนดว่าค่า 0 = ปิด, 1 = เปิด
[2] = คำสั่งควบคุม output port 1 โดยกำหนดว่าค่า 0 = ปิด, 1 = เปิด
[3] = คำสั่งควบคุม output port 2 โดยกำหนดว่าค่า 0 = ปิด, 1 = เปิด
[4] = คำสั่งควบคุม output port 3 โดยกำหนดว่าค่า 0 = ปิด, 1 = เปิด
[5] = ระบุความประสงค์ตั้งคาบการทำงานของ port 0 (0 = ไม่ประสงค์, 1 = ประสงค์)
[6] = parameter ของคำสั่งตั้งคาบ port 0 (หน่วยเป็นวินาที)
[7] = ระบุความประสงค์ตั้งวัฎจักรหน้าที่ (Duty Cycle) ของ port 0 (0 = ไม่ประสงค์, 1 = ประสงค์)
[8] = parameter ของคำสั่งตั้งวัฎจักรหน้าที่ (ค่า 0-100%)
ฯลฯ
Report Buffer
[0] = Time Stamp ของ Report
[1] = ค่าอุณหภูมิ
[2] = ค่าความชื้นสัมพัทธ์ของอากาศ
[3] = ค่า Analog sensor 1
[4] = ค่า Analog sensor 2
[5] = ค่า Analog sensor 3
[6] = ค่า Analog sensor 4
ฯลฯ
ดังนั้นหาก web interface ต้องการสั่งเปิด output port 0 ก็ทำได้โดยเขียนค่า 1 ลงไปใน command buffer ตำแหน่งที่ 1 และหลังจากนั้นเป็นเวลาไม่เกินคาบการทำงานที่กำหนดไว้ ระบบควบคุมโรงเรือนก็จะเข้ามาอ่าน buffer นี้และทำงานตามคำสั่งดังกล่าว ในลักษณะเดียวกันหาก web interface ต้องการทราบค่าความชื้น ณ ขณะนั้น ก็สามารถอ่านได้จาก Report Buffer ตำแหน่งที่ 2