Node-RED เป็นเครื่องมือที่ใช้สร้างและจัดการกระบวนการการทำงานแบบกราฟิก (graphical programming) ซึ่งเป็นพื้นฐานที่ใช้ในการพัฒนา Internet of Things (IoT) และแอปพลิเคชันที่มีการเชื่อมต่อข้อมูลต่าง ๆ ระหว่างอุปกรณ์หรือแอปพลิเคชันต่าง ๆ โดยสามารถทำงานได้ง่ายและรวดเร็ว โดยมีการเชื่อมต่อและการทำงานร่วมกับ Node.js มีความยืดหยุ่นและปรับแต่งได้ตามต้องการของผู้ใช้งาน
โดย Node-RED มีโครงสร้างของกระบวนการการทำงานแบบไหล (flow-based programming) ที่ช่วยให้ผู้ใช้สามารถสร้างและกำหนดการทำงานของโปรแกรมได้อย่างง่ายดาย โดยมีองค์ประกอบหลักดังนี้
- โหนด (Node): เป็นบล็อกพื้นฐานที่ประกอบด้วยโค้ดหรือการกระทำที่นำมาใช้ในกระบวนการการทำงาน
-
กระบวนการทำงาน (Flow): เป็นโครงสร้างที่สามารถเชื่อมโหนดกันเพื่อสร้างกระบวนการการทำงานตามที่ผู้ใช้ต้องการโดยมีลักษณะเป็นกล่อง
- กล่องแสดงถึงกระบวนการ การประมวลผลกล่องถูกกำหนดโดยทีมงาน Emerging Technology Services ของ IBM เมื่อไหร่ที่ไหนและใช้สิ่งใด โดยมีข้อมูลเท่าใด
- เครื่องมือและอินเทอร์เฟซ: มีเครื่องมือและอินเทอร์เฟซต่าง ๆ เช่น Dashboard UI, Debugging Tools, HTTP Request เป็นต้น Node-RED ไม่เพียงแต่เป็นเครื่องมือในการเขียนโปรแกรมเท่านั้น แต่ยังเป็นเครื่องมือที่มีความสามารถในการปรับปรุงและขยายตัวได้ตามความต้องการ ที่ปรับปรุงและใช้อธิบายเกี่ยวกับกลไกใน Flow Editor ของ Node-RED โดยประกอบด้วย
- Node-RED มีสองส่วนหลักทางตรรกะ: ส่วนการพัฒนาที่เรียกว่า Flow Editor และส่วนการดำเนินการสำหรับการดำเนินการแอปพลิเคชันที่สร้างขึ้นจากนั้น
- Runtime: ส่วนนี้ประกอบด้วย Runtime ของแอปพลิเคชัน Node.js ซึ่งมีหน้าที่ในการเรียกใช้กระบวนการการทำงานที่ถูกสร้างขึ้นแล้ว
- Editor: เป็นเว็บแอปพลิเคชันที่ผู้ใช้สามารถแก้ไขไหลของข้อมูลของตนได้ โดยสามารถทำการสร้างและแก้ไขการเชื่อมต่อและการทำงานของโปรแกรมได้ในส่วนนี้
และนี่คือการใช้ Flow Editor ใน Node-RED:

- Node: เป็นบล็อกหลักในแอปพลิเคชัน Node-RED ซึ่งแทนฟังก์ชันที่กำหนดไว้อย่างชัดเจน
- Flow: เป็นชุดของโหนดที่ถูกเชื่อมต่อกันเพื่อแทนลำดับของขั้นตอนที่ข้อความผ่านไปในแอปพลิเคชัน
- The panel on the left is the palette: เป็นคลังของโหนดที่ใช้ใน Flow Editor ที่คุณสามารถนำมาใช้ในการสร้างแอปพลิเคชันของคุณ
- Deploy button: กดปุ่มนี้เพื่อนำแอปพลิเคชันของคุณออกไปใช้งานหลังจากที่คุณได้ทำการแก้ไข
- Sidebar: เป็น panal ที่ใช้แสดงฟังก์ชันต่าง ๆ เช่นการตั้งค่าพารามิเตอร์การประมวลผล สเปกการ์ และการแสดงผลข้อความของ Debugger
- Sidebar tabs: การตั้งค่าสำหรับแต่ละโหนด การแสดงผลข้อความมาตรฐาน การจัดการการเปลี่ยนแปลง และอื่น ๆ
- Main Menu: การลบ Flow, การนำเข้า/การส่งออกโปรเจค, การจัดการโปรเจกต์ เป็นต้น

สรุปได้ว่า
Node-RED เป็นเครื่องมือที่ใช้สร้างและจัดการกระบวนการการทำงานแบบกราฟิก (graphical programming) ที่มีโครงสร้างของกระบวนการการทำงานแบบไหล (flow-based programming) โดยมีโหนดและกระบวนการทำงาน (Flow) เป็นส่วนหลัก โดยสามารถใช้ในการพัฒนา Internet of Things (IoT) และแอปพลิเคชันที่มีการเชื่อมต่อข้อมูลต่าง ๆ ระหว่างอุปกรณ์หรือแอปพลิเคชันต่าง ๆ อย่างง่ายดาย ด้วยการเชื่อมต่อและการทำงานร่วมกับ Node.js เป็นแพลตฟอร์มที่ยืดหยุ่นและสามารถปรับแต่งได้ตามต้องการของผู้ใช้งาน ใน Flow Editor ผู้ใช้สามารถสร้างและแก้ไขโปรแกรมได้อย่างสะดวก และมีเครื่องมือและอินเทอร์เฟซที่ช่วยให้การทำงานเป็นไปอย่างรวดเร็วและมีประสิทธิภาพ เช่น palette, Deploy button, Sidebar, และ Main Menu.