Posted on Leave a comment

Node-RED เบื้องต้น

🔧 Node-RED คืออะไร?

Node-RED คือเครื่องมือแบบ Visual Programming (ลากเส้นต่อกล่อง) สำหรับการทำงานกับ IoT, Automation, API และอื่นๆ โดยเขียนด้วย Node.js ใช้งานผ่านเว็บเบราว์เซอร์


🚀 เริ่มต้นใช้งาน Node-RED

1. ติดตั้ง Node.js

Node-RED ต้องการ Node.js ในระบบก่อน:

  • ไปที่ https://nodejs.org และดาวน์โหลดเวอร์ชัน LTS
  • ติดตั้งตามปกติ

2. ติดตั้ง Node-RED

เปิด Terminal หรือ Command Prompt แล้วพิมพ์:

bash
npm install -g --unsafe-perm node-red

3. เปิด Node-RED

ใน Terminal พิมพ์:

bash
node-red

จะเห็นข้อความประมาณว่า:

arduino
Server now running at http://127.0.0.1:1880/

เปิดเว็บเบราว์เซอร์ไปที่ http://localhost:1880


🧱 หน้าตา Node-RED

ส่วนประกอบหลัก:

  1. Nodes (กล่อง): ฟังก์ชันต่างๆ เช่น input, output, logic
  2. Flow (ผังงาน): หน้ากระดานที่เราลากกล่องมาต่อกัน
  3. Deploy: ปุ่มสำหรับบันทึกและเริ่มใช้งาน flow

✨ ตัวอย่างแรก: เปิด-ปิดไฟด้วย Switch

ลาก Node ตามนี้:

  1. [inject] ➡️ [debug]

  2. ดับเบิ้ลคลิก inject แล้วตั้งค่าดังนี้:

    • Payload: string

    • ค่า: "เปิดไฟ"

  3. ดับเบิ้ลคลิก debug แล้วเลือกแสดง msg.payload

กดปุ่ม Inject ➡️ ดูค่าที่แสดงใน debug ด้านขวา

Tip: ลาก Node switch, function, mqtt, http มาใช้ต่อได้ เช่น เชื่อมกับไฟ LED หรือ API


📦 ตัวอย่าง Nodes ยอดนิยม

Node ใช้งานสำหรับ
inject ส่งค่าเริ่มต้นเข้า flow
debug แสดงค่าที่ปลายทาง
function เขียน JavaScript เพิ่มเติม
mqtt เชื่อมต่อกับ IoT
http ส่งหรือรับ API
rpi gpio ควบคุม Raspberry Pi GPIO

✅ ตัวอย่าง

  • Node-RED เชื่อมกับเซนเซอร์
  • Node-RED อ่านค่าจาก MQTT
  • Node-RED สั่ง Relay
  • Node-RED เชื่อมกับ PLC หรือ SCADA

Node-RED เชื่อมกับเซนเซอร์

🧩 แนวทางการเชื่อม Node-RED กับเซนเซอร์

📍 1. เซนเซอร์ต่อกับ Arduino / ESP32 / NodeMCU

เช่น:

  • Arduino อ่านค่าจากเซนเซอร์
  • ส่งค่าผ่าน Serial / MQTT / HTTP ไปยัง Node-RED

✅ ตัวอย่าง 1: Arduino + DHT11 ส่งค่าอุณหภูมิผ่าน Serial มา Node-RED

🔌 อุปกรณ์:

  • Arduino UNO
  • เซนเซอร์ DHT11
  • สาย USB ต่อกับคอม

🔧 Sketch ใน Arduino:

🌐 Node-RED ตั้งค่า:

1.เพิ่ม Node serial in

  • พอร์ต: COMx (ตามที่ Arduino ต่อ)
  • Baudrate: 9600

2.ต่อกับ Node function (แปลงข้อมูล):

3. ต่อกับ Node debug หรือ ui_gauge หากทำ Dashboard

📍 2. เซนเซอร์ต่อกับ Raspberry Pi

  • ใช้ Node rpi-gpio in/out ใน Node-RED ควบคุมหรืออ่านค่า GPIO ได้เลย
  • ใช้ Python script หรือ Bash แล้วส่งค่าผ่าน MQTT หรือ exec

📍 3. ใช้โปรโตคอล MQTT (นิยมมาก)

  • ใช้ Node mqtt in เพื่อรับค่าจากเซนเซอร์ที่ publish มาผ่าน MQTT broker เช่น Mosquitto
  • Node-RED ฟังค่าผ่าน topic เช่น sensor/temp