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 9163adf86c
commit 6cb1f14779
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/oak-1/dataset/
Python/OAK/datasets/oak-1/backup/
Python/OAK/datasets/oak-d/dataset/
Python/OAK/datasets/oak-d/backup/
!AgroBase/AgroBase/bin/x64/Debug/Python/
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;
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(
pnlAtuadores,
e,
@ -616,7 +616,7 @@ namespace AgroBase.Forms.Operacoes
Inicializado = x.Inicializado,
MediaNivelFluxo = x.MediaNivelFluxo,
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,
}).ToList(),
ligado,

View File

@ -2,7 +2,6 @@
using AgroBase.Models.Modules;
using AgroBase.Services;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
@ -181,7 +180,7 @@ namespace AgroBase.Forms.Operacoes
Posicao = x.Posicao,
StatusBico = x.ValoresLeituras.FirstOrDefault(y => y.funcao == FuncoesPinout.EstadoLeitura).atual.valor ?? false,
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)

View File

@ -3,7 +3,6 @@ using AgroBase.Models.Modules;
using AgroBase.Models.Operadores;
using AgroBase.Properties;
using AgroBase.Services;
using AgroBase.Services.Operadores;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
@ -1355,7 +1354,7 @@ namespace AgroBase.Forms.Operacoes
lblMagnetometro.ForeColor = !LogImu.Iniciado ? Color.Red : Color.Black;
pnlOrientacaoMagnetometro.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");
txtAltitude.Text = LogImu.Altitude.ToString("0.00");
txtPressao.Text = LogImu.Pressao + " Pa (" + (LogImu.Pressao / 101300.0).ToString("0.00") + " atm)";
@ -1552,7 +1551,7 @@ namespace AgroBase.Forms.Operacoes
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)
@ -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)
{
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 sensor = Disp.Sensores.FirstOrDefault(x => x.ID_Num == ID_Num);
@ -1315,7 +1316,7 @@ namespace AgroBase.Models.Modules
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)
{

View File

@ -1117,7 +1117,7 @@ namespace AgroBase.Models
VolumeReservatorio = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VolumeReservatorio,
PressaoLinha_SP = Variaveis.OperacaoEmAndamento.Controle.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,
VazaoFluxoMLpSInstantanea = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSInstantanea,
VazaoFluxoMLpSMedia = Variaveis.OperacaoEmAndamento.DispAtu.Dados.VazaoFluxoMLpSMedia,
@ -1132,7 +1132,7 @@ namespace AgroBase.Models
Atuado = Bico.ComandoAtuar,
MediaNivelFluxo = Bico.MediaNivelFluxo,
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,
TempoAtuado = Bico.TempoAtuado,
}).ToList(),
@ -1319,32 +1319,43 @@ namespace AgroBase.Models
string nomeModulo = $"{modulo.modulo} {modulo.status} (Saúde: {modulo.saude:0}%)";
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}%)";
TreeNode nodoItem = new TreeNode(nomeItem);
// Adiciona os motivos normais (de saúde)
foreach (var motivo in item.motivos)
foreach (var item in modulo.saude_individual.Where(x => x.em_uso))
{
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)
if (item.condicoes_operacionais != null && item.condicoes_operacionais.Count > 0)
{
TreeNode nodoCondicoes = new TreeNode("Condições Operacionais");
foreach (var cond in item.condicoes_operacionais)
// Adiciona os motivos normais (de saúde)
foreach (var motivo in item.motivos)
{
string textoCond = $"{cond.descricao} (Valor: {cond.valor}, Severidade: {cond.severidade:0}%)";
nodoCondicoes.Nodes.Add(new TreeNode(textoCond));
nodoItem.Nodes.Add(new TreeNode(motivo));
}
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);

View File

@ -54,7 +54,9 @@ namespace AgroBase.Models.Operadores
timestamp = timestamp,
deteccoes = new List<WeedWorkerAnaliseDeteccaoModel>(deteccoes),
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_tensao_bateria_min", VariaveisEquipamento.PercentualTensaoBateriaMin),
("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()
{
var dictParams = JsonConvert.DeserializeObject<Dictionary<string, object>>(RedisService.Get(CtxKey.DadosControle));
AtualizarControle(dictParams);
if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS)
{
var dictParams = JsonConvert.DeserializeObject<Dictionary<string, object>>(RedisService.Get(CtxKey.DadosControle));
AtualizarControle(dictParams);
}
}
private void AtualizarControle(Dictionary<string, object> dictParams)
@ -103,9 +106,6 @@ namespace AgroBase.Services.Operadores
case ManagerWorkerCommandType.EnviarDadosControle:
if (Variaveis.OperacaoEmAndamento.Modo == Enums.ModoOperacao.MapaGPS)
{
if (comando.@params == null)
break;
AtualizarControle(comando.@params);
}
break;

View File

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

View File

@ -22,5 +22,5 @@
"top_topics_and_observing_domains": [ ]
} ],
"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/22-16:49:20.940 1058 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.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/23-16:19:21.426 63a0 Recovering log #3
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/22-16:29:12.430 2bec 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.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/23-15:20:21.779 65d4 Recovering log #3
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/22-16:54:21.215 1058 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.426 63a0 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.427 63a0 Recovering log #3
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/22-16:36:35.722 2bec 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.023 65d4 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.024 65d4 Recovering log #3
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/22-16:49:20.856 17f8 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.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/23-16:19:21.346 66f4 Recovering log #7
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/22-16:29:12.356 21c8 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.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/23-15:20:21.704 5b6c Recovering log #7
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,
"Arquivo": "model",
"Diretorio": "C:\\AgroBaseModels\\Ervas\\",
"Extensao": ".blob",
"Versao": "1_1",
"Extensao": ".pt",
"Versao": "2_1",
"TipoArquivo": 1,
"ArquivoDownload": "weed_detector_model-1_1.blob"
"ArquivoDownload": "weed_detector_model-2_1.pt"
},
{
"id": 2,
"Arquivo": "model",
"Diretorio": "C:\\AgroBaseModels\\Ervas\\",
"Extensao": ".json",
"Versao": "1_1",
"Versao": "2_1",
"TipoArquivo": 1,
"ArquivoDownload": "weed_detector_model-1_1.json"
"ArquivoDownload": "weed_detector_model-2_1.json"
},
{
"id": 3,
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Arquivo": "model",
"Extensao": ".pth",
"Versao": "1_0",
"ArquivoDownload": "street_detector_model-1_0.pth",
"NomeArquivoLocal": "model-1_0.pth",
"CaminhoCompleto": "C:\\AgroBaseModels\\Ruas\\model-1_0.pth",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 0
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Extensao": ".onnx",
"Versao": "1_1",
"TipoArquivo": 0,
"ArquivoDownload": "street_detector_model-1_1.onnx",
},
{
"id": 4,
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Arquivo": "labelmap",
"Diretorio": "C:\\AgroBaseModels\\Ruas\\",
"Extensao": ".txt",
"Versao": "1_0",
"ArquivoDownload": "street_detector_labelmap-1_0.txt",
"NomeArquivoLocal": "labelmap-1_0.txt",
"CaminhoCompleto": "C:\\AgroBaseModels\\Ruas\\labelmap-1_0.txt",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 0
"Versao": "1_1",
"TipoArquivo": 0,
"ArquivoDownload": "street_detector_labelmap-1_1.txt"
},
{
"id": 5,
"Diretorio": "Parametros/",
"Arquivo": "parametersAtu",
"Diretorio": "Parametros/",
"Extensao": ".par",
"Versao": "1_1",
"TipoArquivo": 2,
"ArquivoDownload": "parametersAtu-1_1.par",
"NomeArquivoLocal": "parametersAtu-1_1.par",
"CaminhoCompleto": "Parametros/parametersAtu-1_1.par",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 2
},
{
"id": 6,
@ -76,123 +64,78 @@
},
{
"id": 8,
"Arquivo": "pinoutAtu",
"Diretorio": "Parametros/",
"Arquivo": "parametersKnt",
"Extensao": ".par",
"Extensao": ".pin",
"Versao": "1_0",
"ArquivoDownload": "parametersKnt-1_0.par",
"NomeArquivoLocal": "parametersKnt-1_0.par",
"CaminhoCompleto": "Parametros/parametersKnt-1_0.par",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 5
"TipoArquivo": 6,
"ArquivoDownload": "pinoutAtu-1_0.pin"
},
{
"id": 9,
"Arquivo": "pinoutSen",
"Diretorio": "Parametros/",
"Arquivo": "pinoutAtu",
"Extensao": ".pin",
"Versao": "1_0",
"ArquivoDownload": "pinoutAtu-1_0.pin",
"NomeArquivoLocal": "pinoutAtu-1_0.pin",
"CaminhoCompleto": "Parametros/pinoutAtu-1_0.pin",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 6
"Versao": "1_2",
"TipoArquivo": 7,
"ArquivoDownload": "pinoutSen-1_2.pin"
},
{
"id": 10,
"Diretorio": "Parametros/",
"Arquivo": "pinoutSen",
"Extensao": ".pin",
"Versao": "1_2",
"ArquivoDownload": "pinoutSen-1_2.pin",
"NomeArquivoLocal": "pinoutSen-1_2.pin",
"CaminhoCompleto": "Parametros/pinoutSen-1_2.pin",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 7
"Arquivo": "weed_detector_oak",
"Diretorio": "Python\\Scripts\\",
"Extensao": ".py",
"Versao": "1_0",
"TipoArquivo": 9,
"ArquivoDownload": "weed_detector_oak-1_0.py"
},
{
"id": 11,
"Arquivo": "green_detector",
"Diretorio": "Python\\Scripts\\",
"Arquivo": "weed_detector_oak",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "weed_detector_oak-1_0.py",
"NomeArquivoLocal": "weed_detector_oak-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\weed_detector_oak-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 9
"TipoArquivo": 10,
"ArquivoDownload": "green_detector-1_0.py"
},
{
"id": 12,
"Arquivo": "street_detector_oak",
"Diretorio": "Python\\Scripts\\",
"Arquivo": "green_detector",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "green_detector-1_0.py",
"NomeArquivoLocal": "green_detector-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\green_detector-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 10
"TipoArquivo": 8,
"ArquivoDownload": "street_detector_oak-1_0.py"
},
{
"id": 13,
"Arquivo": "map_load",
"Diretorio": "Python\\Scripts\\",
"Arquivo": "street_detector_oak",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "street_detector_oak-1_0.py",
"NomeArquivoLocal": "street_detector_oak-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\street_detector_oak-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 8
"TipoArquivo": 11,
"ArquivoDownload": "map_load-1_0.py"
},
{
"id": 14,
"Arquivo": "map_follow",
"Diretorio": "Python\\Scripts\\",
"Arquivo": "map_load",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "map_load-1_0.py",
"NomeArquivoLocal": "map_load-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\map_load-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 11
"TipoArquivo": 12,
"ArquivoDownload": "map_follow-1_0.py"
},
{
"id": 15,
"Arquivo": "gps_viewer",
"Diretorio": "Python\\Scripts\\",
"Arquivo": "map_follow",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "map_follow-1_0.py",
"NomeArquivoLocal": "map_follow-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\map_follow-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 12
"TipoArquivo": 13,
"ArquivoDownload": "gps_viewer-1_0.py"
},
{
"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",
"Diretorio": "Python\\Output\\",
"Extensao": ".obj",
@ -201,42 +144,30 @@
"ArquivoDownload": "modelo_3d-1_0.obj"
},
{
"id": 18,
"Diretorio": "Python\\Output\\",
"id": 17,
"Arquivo": "modelo_3d",
"Diretorio": "Python\\Output\\",
"Extensao": ".mtl",
"Versao": "1_0",
"ArquivoDownload": "modelo_3d-1_0.mtl",
"NomeArquivoLocal": "modelo_3d-1_0.mtl",
"CaminhoCompleto": "Python\\Output\\modelo_3d-1_0.mtl",
"Atualizado": true,
"ArquivoAtualizado": false,
"TipoArquivo": 14
"TipoArquivo": 14,
"ArquivoDownload": "modelo_3d-1_0.mtl"
},
{
"id": 18,
"Arquivo": "list_oak",
"Diretorio": "Python\\Scripts\\",
"Extensao": ".py",
"Versao": "1_0",
"TipoArquivo": 15,
"ArquivoDownload": "list_oak-1_0.py"
},
{
"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",
"Diretorio": "Python\\Scripts\\",
"Extensao": ".py",
"Versao": "1_0",
"ArquivoDownload": "mpc_controller-1_0.py",
"NomeArquivoLocal": "mpc_controller-1_0.py",
"CaminhoCompleto": "Python\\Scripts\\mpc_controller-1_0.py",
"Atualizado": true,
"ArquivoAtualizado": true,
"TipoArquivo": 16
"TipoArquivo": 16,
"ArquivoDownload": "mpc_controller-1_0.py"
}
]

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,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_a1e0e55f1aa8221816909f40117511ed {
#map_6f8ca8c5dfe7b8b63d63e19da79d278d {
position: relative;
width: 100.0%;
height: 100.0%;
@ -54,14 +54,14 @@
<body>
<div class="folium-map" id="map_a1e0e55f1aa8221816909f40117511ed" ></div>
<div class="folium-map" id="map_6f8ca8c5dfe7b8b63d63e19da79d278d" ></div>
</body>
<script>
var map_a1e0e55f1aa8221816909f40117511ed = L.map(
"map_a1e0e55f1aa8221816909f40117511ed",
var map_6f8ca8c5dfe7b8b63d63e19da79d278d = L.map(
"map_6f8ca8c5dfe7b8b63d63e19da79d278d",
{
center: [0.0, 0.0],
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",
{
"minZoom": 0,
@ -95,7 +95,7 @@
);
tile_layer_39f0b8ff9e639c0b7edd913d12c51e75.addTo(map_a1e0e55f1aa8221816909f40117511ed);
tile_layer_6f380eff690083296f61e652991bf073.addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
</script>
@ -116,7 +116,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_a1e0e55f1aa8221816909f40117511ed);
trajeto_json.addTo(map_6f8ca8c5dfe7b8b63d63e19da79d278d);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -179,9 +179,9 @@
var marcadorEquipamento = L.marker([0, 0], {
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(
{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}
);
@ -246,7 +246,7 @@
}
if (foco) {
map_a1e0e55f1aa8221816909f40117511ed.setView(novaPosicao, map_a1e0e55f1aa8221816909f40117511ed.getZoom());
map_6f8ca8c5dfe7b8b63d63e19da79d278d.setView(novaPosicao, map_6f8ca8c5dfe7b8b63d63e19da79d278d.getZoom());
}
}
@ -268,7 +268,7 @@
marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_a1e0e55f1aa8221816909f40117511ed.setView(novaPosicao, map_a1e0e55f1aa8221816909f40117511ed.getZoom());*/
map_6f8ca8c5dfe7b8b63d63e19da79d278d.setView(novaPosicao, map_6f8ca8c5dfe7b8b63d63e19da79d278d.getZoom());*/
});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -17,7 +17,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_6bf0c35cc61b8033d0534f42ead5d022 {
#map_d6ebb216b490738c0a89ed92037d9ef5 {
position: relative;
width: 100.0%;
height: 100.0%;
@ -54,16 +54,16 @@
<body>
<div class="folium-map" id="map_6bf0c35cc61b8033d0534f42ead5d022" ></div>
<div class="folium-map" id="map_d6ebb216b490738c0a89ed92037d9ef5" ></div>
</body>
<script>
var map_6bf0c35cc61b8033d0534f42ead5d022 = L.map(
"map_6bf0c35cc61b8033d0534f42ead5d022",
var map_d6ebb216b490738c0a89ed92037d9ef5 = L.map(
"map_d6ebb216b490738c0a89ed92037d9ef5",
{
center: [0.0, 0.0],
center: [-22.172636164916668, -47.395186322185666],
crs: L.CRS.EPSG3857,
...{
"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",
{
"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({
@ -148,23 +148,23 @@
}*/
});
};
var geo_json_d20c4c66eb60eae86a16a25e4996bdd6 = L.geoJson(null, {
onEachFeature: geo_json_d20c4c66eb60eae86a16a25e4996bdd6_onEachFeature,
var geo_json_66224afdbd3f140b302fcbaa2a98596e = L.geoJson(null, {
onEachFeature: geo_json_66224afdbd3f140b302fcbaa2a98596e_onEachFeature,
...{
}
});
function geo_json_d20c4c66eb60eae86a16a25e4996bdd6_add (data) {
geo_json_d20c4c66eb60eae86a16a25e4996bdd6
function geo_json_66224afdbd3f140b302fcbaa2a98596e_add (data) {
geo_json_66224afdbd3f140b302fcbaa2a98596e
.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_d20c4c66eb60eae86a16a25e4996bdd6.setStyle(function(feature) {return feature.properties.style;});
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_66224afdbd3f140b302fcbaa2a98596e.setStyle(function(feature) {return feature.properties.style;});
geo_json_d20c4c66eb60eae86a16a25e4996bdd6.addTo(map_6bf0c35cc61b8033d0534f42ead5d022);
geo_json_66224afdbd3f140b302fcbaa2a98596e.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
</script>
@ -185,7 +185,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_6bf0c35cc61b8033d0534f42ead5d022);
trajeto_json.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -243,7 +243,7 @@
}
trajeto_dinamico_json_add({"features": []});
trajeto_dinamico_json.addTo(map_6bf0c35cc61b8033d0534f42ead5d022);
trajeto_dinamico_json.addTo(map_d6ebb216b490738c0a89ed92037d9ef5);
function adicionarGeometriaDinamica(novaGeometria) {
trajeto_dinamico_json.addData(novaGeometria);
@ -296,9 +296,9 @@
var marcadorEquipamento = L.marker([0, 0], {
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(
{"extraClasses": "fa-rotate-0", "icon": "info-sign", "iconColor": "white", "markerColor": "red", "prefix": "glyphicon"}
);
@ -380,7 +380,7 @@
}
if (foco) {
map_6bf0c35cc61b8033d0534f42ead5d022.setView(novaPosicao, map_6bf0c35cc61b8033d0534f42ead5d022.getZoom());
map_d6ebb216b490738c0a89ed92037d9ef5.setView(novaPosicao, map_d6ebb216b490738c0a89ed92037d9ef5.getZoom());
}
}
@ -397,7 +397,7 @@
function atualizarSelecaoRuas(selecionadas) {
selecionadas = JSON.parse(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))) {
layer.setStyle({ color: 'blue' });
} 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/leaflet.rotatedMarker.js"></script>
<script>
let posicaoAtualEquipamento = {{
lat: 0,
long: 0
}};
let posicaoAtualBase = {{
let posicaoAtual = {{
lat: 0,
long: 0
}};
@ -136,15 +131,9 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
popupAnchor: [0, -16]
}});
var marcadorEquipamento = L.marker([0, 0], {{
var marcadorDinamico = L.marker([0, 0], {{
icon: customIcon
}}).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
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
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
//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 novaLongitude = dados.longitude;
var novaPosicao = [novaLatitude, novaLongitude];
@ -227,7 +171,7 @@ with open(caminho_completo_html, 'r+') as arquivo_html:
marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
{id_mapa}.setView(novaPosicao, {id_mapa}.getZoom());*/
{id_mapa}.setView(novaPosicao, {id_mapa}.getZoom());
}});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {{

View File

@ -69,7 +69,8 @@ class CameraManager:
self.setores_referencia = None
self.anomalias_manager = AnaliseAnomaliasManager()
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.operante = True
self._timestamp_analise = None

View File

@ -54,7 +54,7 @@ class CameraManager:
from weed_worker.config import 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._iniciar_loop_analise_continua(5.0)

View File

@ -3,7 +3,6 @@
"vazao_bico_ml_s": 0.2,
"offset_antecipacao_y": 0.05,
"debug_visual": true,
"weights_path": "C:/AgroBaseModels/Ervas/model-2_1.pt",
"frames_consecutivos": 3,
"frames_histerese": 2,
"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["tempo_max_atuacao"] = dadosAtu.get("tempo_atuacao", 200)
_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
def reload_config():

View File

@ -25,3 +25,55 @@
0:00:00 Tab1 PageLoad
0:00:34 Memory Pressure: Critical
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": [ ]
} ],
"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