การสื่อสารโดยตรงผ่านระบบเครือข่าย โดย UDP

การสื่อสารกันระหว่างไมโครคอนโทรลเลอร์ ผ่านระบบเครือข่าย สามารถทำได้ง่ายๆ โดยใช้เครื่องมือของ Waijung Blockset ตัวอย่างดังต่อไปนี้จะเป็นการสาธิตการสื่อสารกันโดยใช้ UDP โดยจะมีอยู่ใน Waijung เวอร์ชั่น 13.11a เป็นต้นไป การสื่อสารโดยใช้ UDP ผ่านระบบเครือข่ายนี้ สามารถใช้สื่อสารกันระหว่าง ไมโครคอนโทรลเลอร์ กับ ไมโครคอนโทรลเลอร์ และ ไมโครคอนโทรลเลอร์ กับ เครื่องคอมพิวเตอร์

The Benefit

ข้อดีของการสื่อสารแบบ UDP ก็คือ สามารถสื่อสารกันได้เร็ว และส่งข้อมูลได้เป็นจำนวนมาก ระหว่างหลายๆจุดภายในระบบเครือข่าย โดยจะใช้ประโยชน์จากเครือข่ายที่มีการติดตั้งใช้งานในองค์กรอยู่แล้ว อำนวยให้เกิดความสะดวก และความยืดหยุ่น ในแง่ของการติดตั้งใช้งาน และระยะทางในการสื่อสาร สายสัญญาณต่างๆจัดเก็บได้สะดวก และมีน้อย และที่น่าสนใจคือ UDP สามารถนำมาใช้ในการสื่อสารระหว่าง ไมโครคอนโทรลเลอร์ กับ ไมโครคอนโทรลเลอร์ และ ไมโครคอนโทรลเลอร์ กับ เครื่องคอมพิวเตอร์ ก็ได้

The Software

ในการโปรแกรมไมโครคอนโทรลเลอร์ของเราเพื่อให้ใช้การสื่อสารผ่านระบบเครือข่ายแบบ UDP จะต้องใช้กล่องต่ไปนี้

  1. Ethernet Link, ใช้ในการตั้งช่องในการสื่อสาร จะต้องตั้งค่าให้ตรงกับอุปกรณ์  (เช่นถ้าใช้  STM32F4 Discovery, เราจะต้องตั้งค่าเป็น Profile#1)
  2. Ethernet App, ใช้ตั้งค่า IP ของอุปกรณ์ที่จะเชื่อมเข้ากับระบบเครือข่าย (ตั้งค่าให้แตกต่างกันไปตามแต่ละ ไมโครคอนโทรลเลอร์)

กล่องสองกล่องหลักที่จะใช้ในการสื่อสารแบบ UDP ครั้งนี้ก็คือ

  1. Target UDP Send. กล่องส่ง โดยเราจะต้องตั้งค่า IP ของปลายทางที่จะรับข้อมูลให้ตรง และตั้งจำนวนช่องข้อมูลให้เป็นไปตามข้อมูลที่จะส่ง กล่องส่งหนึ่งกล่อง สามารถใช้ส่งข้อมูลให้ไมโครคอนโทรลเลอร์ได้เพียงหนึ่งตัวเท่านั้น ถ้าต้องการส่งไปยังหลายปลายทาง จะต้องใช้หลายกล่องส่ง
  2. Target UDP Receive. กล่องรับ โดยจะต้องตั้งค่าข้อมูลที่จะรับให้ตรงกับข้อมูลที่ถูกส่งมาหา โดยสังเกตจากกล่องส่งที่เราได้ตั้งไว้แล้ว หากมีหลายไมโครคอนโทรลเลอร์ ส่งข้อมูลมา เราจะใช้กล่องรับเพียงกล่องเดียว แต่จะต้องตั้งช่องรับข้อมูลให้ครบ เพียงพอ

ในการสาธิตครั้งนี้ เราจะส่งสัญญาณของการกดปุ่มสองปุ่ม จากไมโครคอนโทรลเลอร์หนึ่งตัว ไปยังอีกไมโครคอนโทรลเลอร์ เพื่อเอาไปใช้เปิด/ปิดไฟ LED ที่ไมโครคอนโทรลเลอร์ตัวที่รับข้อมูล ภาพด้านล่างแสดงแผนภาพของการโปรแกรมของไมโครคอนโทรลเลอร์ ทั้งสองตัว

 

UDP-direct-communication-resize

Block Diagram for Simulink Model

ตัวอย่างไฟล์ที่โปรแกรม:

  1. target_udp_demo1
  2. target_udp_demo2

The Hardware

ฮาร์ดแวร์ที่ต้องใช้ อย่างน้อยจะต้องประกอบด้วย

  1. Two STM32F4 Discovery + USB cables for power
  2. Two aMG F4 Connect
  3. Two aMG Ethernet INF + Lan Cables
  4. Local Network

ภาพต่อไปนี้แสดงให้เห็นการประกอบอุปกรณ์ และการเชื่อมต่อสายสัญญาณต่างๆ

Two set of STM32F4 Discovery, F4 Connect, aMG Ethernet INF connected to the same network

Two set of STM32F4 Discovery, F4 Connect, aMG Ethernet INF connected to the same network

The DEMO

วีดีโอด้านล่างนี้ แสดงให้เห็นการสื่อสารแบบ Real-time ระหว่างไมโครคอนโทรลเลอร์ทั้งสองตัว โดยใช้ UDP เมื่อเรากดปุ่มบนบอร์ดไมโครคอนโทรลเลอร์ทางซ้าย ไฟ LED จะติดในบอร์ดไมโครคอนโทรลเลอร์ทางขวา และเมื่อเรากดปุ่มของบอร์ดทางขวา ผลจะเป็นตรงข้าม