สารบัญ:

Node-RED: RS485 Raspberry Pi บทช่วยสอน: 8 ขั้นตอน
Node-RED: RS485 Raspberry Pi บทช่วยสอน: 8 ขั้นตอน

วีดีโอ: Node-RED: RS485 Raspberry Pi บทช่วยสอน: 8 ขั้นตอน

วีดีโอ: Node-RED: RS485 Raspberry Pi บทช่วยสอน: 8 ขั้นตอน
วีดีโอ: Raspberry Pi Node-RED Tutorial (For Beginners) 2024, มิถุนายน
Anonim
Node-RED: RS485 Raspberry Pi บทช่วยสอน
Node-RED: RS485 Raspberry Pi บทช่วยสอน

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

ฟรี UART ใน Raspbian Stretch หรือ Buster
ฟรี UART ใน Raspbian Stretch หรือ Buster

วิธีที่ง่ายที่สุดคือใช้เครื่องมือ raspi-config เพื่อเปลี่ยน UART เป็นพิน GPIO14/15 ถ่ายภาพ Raspbian สด

  1. sudo raspi-config
  2. ไปที่ '5 ตัวเลือกการเชื่อมต่อ'
  3. ไปที่ 'P6 Serial'
  4. 'คุณต้องการให้ล็อกอินเชลล์สามารถเข้าถึงได้ผ่านซีเรียลหรือไม่' ไม่
  5. 'คุณต้องการให้เปิดใช้งานฮาร์ดแวร์พอร์ตอนุกรมหรือไม่' ใช่
  6. เสร็จสิ้น raspi-config
  7. รีบูต Raspberry Pi

ตอนนี้คุณสามารถเข้าถึง UART ผ่าน /dev/serial0

ขั้นตอนที่ 3: การตั้งค่าสวิตช์ DIP สำหรับ RS485 HAT

การตั้งค่าสวิตช์ DIP สำหรับ RS485 HAT
การตั้งค่าสวิตช์ 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
เริ่มโหนด-RED

เริ่มโหนด-RED:

Node-RED เป็นส่วนหนึ่งของ Raspbian Stretch and Buster (พร้อมเดสก์ท็อปและซอฟต์แวร์ที่แนะนำ) คุณสามารถใช้คำสั่ง node-red เพื่อเรียกใช้ Node-RED ในเทอร์มินัลหรือบนเดสก์ท็อปผ่านเมนู 'การเขียนโปรแกรม'

เปิดตัวแก้ไข:

เมื่อ Node-RED ทำงาน คุณจะสามารถเข้าถึงตัวแก้ไขในเบราว์เซอร์ได้ หากคุณกำลังใช้เบราว์เซอร์บนเดสก์ท็อป Pi คุณสามารถเปิดที่อยู่:

ขั้นตอนที่ 5: การสื่อสาร RS485 อย่างง่าย

การสื่อสาร RS485 อย่างง่าย
การสื่อสาร RS485 อย่างง่าย
การสื่อสาร RS485 อย่างง่าย
การสื่อสาร RS485 อย่างง่าย

ในตัวอย่างนี้ Raspberry Pi จะส่งข้อความ 'Hello World' ผ่าน RS485 หลังจากกดปุ่มฉีด โฟลว์จะได้รับสตริงขาเข้า (สิ้นสุดโดย \d) และแสดงสตริงในหน้าต่างการดีบักทางด้านขวา

การสื่อสารจะเกิดขึ้นโดยใช้โหนดขาเข้าและขาออกแบบอนุกรมซึ่งได้รับการติดตั้งไว้ล่วงหน้า สิ่งสำคัญคือต้องตั้งค่าคุณสมบัติของ Serial Port เป็น /dev/serial0 ตามภาพด้านบน

คุณสามารถทดสอบโฟลว์ด้วยพีซีที่เชื่อมต่อ (ผ่านอะแดปเตอร์ USB เป็น RS485) และโปรแกรมเทอร์มินัลอย่างง่าย

ขั้นตอนที่ 6: MODBUS - การกำหนดค่า 1

MODBUS - การกำหนดค่า 1
MODBUS - การกำหนดค่า 1

ในขั้นตอนต่อไปนี้ ฉันต้องการแสดงให้คุณเห็นถึงวิธีการใช้การสื่อสาร Modbus RTU อย่างง่ายภายใต้ Node-RED

ก่อนอื่นเราต้องติดตั้งโหนด Modbus เพิ่มเติม node-red-contrib-modbus ผ่านตัวจัดการจานสีหรือบน bash โดยป้อน:

npm ติดตั้ง node-red-contrib-modbus

ตอนนี้คุณสามารถนำเข้าโฟลว์

ขั้นตอนที่ 7: การกำหนดค่า Modbus 2

การกำหนดค่า Modbus 2
การกำหนดค่า Modbus 2
การกำหนดค่า Modbus 2
การกำหนดค่า Modbus 2
การกำหนดค่า Modbus 2
การกำหนดค่า Modbus 2

หลังจากนำเข้าโฟลว์แล้ว เราสามารถดูการกำหนดค่าของโหนด 'Modebus write' และ 'Modbus read' สิ่งสำคัญคือต้องตั้งค่าคุณสมบัติ 'เซิร์ฟเวอร์' เป็น dev/serial0 และกำหนดค่าตามที่แสดงในรูปภาพด้านบน

ขั้นตอนที่ 8: การทดสอบ Modbus

การทดสอบ Modbus
การทดสอบ Modbus

สำหรับการทดสอบฉันได้เชื่อมต่อ Arduino กับ RS485 Shield เป็น Modbus slave (คุณสามารถตรวจสอบข้อมูลเพิ่มเติมได้จากคำแนะนำนี้)

Modbus Read จะสำรวจหน่วยที่ 1 ทั้ง 2 วินาทีและอ่าน 8 การลงทะเบียนของทาส คุณสามารถดูผลลัพธ์ในสถานะของ Modbus Response ผ่าน 2 หัวฉีด คุณสามารถตั้งค่ารีจิสเตอร์ 6 ของสเลฟเป็น 0 หรือ 255

แนะนำ: