RUT955 send Modbus Data to Server(MQTT)

ตัวอย่าง

การรับ Modbus RTU จาก Sensor และส่งต่อด้วย MQTT ไปยัง MQTT Server และแสดงผล ( ในที่นี้กำหนด ให้ Notebook เป็น Local MQTT Server )

1 1

การตั้งค่า

1. Configuration Connect Rut to device

RUT955 อ่านค่าจาก Modbus RS485 Device <<< คลิก!

2. Service>>Modbus>>Modbus data to server

RUT955 send Modbus Data to ServerMQTT 1

3. New modbus data sender

RUT955 send Modbus Data to ServerMQTT 2

3.1  protocol : Mqtt
3.2  URL/host/connection setting : Mqtt Broker
3.3  Period : อัตราความถี่ในการส่งข้อมูล
3.4  Add

RUT955 send Modbus Data to ServerMQTT 3

4. Advanced sender setting
4.1 data sender configuration ทำการ Enable และใส่ข้อมูลต่างๆ โดยข้อมูลที่จะส่งออกเป็นจะเป็น Json format จากนั้น save

RUT955 send Modbus Data to ServerMQTT 4

5. ข้อมูลจะมาแสดงบน Modbus data sender กด save อีกครั้ง เป็นอันเสร็จสิ้น

RUT955 send Modbus Data to ServerMQTT 5

ด้าน Monitor รับค่าโดยครั้งนี้ ใช้เป็น Notebook เขียนโปรแกรมรับค่าและแสดงผลตาม code ในลิ้งด้านล่างนี้

using System;

// including  m2mqtt library
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;

namespace BasicMQTT1
{
    class Program
    {
        static void Main(string[] args)
        {
            MqttClient mqttClient = new MqttClient("localhost");
            mqttClient.MqttMsgPublishReceived += client_recivedMessage;
            string clientId = Guid.NewGuid().ToString();
            mqttClient.Connect(clientId);
            Console.WriteLine("Subscriber test");
            mqttClient.Subscribe(new string[] { "test" }, new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE });
        }
        static void client_recivedMessage(object sender,MqttMsgPublishEventArgs e)
        {
            var message = System.Text.Encoding.Default.GetString(e.Message);
            System.Console.WriteLine("Message received : "+ message);

        }
    }
}