在数据采集系统中,通过ModbusTcp采集到数据之后,再通过MQTT转发到其他应用
MQTT操作
安装MQTT
mqtt介绍和环境安装
使用MQTT
在C#/Net中使用Mqtt
MQTT类封装
MQTT配置类
public class MqttConfig
{
public string Ip {
get; set; }
public int Port {
get; set; } = 1883;
public string Username {
get; set; } = "admin";
public string Password {
get; set; } = "12345";
public string ClientId {
get; set; }
}
MQTT控制类
public class MqttControllor
{
private MqttConfig _config;
private string _clientId;
MqttClientOptions _clientOptions;
private IMqttClient _mqttClient;
private readonly object _topicActionsLock = new object();
private Dictionary<string, Action<string, string>> _topicActions;
public MqttControllor(MqttConfig config, bool isAutoConnect = true)
{
_topicActions = new Dictionary<string, Action<string, string>>();
_config = config;
_clientId = config.ClientId == "" ? Guid.NewGuid().ToString() : config.ClientId;
MqttClientOptionsBuilder optionsBuilder = new MqttClientOptionsBuilder()
.WithTcpServer(_config.Ip, _config.Port)
.WithCredentials(_config.Username, _config