private void _mqtt_OnExcCommand(object sender, RpcRequest e) { if (e.Command == "WriteInt") { Task.Run(async() => { await _mqtt.ResponseExecommand(new RpcResponse() { Command = e.Command, Data = "OK", DeviceName = e.DeviceName, ResponseId = e.RequestId }); }); } }
private void _mqtt_OnExcCommand(object sender, RpcRequest e) { if (e.Method == "WriteInt") { Task.Run(async() => { var _modbus = new HslCommunication.ModBus.ModbusTcpNet(_modbusuri.Host, _modbusuri.Port, byte.Parse(_modbusuri.AbsolutePath.Trim('/', '\\'))); _modbus.UseSynchronousNet = true; var info = _modbus.ConnectServer(); var paramsx = Newtonsoft.Json.JsonConvert.DeserializeObject <RpcParam <int> >(e.Params); var result = await _modbus.WriteAsync(paramsx.Address, paramsx.Value); await _mqtt.ResponseExecommand(new RpcResponse() { Method = e.Method, Data = JsonConvert.SerializeObject(result), DeviceId = e.DeviceId, ResponseId = e.RequestId }); }); } }