ajustes nos scripts para treinamento dos modelos de IA

This commit is contained in:
Diego Freitas 2025-07-24 13:15:42 -03:00
parent 88f9663746
commit a428d5b1df
182 changed files with 634 additions and 635 deletions

2
.gitignore vendored
View File

@ -53,7 +53,9 @@ AgroBase/AgroBase/bin/
Python/OAK/datasets/venv/ Python/OAK/datasets/venv/
Python/OAK/datasets/oak-1/dataset/ Python/OAK/datasets/oak-1/dataset/
Python/OAK/datasets/oak-1/backup/
Python/OAK/datasets/oak-d/dataset/ Python/OAK/datasets/oak-d/dataset/
Python/OAK/datasets/oak-d/backup/
!AgroBase/AgroBase/bin/x64/Debug/Python/ !AgroBase/AgroBase/bin/x64/Debug/Python/
AgroBase/AgroBase/bin/x64/Debug/Python/venv/ AgroBase/AgroBase/bin/x64/Debug/Python/venv/

Binary file not shown.

View File

@ -603,7 +603,7 @@ namespace AgroBase.Forms.Operacoes
{ {
var Atuador = Variaveis.OperacaoEmAndamento.DispAtu.Dados; var Atuador = Variaveis.OperacaoEmAndamento.DispAtu.Dados;
bool ligado = Atuador.BombasPressurizadoras.FirstOrDefault().ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false; bool ligado = Atuador.BombasPressurizadoras.FirstOrDefault()?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia)?.atual?.valor > 0;
AtuadorFuncoesGerais.DesenharAtuadores( AtuadorFuncoesGerais.DesenharAtuadores(
pnlAtuadores, pnlAtuadores,
e, e,
@ -616,7 +616,7 @@ namespace AgroBase.Forms.Operacoes
Inicializado = x.Inicializado, Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo, MediaNivelFluxo = x.MediaNivelFluxo,
Posicao = x.Posicao, Posicao = x.Posicao,
StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false, StatusBico = x.ValoresLeituras?.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura)?.atual?.valor == Estado.Ligado,
TempoAtuado = x.TempoAtuado, TempoAtuado = x.TempoAtuado,
}).ToList(), }).ToList(),
ligado, ligado,

View File

@ -2,7 +2,6 @@
using AgroBase.Models.Modules; using AgroBase.Models.Modules;
using AgroBase.Services; using AgroBase.Services;
using System; using System;
using System.Collections.Generic;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
@ -181,7 +180,7 @@ namespace AgroBase.Forms.Operacoes
Posicao = x.Posicao, Posicao = x.Posicao,
StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false, StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false,
TempoAtuado = x.TempoAtuado, TempoAtuado = x.TempoAtuado,
}).ToList(), Atuador.BombasPressurizadoras.FirstOrDefault().ComandoAtuar, Atuador.PressaoLinha, Atuador.TempoAtuado); }).ToList(), Atuador.BombasPressurizadoras.FirstOrDefault().ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia)?.atual?.valor ?? 0 > 0, Atuador.PressaoLinha, Atuador.TempoAtuado);
} }
private void pnlCaminho_Paint(object sender, PaintEventArgs e) private void pnlCaminho_Paint(object sender, PaintEventArgs e)

View File

@ -3,7 +3,6 @@ using AgroBase.Models.Modules;
using AgroBase.Models.Operadores; using AgroBase.Models.Operadores;
using AgroBase.Properties; using AgroBase.Properties;
using AgroBase.Services; using AgroBase.Services;
using AgroBase.Services.Operadores;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -1355,7 +1354,7 @@ namespace AgroBase.Forms.Operacoes
lblMagnetometro.ForeColor = !LogImu.Iniciado ? Color.Red : Color.Black; lblMagnetometro.ForeColor = !LogImu.Iniciado ? Color.Red : Color.Black;
pnlOrientacaoMagnetometro.Invalidate(); pnlOrientacaoMagnetometro.Invalidate();
pnlInclinacao.Invalidate(); pnlInclinacao.Invalidate();
visualizador3D.AtualizarAngulos(-LogImu.InclinacaoLateral, -LogImu.InclinacaoFrontal, LogImu.Rotacao); visualizador3D.AtualizarAngulos(-LogImu.InclinacaoLateral, -LogImu.InclinacaoFrontal, -LogsOperacao[idxMomentoAtual].Gps.OrientacaoReal);
txtTemperatura.Text = LogImu.Temperatura.ToString("0.00"); txtTemperatura.Text = LogImu.Temperatura.ToString("0.00");
txtAltitude.Text = LogImu.Altitude.ToString("0.00"); txtAltitude.Text = LogImu.Altitude.ToString("0.00");
txtPressao.Text = LogImu.Pressao + " Pa (" + (LogImu.Pressao / 101300.0).ToString("0.00") + " atm)"; txtPressao.Text = LogImu.Pressao + " Pa (" + (LogImu.Pressao / 101300.0).ToString("0.00") + " atm)";
@ -1552,7 +1551,7 @@ namespace AgroBase.Forms.Operacoes
return; return;
} }
AtuadorFuncoesGerais.DesenharAtuadores(pnlAtuadores, e, Log.Bicos, Log.BombaLigada, Log.PressaoLinha, Log.TempoPulverizadorAtuado); AtuadorFuncoesGerais.DesenharAtuadores(pnlAtuadores, e, Log.Bicos, Log.PotenciaBomba > 0, Log.PressaoLinha, Log.TempoPulverizadorAtuado);
} }
private void pnlInclinacao_Paint(object sender, PaintEventArgs e) private void pnlInclinacao_Paint(object sender, PaintEventArgs e)
@ -1695,10 +1694,6 @@ namespace AgroBase.Forms.Operacoes
}*/ }*/
} }
private string AtualizarTextoStatusModulo(Enums.T_Code Disp, bool conectado, DateTime ultimoComando)
{
// Formata o texto com tabulação
return $"{Disp.ToString(), -5}\tConectado: {(conectado ? "Sim" : "Não"),-5}\tÚltimo comando: {ultimoComando:dd/MM/yyyy HH:mm:ss.fff}";
}
} }
} }

View File

@ -1246,6 +1246,7 @@ namespace AgroBase.Models.Modules
private S_Code DetectarComponenteDoID_Num(int ID_Num) private S_Code DetectarComponenteDoID_Num(int ID_Num)
{ {
if (ID_Num == Variaveis.ID_Num_sMOD) return S_Code.sMOD; if (ID_Num == Variaveis.ID_Num_sMOD) return S_Code.sMOD;
if (ID_Num == Variaveis.ID_Num_sTOD) return S_Code.sTOD;
var Disp = Variaveis.OperacaoEmAndamento.DispAtu.Dados; var Disp = Variaveis.OperacaoEmAndamento.DispAtu.Dados;
var sensor = Disp.Sensores.FirstOrDefault(x => x.ID_Num == ID_Num); var sensor = Disp.Sensores.FirstOrDefault(x => x.ID_Num == ID_Num);
@ -1315,7 +1316,7 @@ namespace AgroBase.Models.Modules
var Dados = Variaveis.OperacaoEmAndamento.DispAtu.Dados; var Dados = Variaveis.OperacaoEmAndamento.DispAtu.Dados;
Console.WriteLine($"[ATU] Componente={componente.ToString()}, ID_Num={ID_Num}, Data={FuncoesGlobais.ConverterComandoBytesParaTexto(data)}"); //Console.WriteLine($"[ATU] Componente={componente.ToString()}, ID_Num={ID_Num}, Data={FuncoesGlobais.ConverterComandoBytesParaTexto(data)}");
switch (componente) switch (componente)
{ {

View File

@ -1117,7 +1117,7 @@ namespace AgroBase.Models
VolumeReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VolumeReservatorio, VolumeReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VolumeReservatorio,
PressaoLinha_SP = Variaveis.OperacaoEmAndamento.Controle.PressaoLinha, PressaoLinha_SP = Variaveis.OperacaoEmAndamento.Controle.PressaoLinha,
PressaoLinha = Variaveis.OperacaoEmAndamento.DispAtu.Dados.PressaoLinha, PressaoLinha = Variaveis.OperacaoEmAndamento.DispAtu.Dados.PressaoLinha,
PotenciaBomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombasPressurizadoras.FirstOrDefault().ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia).atual.valor ?? 0, PotenciaBomba = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombasPressurizadoras.FirstOrDefault()?.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.Potencia)?.atual?.valor ?? 0,
BombaLigada = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombasPressurizadoras.FirstOrDefault().ComandoAtuar, BombaLigada = Variaveis.OperacaoEmAndamento.DispAtu.Dados.BombasPressurizadoras.FirstOrDefault().ComandoAtuar,
VazaoFluxoMLpSInstantanea = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSInstantanea, VazaoFluxoMLpSInstantanea = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSInstantanea,
VazaoFluxoMLpSMedia = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSMedia, VazaoFluxoMLpSMedia = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSMedia,
@ -1132,7 +1132,7 @@ namespace AgroBase.Models
Atuado = Bico.ComandoAtuar, Atuado = Bico.ComandoAtuar,
MediaNivelFluxo = Bico.MediaNivelFluxo, MediaNivelFluxo = Bico.MediaNivelFluxo,
Posicao = Bico.Posicao, Posicao = Bico.Posicao,
StatusBico = Bico.ValoresLeituras.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false, StatusBico = Bico.ValoresLeituras?.FirstOrDefault(x => x.funcao == FuncoesPinout.EstadoLeitura)?.atual?.valor == Estado.Ligado,
Atuacoes = Bico.Atuacoes, Atuacoes = Bico.Atuacoes,
TempoAtuado = Bico.TempoAtuado, TempoAtuado = Bico.TempoAtuado,
}).ToList(), }).ToList(),
@ -1319,32 +1319,43 @@ namespace AgroBase.Models
string nomeModulo = $"{modulo.modulo} {modulo.status} (Saúde: {modulo.saude:0}%)"; string nomeModulo = $"{modulo.modulo} {modulo.status} (Saúde: {modulo.saude:0}%)";
TreeNode nodoModulo = new TreeNode(nomeModulo); TreeNode nodoModulo = new TreeNode(nomeModulo);
foreach (var item in modulo.saude_individual.Where(x => x.em_uso)) if (modulo.saude_individual.Any())
{ {
string nomeItem = $"{item.label} ({item.id}) {item.status} (Saúde: {item.saude:0}%)"; foreach (var item in modulo.saude_individual.Where(x => x.em_uso))
TreeNode nodoItem = new TreeNode(nomeItem);
// Adiciona os motivos normais (de saúde)
foreach (var motivo in item.motivos)
{ {
nodoItem.Nodes.Add(new TreeNode(motivo)); string nomeItem = $"{item.label} ({item.id}) {item.status} (Saúde: {item.saude:0}%)";
} TreeNode nodoItem = new TreeNode(nomeItem);
// Agrupamento das condições operacionais (se houver) // Adiciona os motivos normais (de saúde)
if (item.condicoes_operacionais != null && item.condicoes_operacionais.Count > 0) foreach (var motivo in item.motivos)
{
TreeNode nodoCondicoes = new TreeNode("Condições Operacionais");
foreach (var cond in item.condicoes_operacionais)
{ {
string textoCond = $"{cond.descricao} (Valor: {cond.valor}, Severidade: {cond.severidade:0}%)"; nodoItem.Nodes.Add(new TreeNode(motivo));
nodoCondicoes.Nodes.Add(new TreeNode(textoCond));
} }
nodoItem.Nodes.Add(nodoCondicoes); // Agrupamento das condições operacionais (se houver)
} if (item.condicoes_operacionais != null && item.condicoes_operacionais.Count > 0)
{
TreeNode nodoCondicoes = new TreeNode("Condições Operacionais");
nodoModulo.Nodes.Add(nodoItem); foreach (var cond in item.condicoes_operacionais)
{
string textoCond = $"{cond.descricao} (Valor: {cond.valor}, Severidade: {cond.severidade:0}%)";
nodoCondicoes.Nodes.Add(new TreeNode(textoCond));
}
nodoItem.Nodes.Add(nodoCondicoes);
}
nodoModulo.Nodes.Add(nodoItem);
}
}
else
{
// Adiciona os motivos normais (de saúde)
foreach (var motivo in modulo.motivos)
{
nodoModulo.Nodes.Add(new TreeNode(motivo));
}
} }
treeView.Nodes.Add(nodoModulo); treeView.Nodes.Add(nodoModulo);

View File

@ -54,7 +54,9 @@ namespace AgroBase.Models.Operadores
timestamp = timestamp, timestamp = timestamp,
deteccoes = new List<WeedWorkerAnaliseDeteccaoModel>(deteccoes), deteccoes = new List<WeedWorkerAnaliseDeteccaoModel>(deteccoes),
controle = new Dictionary<int, bool>(controle), controle = new Dictionary<int, bool>(controle),
ervas_identificadas = ervas_identificadas?.Select(dict => new Dictionary<string, int>(dict)).ToList() ervas_identificadas = ervas_identificadas?.Select(dict => new Dictionary<string, int>(dict)).ToList(),
frame_height = frame_height,
frame_width = frame_width,
}; };
} }
} }

View File

@ -155,7 +155,9 @@ namespace AgroBase.Services.Operadores
("percentual_reservatorio_min", VariaveisEquipamento.PercentualReservatorioMin), ("percentual_reservatorio_min", VariaveisEquipamento.PercentualReservatorioMin),
("percentual_tensao_bateria_min", VariaveisEquipamento.PercentualTensaoBateriaMin), ("percentual_tensao_bateria_min", VariaveisEquipamento.PercentualTensaoBateriaMin),
("camera_caminho_id", Variaveis.OperacaoEmAndamento.DispSen?.Dados?.CameraCaminho?.Id ?? ""), ("camera_caminho_id", Variaveis.OperacaoEmAndamento.DispSen?.Dados?.CameraCaminho?.Id ?? ""),
("camera_solo_id", Variaveis.OperacaoEmAndamento.DispSen?.Dados?.CamerasSolo?.FirstOrDefault()?.Id ?? "") ("camera_solo_id", Variaveis.OperacaoEmAndamento.DispSen?.Dados?.CamerasSolo?.FirstOrDefault()?.Id ?? ""),
("path_ia_model_ruas", VersionamentoService.ArquivoModeloStreetDetector),
("path_ia_model_ervas", VersionamentoService.ArquivoModeloWeedDetector)
); );
} }

View File

@ -51,8 +51,11 @@ namespace AgroBase.Services.Operadores
private async Task tmrPooling_Tick() private async Task tmrPooling_Tick()
{ {
var dictParams = JsonConvert.DeserializeObject<Dictionary<string, object>>(RedisService.Get(CtxKey.DadosControle)); if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS)
AtualizarControle(dictParams); {
var dictParams = JsonConvert.DeserializeObject<Dictionary<string, object>>(RedisService.Get(CtxKey.DadosControle));
AtualizarControle(dictParams);
}
} }
private void AtualizarControle(Dictionary<string, object> dictParams) private void AtualizarControle(Dictionary<string, object> dictParams)
@ -103,9 +106,6 @@ namespace AgroBase.Services.Operadores
case ManagerWorkerCommandType.EnviarDadosControle: case ManagerWorkerCommandType.EnviarDadosControle:
if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS) if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS)
{ {
if (comando.@params == null)
break;
AtualizarControle(comando.@params); AtualizarControle(comando.@params);
} }
break; break;

View File

@ -51,8 +51,11 @@ namespace AgroBase.Services.Operadores
private async Task tmrPooling_Tick() private async Task tmrPooling_Tick()
{ {
var dictParams = RedisService.GetField<Dictionary<string, object>>(CtxKey.DadosControle, "controle_bicos"); if (Variaveis.OperacaoEmAndamento.Controle.PulverizadorAutomatico)
AtualizarControle(dictParams); {
var dictParams = RedisService.GetField<Dictionary<string, object>>(CtxKey.DadosControle, "controle_bicos");
AtualizarControle(dictParams);
}
} }
private void AtualizarControle(Dictionary<string, object> dictParams) private void AtualizarControle(Dictionary<string, object> dictParams)
@ -108,13 +111,7 @@ namespace AgroBase.Services.Operadores
case WeedWorkerCommandType.EnviarDadosControle: case WeedWorkerCommandType.EnviarDadosControle:
if (Variaveis.OperacaoEmAndamento.Controle.PulverizadorAutomatico) if (Variaveis.OperacaoEmAndamento.Controle.PulverizadorAutomatico)
{ {
if (comando.@params == null) AtualizarControle(comando.@params);
break;
if (comando.@params is Dictionary<string, object> dictParams)
{
AtualizarControle(dictParams);
}
} }
break; break;

View File

@ -22,5 +22,5 @@
"top_topics_and_observing_domains": [ ] "top_topics_and_observing_domains": [ ]
} ], } ],
"hex_encoded_hmac_key": "40F346D3248C3AFDF2BEE1FE496DBD32F7CED6E5AE98B881ABC421AA7E7B5642", "hex_encoded_hmac_key": "40F346D3248C3AFDF2BEE1FE496DBD32F7CED6E5AE98B881ABC421AA7E7B5642",
"next_scheduled_calculation_time": "13397830127958004" "next_scheduled_calculation_time": "13397830127958150"
} }

View File

@ -1,3 +1,3 @@
2025/07/22-16:49:20.933 1058 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 2025/07/23-16:19:21.420 63a0 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
2025/07/22-16:49:20.940 1058 Recovering log #3 2025/07/23-16:19:21.426 63a0 Recovering log #3
2025/07/22-16:49:20.943 1058 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log 2025/07/23-16:19:21.430 63a0 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log

View File

@ -1,3 +1,3 @@
2025/07/22-16:29:12.424 2bec Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 2025/07/23-15:20:21.774 65d4 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
2025/07/22-16:29:12.430 2bec Recovering log #3 2025/07/23-15:20:21.779 65d4 Recovering log #3
2025/07/22-16:29:12.434 2bec Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log 2025/07/23-15:20:21.782 65d4 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log

View File

@ -1 +1 @@
{"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13397773761325995","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":6761},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:69b:cf00:7cbf:e352:1909:3adf","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}} {"net":{"http_server_properties":{"servers":[{"alternative_service":[{"advertised_alpns":["h3"],"expiration":"13397858361948646","port":443,"protocol_str":"quic"}],"anonymization":["DAAAAAcAAABmaWxlOi8vAA==",false,0],"network_stats":{"srtt":63514},"server":"https://tile.openstreetmap.org","supports_spdy":true}],"supports_quic":{"address":"2804:d78:69b:cf00:29fa:804d:a396:9df2","used_quic":true},"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G","CAISABiAgICA+P////8B":"4G","CAYSABiAgICA+P////8B":"Offline"}}}

View File

@ -1 +1 @@
{"sts":[{"expiry":1784719491.173963,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1753183491.173973}],"version":2} {"sts":[{"expiry":1784831644.778334,"host":"bWGAftl61rqoc0YzqPncsLvQQh/iC2Bdp3ejUeGC83w=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1753295644.778338}],"version":2}

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
2025/07/22-16:54:21.213 1058 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 2025/07/23-16:24:00.426 63a0 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
2025/07/22-16:54:21.215 1058 Recovering log #3 2025/07/23-16:24:00.427 63a0 Recovering log #3
2025/07/22-16:54:21.219 1058 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log 2025/07/23-16:24:00.430 63a0 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log

View File

@ -1,3 +1,3 @@
2025/07/22-16:36:35.720 2bec Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001 2025/07/23-16:05:03.023 65d4 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
2025/07/22-16:36:35.722 2bec Recovering log #3 2025/07/23-16:05:03.024 65d4 Recovering log #3
2025/07/22-16:36:35.724 2bec Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log 2025/07/23-16:05:03.027 65d4 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Session Storage/000003.log

View File

@ -1,3 +1,3 @@
2025/07/22-16:49:20.855 17f8 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 2025/07/23-16:19:21.344 66f4 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
2025/07/22-16:49:20.856 17f8 Recovering log #7 2025/07/23-16:19:21.346 66f4 Recovering log #7
2025/07/22-16:49:20.856 17f8 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000007.log 2025/07/23-16:19:21.346 66f4 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000007.log

View File

@ -1,3 +1,3 @@
2025/07/22-16:29:12.355 21c8 Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001 2025/07/23-15:20:21.702 5b6c Reusing MANIFEST C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
2025/07/22-16:29:12.356 21c8 Recovering log #7 2025/07/23-15:20:21.704 5b6c Recovering log #7
2025/07/22-16:29:12.357 21c8 Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000007.log 2025/07/23-15:20:21.704 5b6c Reusing old log C:\ZendionInc\agrobot_base\AgroBase\AgroBase\bin\x64\Debug\AgroBase.exe.WebView2\EBWebView\Default\Site Characteristics Database/000007.log

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3,58 +3,46 @@
"id": 1, "id": 1,
"Arquivo": "model", "Arquivo": "model",
"Diretorio": "C:\\AgroBaseModels\\Ervas\\", "Diretorio": "C:\\AgroBaseModels\\Ervas\\",
"Extensao": ".blob", "Extensao": ".pt",
"Versao": "1_1", "Versao": "2_1",
"TipoArquivo": 1, "TipoArquivo": 1,
"ArquivoDownload": "weed_detector_model-1_1.blob" "ArquivoDownload": "weed_detector_model-2_1.pt"
}, },
{ {
"id": 2, "id": 2,
"Arquivo": "model", "Arquivo": "model",
"Diretorio": "C:\\AgroBaseModels\\Ervas\\", "Diretorio": "C:\\AgroBaseModels\\Ervas\\",
"Extensao": ".json", "Extensao": ".json",
"Versao": "1_1", "Versao": "2_1",
"TipoArquivo": 1, "TipoArquivo": 1,
"ArquivoDownload": "weed_detector_model-1_1.json" "ArquivoDownload": "weed_detector_model-2_1.json"
}, },
{ {
"id": 3, "id": 3,
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Arquivo": "model", "Arquivo": "model",
"Extensao": ".pth", "Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Versao": "1_0", "Extensao": ".onnx",
"ArquivoDownload": "street_detector_model-1_0.pth", "Versao": "1_1",
"NomeArquivoLocal": "model-1_0.pth", "TipoArquivo": 0,
"CaminhoCompleto": "C:\\AgroBaseModels\\Ruas\\model-1_0.pth", "ArquivoDownload": "street_detector_model-1_1.onnx",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 0
}, },
{ {
"id": 4, "id": 4,
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Arquivo": "labelmap", "Arquivo": "labelmap",
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Extensao": ".txt", "Extensao": ".txt",
"Versao": "1_0", "Versao": "1_1",
"ArquivoDownload": "street_detector_labelmap-1_0.txt", "TipoArquivo": 0,
"NomeArquivoLocal": "labelmap-1_0.txt", "ArquivoDownload": "street_detector_labelmap-1_1.txt"
"CaminhoCompleto": "C:\\AgroBaseModels\\Ruas\\labelmap-1_0.txt",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 0
}, },
{ {
"id": 5, "id": 5,
"Diretorio": "Parametros/",
"Arquivo": "parametersAtu", "Arquivo": "parametersAtu",
"Diretorio": "Parametros/",
"Extensao": ".par", "Extensao": ".par",
"Versao": "1_1", "Versao": "1_1",
"TipoArquivo": 2,
"ArquivoDownload": "parametersAtu-1_1.par", "ArquivoDownload": "parametersAtu-1_1.par",
"NomeArquivoLocal": "parametersAtu-1_1.par",
"CaminhoCompleto": "Parametros/parametersAtu-1_1.par",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 2
}, },
{ {
"id": 6, "id": 6,
@ -76,123 +64,78 @@
}, },
{ {
"id": 8, "id": 8,
"Arquivo": "pinoutAtu",
"Diretorio": "Parametros/", "Diretorio": "Parametros/",
"Arquivo": "parametersKnt", "Extensao": ".pin",
"Extensao": ".par",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "parametersKnt-1_0.par", "TipoArquivo": 6,
"NomeArquivoLocal": "parametersKnt-1_0.par", "ArquivoDownload": "pinoutAtu-1_0.pin"
"CaminhoCompleto": "Parametros/parametersKnt-1_0.par",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 5
}, },
{ {
"id": 9, "id": 9,
"Arquivo": "pinoutSen",
"Diretorio": "Parametros/", "Diretorio": "Parametros/",
"Arquivo": "pinoutAtu",
"Extensao": ".pin", "Extensao": ".pin",
"Versao": "1_0", "Versao": "1_2",
"ArquivoDownload": "pinoutAtu-1_0.pin", "TipoArquivo": 7,
"NomeArquivoLocal": "pinoutAtu-1_0.pin", "ArquivoDownload": "pinoutSen-1_2.pin"
"CaminhoCompleto": "Parametros/pinoutAtu-1_0.pin",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 6
}, },
{ {
"id": 10, "id": 10,
"Diretorio": "Parametros/", "Arquivo": "weed_detector_oak",
"Arquivo": "pinoutSen", "Diretorio": "Python\\Scripts\\",
"Extensao": ".pin", "Extensao": ".py",
"Versao": "1_2", "Versao": "1_0",
"ArquivoDownload": "pinoutSen-1_2.pin", "TipoArquivo": 9,
"NomeArquivoLocal": "pinoutSen-1_2.pin", "ArquivoDownload": "weed_detector_oak-1_0.py"
"CaminhoCompleto": "Parametros/pinoutSen-1_2.pin",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 7
}, },
{ {
"id": 11, "id": 11,
"Arquivo": "green_detector",
"Diretorio": "Python\\Scripts\\", "Diretorio": "Python\\Scripts\\",
"Arquivo": "weed_detector_oak",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "weed_detector_oak-1_0.py", "TipoArquivo": 10,
"NomeArquivoLocal": "weed_detector_oak-1_0.py", "ArquivoDownload": "green_detector-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\weed_detector_oak-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 9
}, },
{ {
"id": 12, "id": 12,
"Arquivo": "street_detector_oak",
"Diretorio": "Python\\Scripts\\", "Diretorio": "Python\\Scripts\\",
"Arquivo": "green_detector",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "green_detector-1_0.py", "TipoArquivo": 8,
"NomeArquivoLocal": "green_detector-1_0.py", "ArquivoDownload": "street_detector_oak-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\green_detector-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 10
}, },
{ {
"id": 13, "id": 13,
"Arquivo": "map_load",
"Diretorio": "Python\\Scripts\\", "Diretorio": "Python\\Scripts\\",
"Arquivo": "street_detector_oak",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "street_detector_oak-1_0.py", "TipoArquivo": 11,
"NomeArquivoLocal": "street_detector_oak-1_0.py", "ArquivoDownload": "map_load-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\street_detector_oak-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 8
}, },
{ {
"id": 14, "id": 14,
"Arquivo": "map_follow",
"Diretorio": "Python\\Scripts\\", "Diretorio": "Python\\Scripts\\",
"Arquivo": "map_load",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "map_load-1_0.py", "TipoArquivo": 12,
"NomeArquivoLocal": "map_load-1_0.py", "ArquivoDownload": "map_follow-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\map_load-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 11
}, },
{ {
"id": 15, "id": 15,
"Arquivo": "gps_viewer",
"Diretorio": "Python\\Scripts\\", "Diretorio": "Python\\Scripts\\",
"Arquivo": "map_follow",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "map_follow-1_0.py", "TipoArquivo": 13,
"NomeArquivoLocal": "map_follow-1_0.py", "ArquivoDownload": "gps_viewer-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\map_follow-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 12
}, },
{ {
"id": 16, "id": 16,
"Diretorio": "Python\\Scripts\\",
"Arquivo": "gps_viewer",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "gps_viewer-1_0.py",
"NomeArquivoLocal": "gps_viewer-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\gps_viewer-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 13
},
{
"id": 17,
"Arquivo": "modelo_3d", "Arquivo": "modelo_3d",
"Diretorio": "Python\\Output\\", "Diretorio": "Python\\Output\\",
"Extensao": ".obj", "Extensao": ".obj",
@ -201,42 +144,30 @@
"ArquivoDownload": "modelo_3d-1_0.obj" "ArquivoDownload": "modelo_3d-1_0.obj"
}, },
{ {
"id": 18, "id": 17,
"Diretorio": "Python\\Output\\",
"Arquivo": "modelo_3d", "Arquivo": "modelo_3d",
"Diretorio": "Python\\Output\\",
"Extensao": ".mtl", "Extensao": ".mtl",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "modelo_3d-1_0.mtl", "TipoArquivo": 14,
"NomeArquivoLocal": "modelo_3d-1_0.mtl", "ArquivoDownload": "modelo_3d-1_0.mtl"
"CaminhoCompleto": "Python\\Output\\modelo_3d-1_0.mtl", },
"Atualizado": true, {
"ArquivoAtualizado": false, "id": 18,
"TipoArquivo": 14 "Arquivo": "list_oak",
"Diretorio": "Python\\Scripts\\",
"Extensao": ".py",
"Versao": "1_0",
"TipoArquivo": 15,
"ArquivoDownload": "list_oak-1_0.py"
}, },
{ {
"id": 19, "id": 19,
"Diretorio": "Python\\Scripts\\",
"Arquivo": "list_oak",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "list_oak-1_0.py",
"NomeArquivoLocal": "list_oak-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\list_oak-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 15
},
{
"id": 20,
"Diretorio": "Python\\Scripts\\",
"Arquivo": "mpc_controller", "Arquivo": "mpc_controller",
"Diretorio": "Python\\Scripts\\",
"Extensao": ".py", "Extensao": ".py",
"Versao": "1_0", "Versao": "1_0",
"ArquivoDownload": "mpc_controller-1_0.py", "TipoArquivo": 16,
"NomeArquivoLocal": "mpc_controller-1_0.py", "ArquivoDownload": "mpc_controller-1_0.py"
"CaminhoCompleto": "Python\\Scripts\\mpc_controller-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 16
} }
] ]

View File

@ -1 +1 @@
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Id":"1","Name":"22_07_2025_16_27_56","Length":0.0,"Dist1":0.0,"Dist2":0.0},"geometry":{"id":null,"type":"LineString","coordinates":[[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0],[0.0,0.0]]}}]} {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Id":"1","Name":"CidadeJardimTerreno2","Length":14.558011415731592,"Dist1":14.558011415731592,"Dist2":0.0},"geometry":{"id":"0","type":"LineString","coordinates":[[-47.395205344,-22.172559531333334],[-47.395212610166666,-22.172614638833334],[-47.395219157,-22.172656417833334],[-47.395223544833335,-22.1726892105],[-47.395224140984432,-22.172693691611649],[-47.395225326538004,-22.172702654611555]]}},{"type":"Feature","properties":{"Id":"2","Name":"CidadeJardimTerreno2","Length":14.771318274761821,"Dist1":14.558011415731592,"Dist2":0.0},"geometry":{"id":"1","type":"LineString","coordinates":[[-47.395210902333332,-22.172708800833334],[-47.395206943666665,-22.172679811],[-47.395202420666664,-22.1726491015],[-47.395198865666664,-22.172615782833333],[-47.395193255833334,-22.172577132833332],[-47.395192610024395,-22.172572657695412],[-47.395191325698136,-22.172563706509337]]}},{"type":"Feature","properties":{"Id":"3","Name":"CidadeJardimTerreno2","Length":14.827915524386164,"Dist1":14.558011415731592,"Dist2":0.0},"geometry":{"id":"2","type":"LineString","coordinates":[[-47.3951762925,-22.172561603],[-47.395180824166665,-22.172591686166665],[-47.395185745333336,-22.172623080166666],[-47.395190433,-22.172656367166667],[-47.395195199,-22.172693641833334],[-47.395195769044363,-22.172698125891035],[-47.395196902671593,-22.172707094716973]]}},{"type":"Feature","properties":{"Id":"4","Name":"CidadeJardimTerreno2","Length":14.785159385903514,"Dist1":14.558011415731592,"Dist2":0.0},"geometry":{"id":"3","type":"LineString","coordinates":[[-47.395182932166669,-22.1727127985],[-47.39517819266667,-22.172680514833335],[-47.3951732595,-22.172646752833334],[-47.395168805166669,-22.1726149155],[-47.395163812333337,-22.172581167166665],[-47.395163154299318,-22.172576693573966],[-47.395161845655842,-22.172567745443878]]}},{"type":"Feature","properties":{"Id":"5","Name":"CidadeJardimTerreno2","Length":14.801176921912329,"Dist1":14.558011415731592,"Dist2":0.0},"geometry":{"id":"4","type":"LineString","coordinates":[[-47.395147317833334,-22.172566031],[-47.395151503166666,-22.172595452333333],[-47.3951561855,-22.172628011166665],[-47.395161598666668,-22.172663757333332],[-47.395166727166668,-22.172697770833334],[-47.395167397572706,-22.172702242832194],[-47.39516873082615,-22.172711187810091]]}}]}

View File

@ -17,7 +17,7 @@
<meta name="viewport" content="width=device-width, <meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style> <style>
#map_a1e0e55f1aa8221816909f40117511ed { #map_6f8ca8c5dfe7b8b63d63e19da79d278d {
position: relative; position: relative;
width: 100.0%; width: 100.0%;
height: 100.0%; height: 100.0%;
@ -54,14 +54,14 @@
<body> <body>
<div class="folium-map" id="map_a1e0e55f1aa8221816909f40117511ed" ></div> <div class="folium-map" id="map_6f8ca8c5dfe7b8b63d63e19da79d278d" ></div>
</body> </body>
<script> <script>
var map_a1e0e55f1aa8221816909f40117511ed = L.map( var map_6f8ca8c5dfe7b8b63d63e19da79d278d = L.map(
"map_a1e0e55f1aa8221816909f40117511ed", "map_6f8ca8c5dfe7b8b63d63e19da79d278d",
{ {
center: [0.0, 0.0], center: [0.0, 0.0],
crs: L.CRS.EPSG3857, crs: L.CRS.EPSG3857,
@ -78,7 +78,7 @@
var tile_layer_39f0b8ff9e639c0b7edd913d12c51e75 = L.tileLayer( var tile_layer_6f380eff690083296f61e652991bf073 = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png", "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{ {
"minZoom": 0, "minZoom": 0,
@ -95,7 +95,7 @@
); );
tile_layer_39f0b8ff9e639c0b7edd913d12c51e75.addTo(map_a1e0e55f1aa8221816909f40117511ed); tile_layer_6f380eff690083296f61e652991bf073.addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
</script> </script>
@ -116,7 +116,7 @@
} }
trajeto_json_add({"features": []}); trajeto_json_add({"features": []});
trajeto_json.addTo(map_a1e0e55f1aa8221816909f40117511ed); trajeto_json.addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
function adicionarGeometria(novaGeometria) { function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria); trajeto_json.addData(novaGeometria);
@ -179,9 +179,9 @@
var marcadorEquipamento = L.marker([0, 0], { var marcadorEquipamento = L.marker([0, 0], {
icon: customIcon icon: customIcon
}).addTo(map_a1e0e55f1aa8221816909f40117511ed); }).addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
var marcadorBase = L.marker([0, 0], {}).addTo(map_a1e0e55f1aa8221816909f40117511ed); var marcadorBase = L.marker([0, 0], {}).addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
var icon = L.AwesomeMarkers.icon( var icon = L.AwesomeMarkers.icon(
{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"} {"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}
); );
@ -246,7 +246,7 @@
} }
if (foco) { if (foco) {
map_a1e0e55f1aa8221816909f40117511ed.setView(novaPosicao, map_a1e0e55f1aa8221816909f40117511ed.getZoom()); map_6f8ca8c5dfe7b8b63d63e19da79d278d.setView(novaPosicao, map_6f8ca8c5dfe7b8b63d63e19da79d278d.getZoom());
} }
} }
@ -268,7 +268,7 @@
marcadorDinamico.setRotationAngle(angulo); marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]); adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_a1e0e55f1aa8221816909f40117511ed.setView(novaPosicao, map_a1e0e55f1aa8221816909f40117511ed.getZoom());*/ map_6f8ca8c5dfe7b8b63d63e19da79d278d.setView(novaPosicao, map_6f8ca8c5dfe7b8b63d63e19da79d278d.getZoom());*/
}); });
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) { function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -17,7 +17,7 @@
<meta name="viewport" content="width=device-width, <meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style> <style>
#map_6bf0c35cc61b8033d0534f42ead5d022 { #map_d6ebb216b490738c0a89ed92037d9ef5 {
position: relative; position: relative;
width: 100.0%; width: 100.0%;
height: 100.0%; height: 100.0%;
@ -54,16 +54,16 @@
<body> <body>
<div class="folium-map" id="map_6bf0c35cc61b8033d0534f42ead5d022" ></div> <div class="folium-map" id="map_d6ebb216b490738c0a89ed92037d9ef5" ></div>
</body> </body>
<script> <script>
var map_6bf0c35cc61b8033d0534f42ead5d022 = L.map( var map_d6ebb216b490738c0a89ed92037d9ef5 = L.map(
"map_6bf0c35cc61b8033d0534f42ead5d022", "map_d6ebb216b490738c0a89ed92037d9ef5",
{ {
center: [0.0, 0.0], center: [-22.172636164916668, -47.395186322185666],
crs: L.CRS.EPSG3857, crs: L.CRS.EPSG3857,
...{ ...{
"zoom": 12, "zoom": 12,
@ -78,7 +78,7 @@
var tile_layer_689b593ffd75c1952ed861ced758dab1 = L.tileLayer( var tile_layer_743b18066ac143bdda6b85f9f96a1467 = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png", "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{ {
"minZoom": 0, "minZoom": 0,
@ -95,7 +95,7 @@
); );
tile_layer_689b593ffd75c1952ed861ced758dab1.addTo(map_6bf0c35cc61b8033d0534f42ead5d022); tile_layer_743b18066ac143bdda6b85f9f96a1467.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
@ -111,7 +111,7 @@
}*/ }*/
}); });
} }
function geo_json_d20c4c66eb60eae86a16a25e4996bdd6_onEachFeature(feature, layer) { function geo_json_66224afdbd3f140b302fcbaa2a98596e_onEachFeature(feature, layer) {
layer.on({ layer.on({
@ -148,23 +148,23 @@
}*/ }*/
}); });
}; };
var geo_json_d20c4c66eb60eae86a16a25e4996bdd6 = L.geoJson(null, { var geo_json_66224afdbd3f140b302fcbaa2a98596e = L.geoJson(null, {
onEachFeature: geo_json_d20c4c66eb60eae86a16a25e4996bdd6_onEachFeature, onEachFeature: geo_json_66224afdbd3f140b302fcbaa2a98596e_onEachFeature,
...{ ...{
} }
}); });
function geo_json_d20c4c66eb60eae86a16a25e4996bdd6_add (data) { function geo_json_66224afdbd3f140b302fcbaa2a98596e_add (data) {
geo_json_d20c4c66eb60eae86a16a25e4996bdd6 geo_json_66224afdbd3f140b302fcbaa2a98596e
.addData(data); .addData(data);
} }
geo_json_d20c4c66eb60eae86a16a25e4996bdd6_add({"features": [{"geometry": {"coordinates": [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], "id": null, "type": "LineString"}, "id": 0, "properties": {"Dist1": 0.0, "Dist2": 0.0, "Id": "1", "Length": 0.0, "Name": "22_07_2025_16_27_56"}, "type": "Feature"}], "type": "FeatureCollection"}); geo_json_66224afdbd3f140b302fcbaa2a98596e_add({"features": [{"geometry": {"coordinates": [[-47.395205344, -22.172559531333334], [-47.395212610166666, -22.172614638833334], [-47.395219157, -22.172656417833334], [-47.395223544833335, -22.1726892105], [-47.39522414098443, -22.17269369161165], [-47.395225326538004, -22.172702654611555]], "id": "0", "type": "LineString"}, "id": 0, "properties": {"Dist1": 14.558011415731592, "Dist2": 0.0, "Id": "1", "Length": 14.558011415731592, "Name": "CidadeJardimTerreno2"}, "type": "Feature"}, {"geometry": {"coordinates": [[-47.39521090233333, -22.172708800833334], [-47.395206943666665, -22.172679811], [-47.395202420666664, -22.1726491015], [-47.395198865666664, -22.172615782833333], [-47.395193255833334, -22.172577132833332], [-47.395192610024395, -22.17257265769541], [-47.395191325698136, -22.172563706509337]], "id": "1", "type": "LineString"}, "id": 1, "properties": {"Dist1": 14.558011415731592, "Dist2": 0.0, "Id": "2", "Length": 14.771318274761821, "Name": "CidadeJardimTerreno2"}, "type": "Feature"}, {"geometry": {"coordinates": [[-47.3951762925, -22.172561603], [-47.395180824166665, -22.172591686166665], [-47.395185745333336, -22.172623080166666], [-47.395190433, -22.172656367166667], [-47.395195199, -22.172693641833334], [-47.39519576904436, -22.172698125891035], [-47.39519690267159, -22.172707094716973]], "id": "2", "type": "LineString"}, "id": 2, "properties": {"Dist1": 14.558011415731592, "Dist2": 0.0, "Id": "3", "Length": 14.827915524386164, "Name": "CidadeJardimTerreno2"}, "type": "Feature"}, {"geometry": {"coordinates": [[-47.39518293216667, -22.1727127985], [-47.39517819266667, -22.172680514833335], [-47.3951732595, -22.172646752833334], [-47.39516880516667, -22.1726149155], [-47.39516381233334, -22.172581167166665], [-47.39516315429932, -22.172576693573966], [-47.39516184565584, -22.172567745443878]], "id": "3", "type": "LineString"}, "id": 3, "properties": {"Dist1": 14.558011415731592, "Dist2": 0.0, "Id": "4", "Length": 14.785159385903514, "Name": "CidadeJardimTerreno2"}, "type": "Feature"}, {"geometry": {"coordinates": [[-47.395147317833334, -22.172566031], [-47.395151503166666, -22.172595452333333], [-47.3951561855, -22.172628011166665], [-47.39516159866667, -22.172663757333332], [-47.39516672716667, -22.172697770833334], [-47.395167397572706, -22.172702242832194], [-47.39516873082615, -22.17271118781009]], "id": "4", "type": "LineString"}, "id": 4, "properties": {"Dist1": 14.558011415731592, "Dist2": 0.0, "Id": "5", "Length": 14.80117692191233, "Name": "CidadeJardimTerreno2"}, "type": "Feature"}], "type": "FeatureCollection"});
geo_json_d20c4c66eb60eae86a16a25e4996bdd6.setStyle(function(feature) {return feature.properties.style;}); geo_json_66224afdbd3f140b302fcbaa2a98596e.setStyle(function(feature) {return feature.properties.style;});
geo_json_d20c4c66eb60eae86a16a25e4996bdd6.addTo(map_6bf0c35cc61b8033d0534f42ead5d022); geo_json_66224afdbd3f140b302fcbaa2a98596e.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
</script> </script>
@ -185,7 +185,7 @@
} }
trajeto_json_add({"features": []}); trajeto_json_add({"features": []});
trajeto_json.addTo(map_6bf0c35cc61b8033d0534f42ead5d022); trajeto_json.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
function adicionarGeometria(novaGeometria) { function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria); trajeto_json.addData(novaGeometria);
@ -243,7 +243,7 @@
} }
trajeto_dinamico_json_add({"features": []}); trajeto_dinamico_json_add({"features": []});
trajeto_dinamico_json.addTo(map_6bf0c35cc61b8033d0534f42ead5d022); trajeto_dinamico_json.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
function adicionarGeometriaDinamica(novaGeometria) { function adicionarGeometriaDinamica(novaGeometria) {
trajeto_dinamico_json.addData(novaGeometria); trajeto_dinamico_json.addData(novaGeometria);
@ -296,9 +296,9 @@
var marcadorEquipamento = L.marker([0, 0], { var marcadorEquipamento = L.marker([0, 0], {
icon: customIcon icon: customIcon
}).addTo(map_6bf0c35cc61b8033d0534f42ead5d022); }).addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
var marcadorBase = L.marker([0, 0], {}).addTo(map_6bf0c35cc61b8033d0534f42ead5d022); var marcadorBase = L.marker([0, 0], {}).addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
var icon = L.AwesomeMarkers.icon( var icon = L.AwesomeMarkers.icon(
{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"} {"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}
); );
@ -380,7 +380,7 @@
} }
if (foco) { if (foco) {
map_6bf0c35cc61b8033d0534f42ead5d022.setView(novaPosicao, map_6bf0c35cc61b8033d0534f42ead5d022.getZoom()); map_d6ebb216b490738c0a89ed92037d9ef5.setView(novaPosicao, map_d6ebb216b490738c0a89ed92037d9ef5.getZoom());
} }
} }
@ -397,7 +397,7 @@
function atualizarSelecaoRuas(selecionadas) { function atualizarSelecaoRuas(selecionadas) {
selecionadas = JSON.parse(selecionadas); selecionadas = JSON.parse(selecionadas);
RuasSelecionadas = Array.isArray(selecionadas) ? [...selecionadas] : []; RuasSelecionadas = Array.isArray(selecionadas) ? [...selecionadas] : [];
geo_json_d20c4c66eb60eae86a16a25e4996bdd6.eachLayer(function (layer) { geo_json_66224afdbd3f140b302fcbaa2a98596e.eachLayer(function (layer) {
if (RuasSelecionadas.includes(parseInt(layer.feature.id))) { if (RuasSelecionadas.includes(parseInt(layer.feature.id))) {
layer.setStyle({ color: 'blue' }); layer.setStyle({ color: 'blue' });
} else { } else {

View File

@ -119,12 +119,7 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
<script src="folium/mqtt.min.js"></script> <script src="folium/mqtt.min.js"></script>
<script src="folium/leaflet.rotatedMarker.js"></script> <script src="folium/leaflet.rotatedMarker.js"></script>
<script> <script>
let posicaoAtualEquipamento = {{ let posicaoAtual = {{
lat: 0,
long: 0
}};
let posicaoAtualBase = {{
lat: 0, lat: 0,
long: 0 long: 0
}}; }};
@ -136,15 +131,9 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
popupAnchor: [0, -16] popupAnchor: [0, -16]
}}); }});
var marcadorEquipamento = L.marker([0, 0], {{ var marcadorDinamico = L.marker([0, 0], {{
icon: customIcon icon: customIcon
}}).addTo({id_mapa}); }}).addTo({id_mapa});
var marcadorBase = L.marker([0, 0], {{}}).addTo({id_mapa});
var icon = L.AwesomeMarkers.icon(
{{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}}
);
marcadorBase.setIcon(icon);
// Conectar ao broker MQTT // Conectar ao broker MQTT
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
@ -165,54 +154,9 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
// Lidar com mensagens recebidas para o tópico inscrito // Lidar com mensagens recebidas para o tópico inscrito
client.on('message', function (topic, message) {{ client.on('message', function (topic, message) {{
var dados = JSON.parse(message);
if (topic === "{topico_gps}") {{
// A mensagem e um Buffer, converta para string ou objeto conforme necessario
//console.log(`Mensagem recebida no topico '${{topic}}': ${{message.toString()}}`);
var id = dados.id;
var novaLatitude = dados.latitude;
var novaLongitude = dados.longitude;
var novaPosicao = [novaLatitude, novaLongitude];
var orientacao = dados.orientacao;
var foco = dados.foco;
if (id == 1) {{
marcadorBase.setLatLng(novaPosicao);
// Calcular angulo de rotacao
var angulo = dados.orientacao;
posicaoAtualBase.lat = novaPosicao[0];
posicaoAtualBase.long = novaPosicao[1];
// Rotacionar o marcador para o angulo calculado
marcadorBase.setRotationAngle(angulo);
}}
else {{
marcadorEquipamento.setLatLng(novaPosicao);
// Calcular angulo de rotacao
var angulo = dados.orientacao;
posicaoAtualEquipamento.lat = novaPosicao[0];
posicaoAtualEquipamento.long = novaPosicao[1];
// Rotacionar o marcador para o angulo calculado
marcadorEquipamento.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
}}
if (foco) {{
{id_mapa}.setView(novaPosicao, {id_mapa}.getZoom());
}}
}}
// A mensagem é um Buffer, converta para string ou objeto conforme necessário // A mensagem é um Buffer, converta para string ou objeto conforme necessário
//console.log(`Mensagem recebida no tópico '${{topic}}': ${{message.toString()}}`); //console.log(`Mensagem recebida no tópico '${{topic}}': ${{message.toString()}}`);
/*var dados = JSON.parse(message); var dados = JSON.parse(message);
var novaLatitude = dados.latitude; var novaLatitude = dados.latitude;
var novaLongitude = dados.longitude; var novaLongitude = dados.longitude;
var novaPosicao = [novaLatitude, novaLongitude]; var novaPosicao = [novaLatitude, novaLongitude];
@ -227,7 +171,7 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
marcadorDinamico.setRotationAngle(angulo); marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]); adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
{id_mapa}.setView(novaPosicao, {id_mapa}.getZoom());*/ {id_mapa}.setView(novaPosicao, {id_mapa}.getZoom());
}}); }});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {{ function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {{

View File

@ -69,7 +69,8 @@ class CameraManager:
self.setores_referencia = None self.setores_referencia = None
self.anomalias_manager = AnaliseAnomaliasManager() self.anomalias_manager = AnaliseAnomaliasManager()
self.solo_manager = AnaliseSoloManager() self.solo_manager = AnaliseSoloManager()
self.segmentacao_manager = SegmentacaoManager("C:/AgroBaseModels/Ruas/segformer_cana_fixed.onnx") arquivo_modelo = ContextoGlobalRedis.get_equipamento().get("path_ia_model_ruas", "C:/AgroBaseModels/Ruas/model-1_1.onnx")
self.segmentacao_manager = SegmentacaoManager(arquivo_modelo)
self.radar_manager = Radar2DManager() self.radar_manager = Radar2DManager()
self.operante = True self.operante = True
self._timestamp_analise = None self._timestamp_analise = None

View File

@ -54,7 +54,7 @@ class CameraManager:
from weed_worker.config import load_config from weed_worker.config import load_config
config = load_config() config = load_config()
weights_path = config.get("weights_path", "C:/AgroBaseModels/Ervas/model-2_1.pt") weights_path = config.get("weights_path")
self.weed_detector = WeedDetector(weights_path) self.weed_detector = WeedDetector(weights_path)
self._iniciar_loop_analise_continua(5.0) self._iniciar_loop_analise_continua(5.0)

View File

@ -3,7 +3,6 @@
"vazao_bico_ml_s": 0.2, "vazao_bico_ml_s": 0.2,
"offset_antecipacao_y": 0.05, "offset_antecipacao_y": 0.05,
"debug_visual": true, "debug_visual": true,
"weights_path": "C:/AgroBaseModels/Ervas/model-2_1.pt",
"frames_consecutivos": 3, "frames_consecutivos": 3,
"frames_histerese": 2, "frames_histerese": 2,
"min_area_px": 400, "min_area_px": 400,

View File

@ -69,6 +69,7 @@ def load_config(force_reload=False):
_CONFIG_CACHE["zona_atuacao_y"] = dadosAtu.get("percent_vertical_deteccao", 0.3) _CONFIG_CACHE["zona_atuacao_y"] = dadosAtu.get("percent_vertical_deteccao", 0.3)
_CONFIG_CACHE["tempo_max_atuacao"] = dadosAtu.get("tempo_atuacao", 200) _CONFIG_CACHE["tempo_max_atuacao"] = dadosAtu.get("tempo_atuacao", 200)
_CONFIG_CACHE["velocidade_robo"] = contexto.get("Gerais", {}).get("velocidade_ms", 0.0) _CONFIG_CACHE["velocidade_robo"] = contexto.get("Gerais", {}).get("velocidade_ms", 0.0)
_CONFIG_CACHE["weights_path"] = ContextoGlobalRedis.get_equipamento().get("path_ia_model_ervas", "C:/AgroBaseModels/Ervas/model-2_1.pt")
return _CONFIG_CACHE return _CONFIG_CACHE
def reload_config(): def reload_config():

View File

@ -25,3 +25,55 @@
0:00:00 Tab1 PageLoad 0:00:00 Tab1 PageLoad
0:00:34 Memory Pressure: Critical 0:00:34 Memory Pressure: Critical
0:00:36 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications 0:00:36 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
0:00:00 Startup
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
0:00:00 Microsoft.NewBrowser_Popup
0:00:00 Microsoft.BrowserList.AddBrowser
0:00:00 Browser1 Insert active Tab1 at 0
0:00:00 Tab1 StartNav1 #auto_toplevel
0:00:00 Tab1 StartNav2 #typed
0:00:00 Tab1 FinishNav1
0:00:00 Tab1 PageLoad
0:00:00 Tab1 FinishNav2
0:00:00 Tab1 PageLoad
0:06:01 Microsoft.NewBrowser_Popup
0:06:01 Microsoft.BrowserList.AddBrowser
0:06:01 Browser2 Insert active Tab2 at 0
0:06:01 Tab2 StartNav3 #auto_toplevel
0:06:01 Tab2 StartNav4 #typed
0:06:01 Tab2 FinishNav3
0:06:01 Tab2 PageLoad
0:06:01 Tab2 FinishNav4
0:06:01 Tab2 PageLoad
0:06:11 Memory Pressure: Critical
0:06:29 Microsoft.NewBrowser_Popup
0:06:29 Microsoft.BrowserList.AddBrowser
0:06:29 Browser3 Insert active Tab3 at 0
0:06:29 Tab3 StartNav5 #auto_toplevel
0:06:29 Tab3 StartNav6 #typed
0:06:29 Tab3 FinishNav5
0:06:29 Tab3 PageLoad
0:06:29 Tab3 FinishNav6
0:06:29 Tab3 PageLoad
0:06:58 Memory Pressure: Critical
0:07:10 Microsoft.NewBrowser_Popup
0:07:10 Microsoft.BrowserList.AddBrowser
0:07:10 Browser4 Insert active Tab4 at 0
0:07:10 Tab4 StartNav7 #auto_toplevel
0:07:10 Tab4 StartNav8 #typed
0:07:10 Tab4 FinishNav7
0:07:10 Tab4 PageLoad
0:07:10 Tab4 FinishNav8
0:07:10 Tab4 PageLoad
0:08:55 Memory Pressure: Critical
0:09:12 Microsoft.NewBrowser_Popup
0:09:12 Microsoft.BrowserList.AddBrowser
0:09:12 Browser5 Insert active Tab5 at 0
0:09:12 Tab5 StartNav9 #auto_toplevel
0:09:12 Tab5 StartNav10 #typed
0:09:12 Tab5 FinishNav9
0:09:12 Tab5 PageLoad
0:09:12 Tab5 FinishNav10
0:09:13 Tab5 PageLoad
0:14:03 Memory Pressure: Critical

View File

@ -8,5 +8,5 @@
"top_topics_and_observing_domains": [ ] "top_topics_and_observing_domains": [ ]
} ], } ],
"hex_encoded_hmac_key": "171DAE543B88106F5155169E0A8C7502CB2A0757E4948C32E2A04D196E23BE70", "hex_encoded_hmac_key": "171DAE543B88106F5155169E0A8C7502CB2A0757E4948C32E2A04D196E23BE70",
"next_scheduled_calculation_time": "13397860933256257" "next_scheduled_calculation_time": "13397860933256274"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Some files were not shown because too many files have changed in this diff Show More