From 824f2bad58c1f0db821f1b4db76e870dac221dd6 Mon Sep 17 00:00:00 2001 From: Diego Freitas Date: Mon, 22 Jun 2026 13:46:34 -0300 Subject: [PATCH] ajuste no gerenciamento de cameras no lado do c#, versionamento de arquivos e atualizacao das metricas do atuador --- .../AgroBase/Forms/Atuador/frmAtuCamera.cs | 3 +- AgroBase/AgroBase/Forms/IHM/frmAjustes.cs | 13 +- .../AgroBase/Forms/IHM/frmDiagnosticos.cs | 8 +- AgroBase/AgroBase/Forms/IHM/frmIHM.cs | 8 +- .../Forms/Operacoes/frmOperacaoManual.cs | 6 +- .../Forms/Sensoriamento/frmSenConfig.cs | 7 +- AgroBase/AgroBase/Forms/frmInstancial.cs | 5 +- AgroBase/AgroBase/Forms/frmOperarioSonar.cs | 2 +- AgroBase/AgroBase/Forms/frmWT901C.cs | 10 +- .../AgroBase/Models/Modules/AtuadorModel.cs | 168 +- .../Models/Modules/SensoriamentoModel.cs | 52 +- .../Models/Operacoes/OperacaoModel.cs | 100 +- .../Operacoes/OperacaoParametrosModel.cs | 6 +- .../Models/Operadores/CameraWorkerModel.cs | 22 +- .../Services/HerbicideCounterService.cs | 79 +- .../Operadores/CameraWorkerService.cs | 421 ++++- .../Operadores/HealthWorkerService.cs | 10 +- .../AgroBase/Services/VersionamentoService.cs | 1397 ++++++++++++----- .../Scripts/workers/camera_worker/manager.py | 14 +- 19 files changed, 1786 insertions(+), 545 deletions(-) diff --git a/AgroBase/AgroBase/Forms/Atuador/frmAtuCamera.cs b/AgroBase/AgroBase/Forms/Atuador/frmAtuCamera.cs index 391c354eb..2dde03e43 100644 --- a/AgroBase/AgroBase/Forms/Atuador/frmAtuCamera.cs +++ b/AgroBase/AgroBase/Forms/Atuador/frmAtuCamera.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using AgroBase.Models; using AgroBase.Services; +using AgroBase.Services.Operadores; using Microsoft.Web.WebView2.WinForms; using Newtonsoft.Json; using static MqttService; @@ -27,7 +28,7 @@ namespace AgroBase.Forms cameraSolo = new CameraSoloModel() { Nome = "T", - Posicao = Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo.Count(), + Posicao = CameraWorkerService.CamerasSolo.Count(), ArquivoLeitura = "ervas_T.json", browser = null, camera = new CameraService(), diff --git a/AgroBase/AgroBase/Forms/IHM/frmAjustes.cs b/AgroBase/AgroBase/Forms/IHM/frmAjustes.cs index 4756f4c2a..efa95e96d 100644 --- a/AgroBase/AgroBase/Forms/IHM/frmAjustes.cs +++ b/AgroBase/AgroBase/Forms/IHM/frmAjustes.cs @@ -36,9 +36,10 @@ namespace AgroBase.Forms.IHM }); FuncoesGlobais.DefinirEventosPicBtn(picSalvar, "Erro ao salvar parâmetros!", async () => { - Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraCaminho = CameraCaminho.Clone(); - Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo = new List(CamerasSolo); - + VariaveisEquipamento.Parametros.camera_caminhho_id = CameraCaminho.Id; + VariaveisEquipamento.Parametros.camera_ervas_id = CamerasSolo?.Select(x => x.Id)?.ToList(); + VariaveisEquipamento.Parametros.SalvarParametros(); + CustomDialog.ShowDialog( "Sucesso", "Configuração de câmeras salva com sucesso!", @@ -258,7 +259,7 @@ namespace AgroBase.Forms.IHM private async Task AtualizarCameras() { flwCamerasSolo.Controls.Clear(); - var cameras = CameraWorkerService.GetListaCameras(); + var cameras = CameraWorkerService.ListaCameras; ListaCameras = cameras.Select(x => new OAKCameraModel() { Index = cameras.IndexOf(x), @@ -268,8 +269,8 @@ namespace AgroBase.Forms.IHM Id = x.mx_id, }).ToList(); - CameraCaminho = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraCaminho?.Clone(); - CamerasSolo = new List(Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo); + CameraCaminho = CameraWorkerService.CameraCaminho?.Clone(); + CamerasSolo = new List(CameraWorkerService.CamerasSolo); for (int i = 0; i < Variaveis.OperacaoEmAndamento.Parametros.QtdCamerasSolo; i++) { diff --git a/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs b/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs index 846c937a5..e3cb9da06 100644 --- a/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs +++ b/AgroBase/AgroBase/Forms/IHM/frmDiagnosticos.cs @@ -1467,7 +1467,7 @@ namespace AgroBase.Forms.IHM } }); - foreach (var camera in Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo) + foreach (var camera in CameraWorkerService.CamerasSolo) { Testes.AddRange(new List() { @@ -1508,7 +1508,7 @@ namespace AgroBase.Forms.IHM List CamerasIDs = CameraService.ObterListaCameras().Values.ToList(); - string IDcamRua = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraCaminho.Id;//.Replace("\\", "#").ToLower(); + string IDcamRua = CameraWorkerService.CameraCaminho.Id;//.Replace("\\", "#").ToLower(); bool RuaConfigurado = !string.IsNullOrEmpty(IDcamRua) && IDcamRua != "Sem video"; idx = PreencheDadosLinha(grid, Testes, idx, RuaConfigurado ? 1 : 0); @@ -1519,9 +1519,9 @@ namespace AgroBase.Forms.IHM bool RuaVideo = await VerificaImagemCamera(CamerasIDs, IDcamRua, RuaConectado); idx = PreencheDadosLinha(grid, Testes, idx, RuaVideo ? 1 : 0); - foreach (var camera in Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo) + foreach (var camera in CameraWorkerService.CamerasSolo) { - string IDcamSolo = (Variaveis.OperacaoEmAndamento.DispSen.Dados.CamerasSolo[0].Id);//.Replace("\\", "#").ToLower(); + string IDcamSolo = (CameraWorkerService.CamerasSolo[0].Id);//.Replace("\\", "#").ToLower(); bool SoloConfigurado = !string.IsNullOrEmpty(IDcamSolo) && IDcamSolo != "Sem video"; idx = PreencheDadosLinha(grid, Testes, idx, SoloConfigurado ? 1 : 0); diff --git a/AgroBase/AgroBase/Forms/IHM/frmIHM.cs b/AgroBase/AgroBase/Forms/IHM/frmIHM.cs index 218738ce8..5aa33493a 100644 --- a/AgroBase/AgroBase/Forms/IHM/frmIHM.cs +++ b/AgroBase/AgroBase/Forms/IHM/frmIHM.cs @@ -160,7 +160,7 @@ namespace AgroBase.Forms.IHM private async Task AtualizarControlesUI() { var Labels = this.Controls.OfType