ตัวอย่าง
การรับ Modbus RTU จาก Sensor และส่งต่อด้วย MQTT ไปยัง MQTT Server และแสดงผล ( ในที่นี้กำหนด ให้ Notebook เป็น Local MQTT Server )
การตั้งค่า
1. Configuration Connect Rut to device
RUT955 อ่านค่าจาก Modbus RS485 Device <<< คลิก!
2. Service>>Modbus>>Modbus data to server
3. New modbus data sender
3.1 protocol : Mqtt
3.2 URL/host/connection setting : Mqtt Broker
3.3 Period : อัตราความถี่ในการส่งข้อมูล
3.4 Add
4. Advanced sender setting
4.1 data sender configuration ทำการ Enable และใส่ข้อมูลต่างๆ โดยข้อมูลที่จะส่งออกเป็นจะเป็น Json format จากนั้น save
5. ข้อมูลจะมาแสดงบน Modbus data sender กด save อีกครั้ง เป็นอันเสร็จสิ้น
ด้าน 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);
}
}
}