Compare commits
2 Commits
80808cd3dd
...
8bfc711f02
| Author | SHA1 | Date |
|---|---|---|
|
|
8bfc711f02 | |
|
|
db03004713 |
|
|
@ -48,34 +48,42 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
username: username,
|
username: username,
|
||||||
password: password
|
password: password
|
||||||
);
|
);
|
||||||
//查询网关,订阅主题
|
////查询网关,订阅主题
|
||||||
var topics = new List<string>();
|
//var topics = new List<string>();
|
||||||
var gatewayList = await _app.GetGatewaysnList();
|
//var gatewayList = await _app.GetGatewaysnList();
|
||||||
|
|
||||||
foreach (var gateway in gatewayList)
|
//foreach (var gateway in gatewayList)
|
||||||
{
|
//{
|
||||||
topics.AddRange(new[]
|
// topics.AddRange(new[]
|
||||||
{
|
// {
|
||||||
$"thing/product/{gateway}/osd",
|
// $"thing/product/{gateway}/osd",
|
||||||
$"thing/product/{gateway}/events",
|
// $"thing/product/{gateway}/events",
|
||||||
$"thing/product/{gateway}/requests",
|
// $"thing/product/{gateway}/requests",
|
||||||
$"thing/product/{gateway}/services_reply",
|
// $"thing/product/{gateway}/services_reply",
|
||||||
//$"thing/product/{gateway}/drc/up",
|
// //$"thing/product/{gateway}/drc/up",
|
||||||
//$"thing/product/{gateway}/drc/down",
|
// //$"thing/product/{gateway}/drc/down",
|
||||||
$"sys/product/{gateway}/status"
|
// $"sys/product/{gateway}/status"
|
||||||
});
|
// });
|
||||||
}
|
//}
|
||||||
var snList = await _app.GetUavSn();
|
//var snList = await _app.GetUavSn();
|
||||||
|
|
||||||
foreach (var sn in snList)
|
//foreach (var sn in snList)
|
||||||
|
//{
|
||||||
|
// topics.AddRange(new[]
|
||||||
|
// {
|
||||||
|
// // $"thing/product/1581F8HGX254V00A0BUY/osd",
|
||||||
|
// $"thing/product/{sn}/osd"
|
||||||
|
// });
|
||||||
|
//}
|
||||||
|
string[] topicList =
|
||||||
{
|
{
|
||||||
topics.AddRange(new[]
|
"thing/product/+/services_reply",
|
||||||
{
|
"thing/product/+/events",
|
||||||
// $"thing/product/1581F8HGX254V00A0BUY/osd",
|
"thing/product/+/requests",
|
||||||
$"thing/product/{sn}/osd"
|
"thing/product/+/osd",
|
||||||
});
|
"sys/product/+/status"
|
||||||
}
|
};
|
||||||
await _mqttCenter.ConnectAndSubscribeAsync(topics.ToArray());
|
await _mqttCenter.SubscribeAsync(topicList);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
|
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
public async Task HandleAsync(string topic, string payload)
|
public async Task HandleAsync(string topic, string payload)
|
||||||
{
|
{
|
||||||
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
||||||
|
Console.WriteLine($"接收数据:{payload}");
|
||||||
if (payload.Contains("config"))
|
if (payload.Contains("config"))
|
||||||
{
|
{
|
||||||
var root = JsonNode.Parse(payload)?.AsObject();
|
var root = JsonNode.Parse(payload)?.AsObject();
|
||||||
|
|
@ -152,13 +153,20 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
foreach (var device in bindDevices)
|
foreach (var device in bindDevices)
|
||||||
{
|
{
|
||||||
var obj = device?.AsObject();
|
var obj = device?.AsObject();
|
||||||
|
var modelKey = obj["device_model_key"]?.ToString()?.Trim();
|
||||||
|
var parts = modelKey.Split('-', StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
string typeId = "Unknown";
|
||||||
|
if (parts.Length >= 3 && parts[0] == "3")
|
||||||
|
{
|
||||||
|
typeId = $"Dock {parts[1]}";
|
||||||
|
}
|
||||||
if (obj["device_model_key"].ToString().Contains("3-"))
|
if (obj["device_model_key"].ToString().Contains("3-"))
|
||||||
{
|
{
|
||||||
lasaDronePort.Id = Guid.NewGuid().ToString();
|
lasaDronePort.Id = Guid.NewGuid().ToString();
|
||||||
lasaDronePort.OrgId = obj["organization_id"]?.ToString();
|
lasaDronePort.OrgId = obj["organization_id"]?.ToString();
|
||||||
lasaDronePort.CreateTime = DateTime.Now;
|
lasaDronePort.CreateTime = DateTime.Now;
|
||||||
lasaDronePort.IsDelete = false;
|
lasaDronePort.IsDelete = false;
|
||||||
lasaDronePort.TypeId = "Dock 3";
|
lasaDronePort.TypeId = typeId;
|
||||||
lasaDronePort.Sn = obj["sn"].ToString();
|
lasaDronePort.Sn = obj["sn"].ToString();
|
||||||
lasaDronePort.BindStatus = 1;
|
lasaDronePort.BindStatus = 1;
|
||||||
lasaDronePort.Name = obj["device_callsign"]?.ToString();
|
lasaDronePort.Name = obj["device_callsign"]?.ToString();
|
||||||
|
|
@ -182,13 +190,13 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
uavsn = uavsn == "" ? "01" : uavsn;
|
uavsn = uavsn == "" ? "01" : uavsn;
|
||||||
_manageApp.AddDronePort(lasaDronePort);
|
_manageApp.AddDronePort(lasaDronePort);
|
||||||
_manageApp.AddLasaUav(lasaUav);
|
_manageApp.AddLasaUav(lasaUav);
|
||||||
var topics = new List<string>();
|
//var topics = new List<string>();
|
||||||
topics.AddRange(new[]
|
//topics.AddRange(new[]
|
||||||
{
|
//{
|
||||||
$"sys/product/{dronesn}/osd",
|
// $"sys/product/{dronesn}/osd",
|
||||||
$"sys/product/{uavsn}/osd",
|
// $"sys/product/{uavsn}/osd",
|
||||||
});
|
//});
|
||||||
await _mqttCenter.SubscribeAsync(topics.ToArray());
|
//await _mqttCenter.SubscribeAsync(topics.ToArray());
|
||||||
var requestData = new
|
var requestData = new
|
||||||
{
|
{
|
||||||
bid = Guid.NewGuid().ToString(),
|
bid = Guid.NewGuid().ToString(),
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,8 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
|
|
||||||
public async Task HandleAsync(string topic, string payload)
|
public async Task HandleAsync(string topic, string payload)
|
||||||
{
|
{
|
||||||
//_logger.LogError($"[Service] Topic={topic}, Payload={payload}");
|
_logger.LogError($"[Service] Topic={topic}, Payload={payload}");
|
||||||
Console.WriteLine($"[Service] Topic={topic}, Payload={payload}");
|
//Console.WriteLine($"[Service] Topic={topic}, Payload={payload}");
|
||||||
|
|
||||||
if (payload.Contains("update_topo"))
|
if (payload.Contains("update_topo"))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue