2024-11-08 14:53:36 +08:00
|
|
|
|
using JiShe.CollectBus.Common.Enums;
|
|
|
|
|
|
using JiShe.CollectBus.Common.Extensions;
|
|
|
|
|
|
using JiShe.CollectBus.Common.Models;
|
|
|
|
|
|
using JiShe.CollectBus.Protocol.Contracts.Models;
|
|
|
|
|
|
using JiShe.CollectBus.RabbitMQ.Senders;
|
2024-11-08 10:30:54 +08:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
2024-11-08 14:53:36 +08:00
|
|
|
|
using TouchSocket.Sockets;
|
2024-11-08 10:30:54 +08:00
|
|
|
|
|
|
|
|
|
|
namespace JiShe.CollectBus.Api.Controllers
|
|
|
|
|
|
{
|
|
|
|
|
|
[ApiController]
|
|
|
|
|
|
[Route("[controller]")]
|
|
|
|
|
|
public class WeatherForecastController : ControllerBase
|
|
|
|
|
|
{
|
|
|
|
|
|
private static readonly string[] Summaries = new[]
|
|
|
|
|
|
{
|
|
|
|
|
|
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
private readonly ILogger<WeatherForecastController> _logger;
|
2024-11-08 14:53:36 +08:00
|
|
|
|
private readonly INSender _nSender;
|
2024-11-08 10:30:54 +08:00
|
|
|
|
|
2024-11-08 14:53:36 +08:00
|
|
|
|
public WeatherForecastController(INSender nSender, ILogger<WeatherForecastController> logger)
|
2024-11-08 10:30:54 +08:00
|
|
|
|
{
|
2024-11-08 14:53:36 +08:00
|
|
|
|
_nSender = nSender;
|
2024-11-08 10:30:54 +08:00
|
|
|
|
_logger = logger;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet(Name = "GetWeatherForecast")]
|
|
|
|
|
|
public IEnumerable<WeatherForecast> Get()
|
|
|
|
|
|
{
|
|
|
|
|
|
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
|
|
|
|
|
|
{
|
|
|
|
|
|
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
|
|
|
|
|
TemperatureC = Random.Shared.Next(-20, 55),
|
|
|
|
|
|
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
|
|
|
|
|
|
})
|
|
|
|
|
|
.ToArray();
|
|
|
|
|
|
}
|
2024-11-08 14:53:36 +08:00
|
|
|
|
|
|
|
|
|
|
[HttpGet(Name = "AmmeterParameterSend")]
|
|
|
|
|
|
public async Task<bool> AmmeterParameterSendAsync() {
|
|
|
|
|
|
|
|
|
|
|
|
var listMeter = new List<AmmeterParameter>() { new AmmeterParameter(){
|
|
|
|
|
|
Pn = 1,
|
|
|
|
|
|
BaudRate = 3,
|
|
|
|
|
|
Port = 2,
|
|
|
|
|
|
ProtocolType = CommunicationProtocolType.DLT6452007,
|
|
|
|
|
|
Address = "312408006642",
|
|
|
|
|
|
Password = "000000",
|
|
|
|
|
|
RateNumber = 4,
|
|
|
|
|
|
IntegerBitNumber = 4,
|
|
|
|
|
|
DecimalBitNumber = 4,
|
|
|
|
|
|
CollectorAddress = "000000000000",
|
|
|
|
|
|
UserCategoryNumber = 0,
|
|
|
|
|
|
UserSubclassNumber = 0
|
|
|
|
|
|
}};
|
|
|
|
|
|
var bytes = HexStringExtensions.BuildAmmeterParameterSetSendCmd(new ReqParameter2()
|
|
|
|
|
|
{
|
|
|
|
|
|
AFN = AFN.<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
A = "322009872",
|
|
|
|
|
|
Seq = new Seq()
|
|
|
|
|
|
{
|
|
|
|
|
|
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
|
|
|
|
|
|
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
|
|
|
|
|
|
CON = CON.<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
|
|
|
|
|
|
PRSEQ = 10,
|
|
|
|
|
|
},
|
|
|
|
|
|
MSA = 13,
|
|
|
|
|
|
Pn = 0,
|
|
|
|
|
|
Fn = 10
|
|
|
|
|
|
}, listMeter);
|
|
|
|
|
|
|
|
|
|
|
|
// await _nSender.SendToIssuedAsync(new MessageIssuedEvent { DeviceNo = "322009872", Message = bytes, Type = IssuedEventType.Data,MessageId = Guid.NewGuid().ToString() });
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet(Name = "AmmeterParameterReading")]
|
|
|
|
|
|
public bool AmmeterParameterReading()
|
|
|
|
|
|
{
|
|
|
|
|
|
HexStringExtensions.BuildAmmeterParameterReadingSendCmd(new ReqParameter2()
|
|
|
|
|
|
{
|
|
|
|
|
|
AFN = AFN.<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
A = "322009872",
|
|
|
|
|
|
Seq = new Seq()
|
|
|
|
|
|
{
|
|
|
|
|
|
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
|
|
|
|
|
|
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
|
|
|
|
|
|
CON = CON.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
|
|
|
|
|
|
PRSEQ = 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
MSA = 13,
|
|
|
|
|
|
Pn = 0,
|
|
|
|
|
|
Fn = 10
|
|
|
|
|
|
}, new List<int>() { 1, 2 });
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet(Name = "ActivePowerIndicationReading")]
|
|
|
|
|
|
public bool ActivePowerIndicationReading()
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
//var str = "68A600A6006888203290261A0A6200000201010001000100621E426622082431000000000000040300000000000000CA16";
|
|
|
|
|
|
//var cmdResult = new BuildCommand().AnalysisCmd(str);
|
|
|
|
|
|
//if(cmdResult != null)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// var list = new BuildCommand().AnalysisAFN04F10DataUnit(cmdResult.HexDatas);
|
|
|
|
|
|
//}
|
|
|
|
|
|
HexStringExtensions.BuildSendCommandBytes(new ReqParameter2()
|
|
|
|
|
|
{
|
|
|
|
|
|
AFN = AFN.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
FunCode = (int)CMasterStationFunCode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
A = "322009872",
|
|
|
|
|
|
Seq = new Seq()
|
|
|
|
|
|
{
|
|
|
|
|
|
TpV = TpV.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ,
|
|
|
|
|
|
FIRFIN = FIRFIN.<EFBFBD><EFBFBD>֡,
|
|
|
|
|
|
CON = CON.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ը<EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>,
|
|
|
|
|
|
PRSEQ = 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
MSA = 13,
|
|
|
|
|
|
Pn = 1,
|
|
|
|
|
|
Fn = 129
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//HexStringExtensions.AmmeterValveControl("312408006642", "", "000000", true);
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-08 10:30:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|