Lab 5: Working with Multiple Topic Using Multiple microgear Node


ในการทดลองดังต่อไปนี้ เป็นการจำลองสถานการณ์ว่า หากเราเชื่อมต่อตัววัดอุณหภูมิและความชื้นในอากาศขึ้น NETPIE ด้วย NodeMCU ตัวหนึ่ง และอีกทางด้านหนึ่ง เครื่องปรับอากาศได้ทำการติด Relay และเชื่อมต่อขึ้น NETPIE โดยใช้ NodeMCU อีกตัวหนึ่ง และซึ่งอุปกรณ์ที่ได้ติดตัววัดอุณหภูมิได้ Publish ข้อมูลทั้งอุณหภูมิความชื้น และ Subscribe สัญญาณการปิดเปิด ผ่านTopicที่แตกต่างกัน \(ทั้งนี้ โดยทั่วไปแล้ว ผู้ใช้ก็ไม่ควรตั้งให้อุปกรณ์ใช้ Topic เดียวกันอยู่แล้ว\) ฉะนั้นจากข้อมูลสถานการณ์ข้างต้น เราสามารถให้ทั้งสองอุปกรณ์สามารถสื่อสารกันได้โดยการกำหนดค่าของโหนดดังต่อไปนี้

[{"id":"a04bb62a.4fecb8","type":"microgear","z":"79349797.a28f18","name":"HumidDHT","appid":"KSmartHome","key":"FTo6zEKkmE0CgJT","secret":"whdYoEXY3ZV7wClWQglo58yiJ","alias":"humidDHT","topics":"/humid/nodeMCU","active":true,"retain":"true","retainType":"bool","x":150,"y":220,"wires":[["62a605a3.5e945c"]]},{"id":"d2973861.43b7c8","type":"switch","z":"79349797.a28f18","name":"check","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"80","vt":"num"},{"t":"lt","v":"70","vt":"num"}],"checkall":"true","outputs":2,"x":470,"y":220,"wires":[["2e12489c.d32628"],["4b026c3e.237964"]]},{"id":"2e12489c.d32628","type":"change","z":"79349797.a28f18","name":"ON ( morethan 80)","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":160,"wires":[["4407f8e1.bd8258"]]},{"id":"4b026c3e.237964","type":"change","z":"79349797.a28f18","name":"OFF ( lessthan 60 )","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":280,"wires":[["4407f8e1.bd8258"]]},{"id":"4407f8e1.bd8258","type":"microgear","z":"79349797.a28f18","name":"SW","appid":"KSmartHome","key":"FTo6zEKkmE0CgJT","secret":"whdYoEXY3ZV7wClWQglo58yiJ","alias":"SW","topics":"/gearname/SW","active":true,"retain":"true","retainType":"bool","x":910,"y":220,"wires":[[]]},{"id":"62a605a3.5e945c","type":"change","z":"79349797.a28f18","name":"set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"/gearname/SW","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":220,"wires":[["d2973861.43b7c8"]]}]

Exported Flow

รูปภาพที่ 63 แสดง Exported Flow ของ Lab 5

ค่าที่ตั้งในแต่ละโหนด _รูปภาพที่ 64 แสดงการตั้งค่าของโหนดประเภท microgear ชื่อ HumidDHT

รูปภาพที่ 65 แสดงการตั้งค่าของโหนดประเภท change ชื่อ set topic
_

รูปภาพที่ 66 แสดงการตั้งค่าของโหนดประเภท switch ชื่อ check

รูปภาพที่ 67 แสดงการตั้งค่าของโหนดประเภท change ชื่อ ON ( more than 80) รูปภาพที่ 68 แสดงการตั้งค่าของโหนดประเภท change ชื่อ OFF ( lessthan 60 ) รูปภาพที่ 69 แสดงการตั้งค่าของโหนดประเภท microgear ชื่อ SW

ความเปลี่ยนแปลงของข้อมูลในแต่ละขั้นตอนใน Flowรูปภาพที่ 70 แสดงการไหลของข้อมูลตลอด Flow ใน Lab 5

จากแผนภาพด้านบนนี้ ได้ยกตัวอย่างกรณีที่ข้อมูล \(payload\) ที่ได้รับมาจากตัวตรวจจับอุณหภูมิมีค่าอยู่ที่ 81.3 โดยกล่องตัวแทนของวัตถุที่ออกจากโหนด \(Object\) จะอยู่ด้านบนของแต่ละโหนดซึ่งได้แสดงให้เห็นว่าหากไม่มีการเปลี่ยน Topic ของข้อมูลที่รับมาจาก microgear ตัวแรกแล้วนั้น การสื่อสารกับสวิตช์เครื่องปรับอากาศนั้น เป็นไปไม่ได้เลย เพราะว่า Topic ไม่ตรงกัน เพราะฉะนั้นในกรณีนี้จึงจำเป็นต้องมีการพิจารณาเปลี่ยน Topic เพื่อให้สามารถ Publish ไปยังอุปกรณ์ที่ต้องการได้

results matching ""

    No results matching ""