สารบัญ:
- ขั้นตอนที่ 1: เครื่องมือและวัสดุ
- ขั้นตอนที่ 2: ปล่อย UART ใน Raspbian Stretch หรือ Buster
- ขั้นตอนที่ 3: การตั้งค่าสวิตช์ DIP สำหรับ RS485 HAT
- ขั้นตอนที่ 4: เริ่ม Node-RED
- ขั้นตอนที่ 5: การสื่อสาร RS485 อย่างง่าย
- ขั้นตอนที่ 6: MODBUS - การกำหนดค่า 1
- ขั้นตอนที่ 7: การกำหนดค่า Modbus 2
- ขั้นตอนที่ 8: การทดสอบ Modbus
วีดีโอ: Node-RED: RS485 Raspberry Pi บทช่วยสอน: 8 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
Node-RED เครื่องมือเขียนโปรแกรมแบบเห็นภาพแบบไหลลื่นได้รับความนิยมมากขึ้นเรื่อยๆ สำหรับนักพัฒนา Raspberry Pi คำแนะนำนี้จะแสดงให้คุณเห็นถึงวิธีใช้ RS422 / RS485 Serial HAT แบบแยกของเราภายใต้ Node-Red สำหรับการสื่อสาร RS485 อย่างง่ายและสำหรับแอปพลิเคชัน MODBUS ด้วย
ขั้นตอนที่ 1: เครื่องมือและวัสดุ
วัสดุ:
- Raspberry Pi A+, B+, 2B, 3B หรือ 4B
- RS422/RS485 Serial HAT
- การ์ด SD
ซอฟต์แวร์:
-
Raspbian Stretch หรือ Buster (พร้อมเดสก์ท็อปและ
ซอฟต์แวร์ที่แนะนำ)
ขั้นตอนที่ 2: ปล่อย UART ใน Raspbian Stretch หรือ Buster
วิธีที่ง่ายที่สุดคือใช้เครื่องมือ raspi-config เพื่อเปลี่ยน UART เป็นพิน GPIO14/15 ถ่ายภาพ Raspbian สด
- sudo raspi-config
- ไปที่ '5 ตัวเลือกการเชื่อมต่อ'
- ไปที่ 'P6 Serial'
- 'คุณต้องการให้ล็อกอินเชลล์สามารถเข้าถึงได้ผ่านซีเรียลหรือไม่' ไม่
- 'คุณต้องการให้เปิดใช้งานฮาร์ดแวร์พอร์ตอนุกรมหรือไม่' ใช่
- เสร็จสิ้น raspi-config
- รีบูต Raspberry Pi
ตอนนี้คุณสามารถเข้าถึง UART ผ่าน /dev/serial0
ขั้นตอนที่ 3: การตั้งค่าสวิตช์ DIP สำหรับ RS485 HAT
RS422/RS485 HAT ของเรามาพร้อมกับสวิตช์ธนาคาร 3 DIP คุณต้องตั้งค่าสวิตช์ DIP เหล่านี้สำหรับ RS485 ตามที่แสดงในภาพด้านบน
- สวิตช์ 1: 1-OFF 2-ON 3-ON 4-OFF
- สวิตช์ 2: 1-OFF 2-OFF 3-ON 4-ON
- สวิตช์ 3: 1-OFF หรือ ON* 2-OFF 3-OFF 4-OFF
*ขึ้นอยู่กับตำแหน่งของ RS422/RS485 HAT ในสาย Modbus คุณต้องเปิดหรือปิดตัวต้านทานการสิ้นสุด โปรดเปลี่ยนตัวต้านทานไปที่ตำแหน่ง ON เฉพาะเมื่อ HAT อยู่ที่ปลายด้านหนึ่งของสายบัส ในกรณีอื่น ๆ ให้ปิดตัวต้านทานการสิ้นสุด OFF
ขั้นตอนที่ 4: เริ่ม Node-RED
เริ่มโหนด-RED:
Node-RED เป็นส่วนหนึ่งของ Raspbian Stretch and Buster (พร้อมเดสก์ท็อปและซอฟต์แวร์ที่แนะนำ) คุณสามารถใช้คำสั่ง node-red เพื่อเรียกใช้ Node-RED ในเทอร์มินัลหรือบนเดสก์ท็อปผ่านเมนู 'การเขียนโปรแกรม'
เปิดตัวแก้ไข:
เมื่อ Node-RED ทำงาน คุณจะสามารถเข้าถึงตัวแก้ไขในเบราว์เซอร์ได้ หากคุณกำลังใช้เบราว์เซอร์บนเดสก์ท็อป Pi คุณสามารถเปิดที่อยู่:
ขั้นตอนที่ 5: การสื่อสาร RS485 อย่างง่าย
ในตัวอย่างนี้ Raspberry Pi จะส่งข้อความ 'Hello World' ผ่าน RS485 หลังจากกดปุ่มฉีด โฟลว์จะได้รับสตริงขาเข้า (สิ้นสุดโดย \d) และแสดงสตริงในหน้าต่างการดีบักทางด้านขวา
การสื่อสารจะเกิดขึ้นโดยใช้โหนดขาเข้าและขาออกแบบอนุกรมซึ่งได้รับการติดตั้งไว้ล่วงหน้า สิ่งสำคัญคือต้องตั้งค่าคุณสมบัติของ Serial Port เป็น /dev/serial0 ตามภาพด้านบน
คุณสามารถทดสอบโฟลว์ด้วยพีซีที่เชื่อมต่อ (ผ่านอะแดปเตอร์ USB เป็น RS485) และโปรแกรมเทอร์มินัลอย่างง่าย
ขั้นตอนที่ 6: MODBUS - การกำหนดค่า 1
ในขั้นตอนต่อไปนี้ ฉันต้องการแสดงให้คุณเห็นถึงวิธีการใช้การสื่อสาร Modbus RTU อย่างง่ายภายใต้ Node-RED
ก่อนอื่นเราต้องติดตั้งโหนด Modbus เพิ่มเติม node-red-contrib-modbus ผ่านตัวจัดการจานสีหรือบน bash โดยป้อน:
npm ติดตั้ง node-red-contrib-modbus
ตอนนี้คุณสามารถนำเข้าโฟลว์
ขั้นตอนที่ 7: การกำหนดค่า Modbus 2
หลังจากนำเข้าโฟลว์แล้ว เราสามารถดูการกำหนดค่าของโหนด 'Modebus write' และ 'Modbus read' สิ่งสำคัญคือต้องตั้งค่าคุณสมบัติ 'เซิร์ฟเวอร์' เป็น dev/serial0 และกำหนดค่าตามที่แสดงในรูปภาพด้านบน
ขั้นตอนที่ 8: การทดสอบ Modbus
สำหรับการทดสอบฉันได้เชื่อมต่อ Arduino กับ RS485 Shield เป็น Modbus slave (คุณสามารถตรวจสอบข้อมูลเพิ่มเติมได้จากคำแนะนำนี้)
Modbus Read จะสำรวจหน่วยที่ 1 ทั้ง 2 วินาทีและอ่าน 8 การลงทะเบียนของทาส คุณสามารถดูผลลัพธ์ในสถานะของ Modbus Response ผ่าน 2 หัวฉีด คุณสามารถตั้งค่ารีจิสเตอร์ 6 ของสเลฟเป็น 0 หรือ 255