โปรเจกต์ Arduino Opta™ OPC UA กับ Node-RED
สร้างระบบ control และ monitoring แบบ real-time โดยการเปลี่ยน Arduino Opta™ ของคุณให้เป็น OPC UA server และเชื่อมต่อเข้ากับ Node-RED panel
สร้างระบบ control และ monitoring แบบ real-time โดยการเปลี่ยน Arduino Opta™ ของคุณให้เป็น OPC UA server และเชื่อมต่อเข้ากับ Node-RED panel
Project Supporter Team
โพสต์โดย
โปรเจกต์นี้เป็นการสร้าง OPC-UA server บนแพลตฟอร์ม Arduino Opta™ โดยมี Node-RED client ทำหน้าที่เป็นแผงควบคุม (control panel) สำหรับระบบที่ใช้ Opta™ ช่วยให้สามารถควบคุมและตรวจสอบข้อมูลแบบ real-time ของ:
OPC Unified Architecture (OPC-UA) คือโปรโตคอลการสื่อสารที่มีความยืดหยุ่นและไม่ยึดติดกับแพลตฟอร์ม (platform-agnostic) ซึ่งมีการใช้งานอย่างแพร่หลายในระบบ industrial automation
คุณสมบัติหลัก:
การนำ OPC-UA มาใช้ในโปรเจกต์นี้ช่วยให้การรวมระบบ (integration) ระหว่างฮาร์ดแวร์ Arduino Opta™ และระบบระดับสูงกว่า เช่น Node-RED, MES, SCADA และอื่นๆ เป็นไปได้อย่างราบรื่น สร้างอินเทอร์เฟซการควบคุมและตรวจสอบที่เป็นหนึ่งเดียวและทำงานร่วมกันได้
สำหรับโปรเจกต์นี้ คุณจำเป็นต้องมี Arduino sketch สำหรับรัน OPC-UA server บน Opta™ และ Node-RED flow สำหรับสร้าง client control panel โดยไฟล์ Code ทั้งสองนี้สามารถดูได้ที่ส่วน Code ด้านล่าง เรามาดูกันว่าโค้ดเหล่านี้ทำหน้าที่อะไรบ้าง
นี่คือ Arduino sketch (C++) ที่จะรันบน Arduino Opta™ ซึ่งจะช่วยให้เครื่องสามารถ:
นี่คือ Node-RED flow ที่เชื่อมต่อในฐานะ OPC-UA client เข้ากับ Arduino Opta™ server เพื่อให้ผู้ใช้งานมี Dashboard ที่สามารถ:
ทำการ Flash Arduino Opta™ ด้วย OPC-UA server sketch opta_opcua_server/ ที่อยู่ในส่วน code ด้านล่าง โดยดาวน์โหลดไฟล์ .ino และใช้ Arduino IDE ในการ upload ลงใน Opta™
สำหรับการนำเข้า (import) Node-RED flow ให้ดาวน์โหลดไฟล์ json node-red-opc-ua-client/ จากส่วน code ด้านล่าง จากนั้นสามารถ import เข้าสู่ Node-RED ได้โดยตรง
จากนั้นตั้งค่า Node-RED ให้เชื่อมต่อกับ OPC-UA endpoint ที่ถูกต้อง เมื่อ sketch .ino ทำงานบน Opta™ ระบบจะแสดง IP address ผ่าน Serial Monitor ให้เปิด Serial Monitor ใน Arduino IDE ขณะที่ Opta™ เชื่อมต่ออยู่และรัน sketch เพื่อดู IP address สำหรับนำไปตั้งค่า endpoint
คราวนี้มาลองทดสอบโดยใช้ Dashboard เพื่อสั่งงาน relays, อ่านค่าปุ่มกด และตรวจสอบข้อมูล Sensor กันเลย!
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้