บทความ WebThings Gateway ตอนที่ 3 ใช้งาน Rule และ Log ข้อมูล

บทความ WebThings Gateway ตอนที่ 3 ใช้งาน Rule และ Log ข้อมูล

WebThings Gateway

        บทความ WebThings Gateway เป็นบทความเกี่ยวกับการสร้างเว็บไซต์สำหรับควบคุมอุปกรณ์ IoT ของตัวเองโดยใช้บอร์ด Raspberry Pi (บอร์ดคอมพิวเตอร์ขนาดเล็กเท่าบัตรเครดิต) เป็น Gateway ของอุปกรณ์ IoT ไม่จำเป็นต้องเขียนโปรเเกรมให้ยุ่งยาก จัดการส่วนต่างๆด้วยการลากวางเท่านั้น รายละเอียดในบทความนี้จะเเบ่งเนื้อหาออกเป็น หลายๆส่วน ซึ่งจะเเยกออกบทความหลายบท เพื่อจะไม่ให้เนื้อหาในเเต่ละบทนั้นยาวเกินไป โดยจะประกอบด้วย

– บทความ WebThings Gateway ตอนที่ 1 สร้างเว็บไซต์ IoT ด้วย WebThings Gateway

– บทความ WebThings Gateway ตอนที่ 2 ใช้งาน Add-ons ต่างๆ บน WebThings Gateway

– บทความ WebThings Gateway ตอนที่ 3 ใช้งาน Rule เเละ Log ข้อมูล

– บทความ WebThings Gateway ตอนที่ 4 ส่งข้อมูลจากบอร์ด ESPino32 ไปยัง WebThings Gateway

– บทความ WebThings Gateway ตอนที่ 5 รับข้อมูลจาก WebThings Gateway มาควบคุมการทำงานบนบอร์ด ESPino32

        หลังจากรู้จักกับ WebThings Gateway ติดตั้งลงบนบอร์ด Raspberry Pi  เเละใช้งาน WebThings Gateway ผ่านทาง Add-ons ต่างๆเรียบร้อยเเล้ว บทความในตอนนี้จะเพิ่มในส่วนของการควบคุมตามกฎต่างๆ (Rules) ที่เราตั้งขึ้นมา เพื่อควบคุมอุปกรณ์โดยไม่ต้องเขียนโปรเเกรมให้ยุ่งยาก เเละเพิ่มเติมในส่วนของการ Log ข้อมูล เพื่อบันทึกค่าของอุปกรณ์เพื่อเรียกดูย้อนหลังได้

การใช้งาน Rules

Rules หากแปลตรงตัวคือ กฎระเบียบ, ข้อบังคับ ในบทความนี้จะหมายถึงเงื่อนไขสำหรับกำหนดการทำงานให้เเเก่อุปกรณ์ คล้ายๆกับการเขียนโปรเเกรมกำหนดเงื่อนไข (if else condition) ยกตัวอย่าง เช่น เมื่อถึงเวลา 6.00 น. ให้ WebThings Gateway ปิดไฟ (led) อัติโนมัติ เมื่อถึงเวลา 18.00 น. ให้ WebThings Gateway เปิดไฟ (led) อัติโนมัติ เมื่อกดปุ่มให้เปิดไฟ (led) เเละเมื่อปล่อยปุ่มให้ปิดไฟ (led) เป็นต้น โดยการตั้งค่านั้นทำได้ง่ายมากเพียงแค่ลากวางเท่านั้น

Rules on/off led

ก่อนที่จะเข้าสู่ขั้นตอนการตั้งค่า Rules ให้ทำงานตามเงื่อนไขต่างๆ สามารถเข้าถึงการเข้าถึงการตั้งค่า Rules ของเราเองในหน้าเว็บไซต์ได้ ดังรูป เข้าถึงการตั้งค่า Rules

เข้าถึงการตั้งค่า Rules

ตัวอย่างการ ตั้งค่าให้ WebThings Gateway ปิดไฟ (led) ตอน 6.00 น.

ตัวอย่างนี้ จะกำหนดให้ WebThings Gateway ปิดไฟ (led) ตอน 6.00 น. ซึ่งขั้นตอนในการทำมีเพียงไม่กี่ขั้นตอน ดังรูปตั้งค่าให้ WebThings Gateway ปิดไฟ (led) ตอน 6.00 น. โดยมีรายละเอียดดังนี้ 

1. สร้าง New Rule

2. ตั้งชื่อ Rules

3. กำหนดเงื่อนไขของเวลา โดยเลือก Clock ลากไปยังเเถบ Input (ด้านซ้าย) เเละกำหนดเวลาเป็น 6.00 น. (06:00 AM)

4. กำหนดการทำงานของ led โดยเลือก led ลากไปยังเเถบ Output (ด้านขวา) เเละกำหนดค่า Property เป็น Off

ตั้งค่าให้ WebThings Gateway ปิดไฟ (led) ตอน 6.00 น.

ตัวอย่างการ ตั้งค่าให้ WebThings Gateway เปิดไฟ (led) ตอน 18.00 น.

ตัวอย่างนี้ จะกำหนดให้ WebThings Gateway เปิดไฟ (led) ตอน 18.00 น. ซึ่งขั้นตอนในการทำมีเพียงไม่กี่ขั้นตอน ดังรูปตั้งค่าให้ WebThings Gateway ปิดไฟ (led) ตอน 18.00 น. โดยมีรายละเอียดดังนี้

1. สร้าง New Rule

2. ตั้งชื่อ Rules

3.กำหนดเงื่อนไขของเวลา โดยเลือก Clock ลากไปยังเเถบ Input (ด้านซ้าย) เเละกำหนดเวลาเป็น 18.00 น. (06:00 PM)

4. กำหนดการทำงานของ led โดยเลือก led ลากไปยังเเถบ Output (ด้านขวา) เเละกำหนดค่า Property เป็น On

ตั้งค่าให้ WebThings Gateway ปิดไฟ (led) ตอน 18.00 น

ตัวอย่างการ ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ติด

ตัวอย่างนี้ จะกำหนดให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ติด  ซึ่งขั้นตอนในการทำมีเพียงไม่กี่ขั้นตอน ดังรูป ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ติด โดยมีรายละเอียดดังนี้

1. สร้าง New Rule

2. ตั้งชื่อ Rules

3. กำหนดเงื่อนไขของการกดปุ่ม โดยเลือก switch ลากไปยังเเถบ Input (ด้านซ้าย) เเละกำหนด Property  เป็น Pushed

4. กำหนดการทำงานของ led โดยเลือก led ลากไปยังเเถบ Output (ด้านขวา) เเละกำหนดค่า Property เป็น On

ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ติด

ตัวอย่างการ ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ดับ

ตัวอย่างนี้ จะกำหนดให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ดับ ซึ่งขั้นตอนในการทำมีเพียงไม่กี่ขั้นตอน ดังรูป ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ดับ โดยมีรายละเอียดดังนี้

1. สร้าง New Rule

2. ตั้งชื่อ Rules

3. กำหนดเงื่อนไขของการกดปุ่ม โดยเลือก switch ลากไปยังเเถบ Input (ด้านซ้าย) เเละกำหนด Property  เป็น Not Pushed

4. กำหนดการทำงานของ led โดยเลือก led ลากไปยังเเถบ Output (ด้านขวา) เเละกำหนดค่า Property เป็น Off

ตั้งค่าให้ WebThings Gateway เมื่อมีการกดปุ่มให้ไฟ (led) ดับ

การ Log ข้อมูล

WebThings Gateway มีฟังก์ชันสำหรับการบันทึกข้อมูล หรือ Event ต่างๆ เเบบเรียลไทม์ ที่สามารถนำมาเเสดงผลให้ผู้ใช้งานดูผ่านทางหน้าเว็บไซต์ได้ทันที สามารถกำหนดระยะเวลาการเก็บบันทึกของข้อมูลได้อีกทั้งยังสามารถเลือกเเสดงผลในหน่วยเวลาของเวลาเช่น นาที ชัวโมง วัน หรือสัปดาห์ได้ ตามตัวอย่างในรูป Log ข้อมูลเเบบเรียลไทม์

Log ข้อมูลเเบบเรียลไทม์

ก่อนที่จะเข้าสู่ขั้นตอนการตั้งค่าการ Log ข้อมูล ผู้ใช้งานสามารถเข้าถึงหน้าเว็บไซต์การ Log ข้อมูล ในหน้าเว็บไซต์ได้  ดังรูป เข้าถึงหน้าเว็บไซต์ Log ข้อมูล

เข้าถึงหน้าเว็บไซต์ Log ข้อมูล

จากนั้นตั้งค่าข้อมูลที่ต้องการบันทึก สำหรับในบทความนี้จะยกตัวอย่างการ Log ข้อมูล การกดสวิตซ์ ดังรูป ตั้งค่าการ Log ข้อมูลสวิตซ์ โดยมีรายละเอียดดังนี้

– Device: switch

– Property: Pushed

– Retention: 7 Days

ตั้งค่าการ Log ข้อมูลสวิตซ์

หากมองในเรื่องของลักษณะการใช้งานโดยทั่วไปเเล้ว จะเห็นได้ว่า WebThings Gateway ค่อนข้างมีฟังก์ชันการใช้งานทั่วไปค่อนข้างครบ ทั้งเเสดงผล ควบคุม สั่งให้ทำงานตามเวลาที่กำหนด บันทึกข้อมูล ซึ่งเป็นฟีเจอร์ที่ควรจะมีทั้งหมดเเละหากสังเกตุตั้งเเต่บทความในตอนที่ 1 เเละตอนที่ 2 จะพบว่าไม่มีความยุ่งยากในการใช้งานเลย เเน่นอนว่าฟีเจอร์ทั้งหมดที่ WebThings Gateway มีนั้นอาจจะไม่เพียงพอสำหรับทุกคน ในบทความถัดไป จะเป็นบทความที่มีเนื้อหาในการส่งข้อมูลจากบอร์ด ESPino32 ESPino32 ซึ่งเป็นบอร์ดไมโครคอนโทรเลอร์ที่มีไวไฟเเล้วส่งค่ามาอัพเดทยังหน้า Webthings Gateway

>>> อ่านต่อ ตอนที่ 4 ส่งข้อมูลจากบอร์ด ESPino32 ไปยัง WebThings <<<

ขอขอบคุณข้อมูลอ้างอิงจาก

– https://iot.mozilla.org/