ajustes nos scripts para treinamento dos modelos de IA
|
|
@ -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/
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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}";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@
|
|||
"top_topics_and_observing_domains": [ ]
|
||||
} ],
|
||||
"hex_encoded_hmac_key": "40F346D3248C3AFDF2BEE1FE496DBD32F7CED6E5AE98B881ABC421AA7E7B5642",
|
||||
"next_scheduled_calculation_time": "13397830127958004"
|
||||
"next_scheduled_calculation_time": "13397830127958150"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"}}}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
|
|
@ -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]]}}]}
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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) {{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@
|
|||
"top_topics_and_observing_domains": [ ]
|
||||
} ],
|
||||
"hex_encoded_hmac_key": "171DAE543B88106F5155169E0A8C7502CB2A0757E4948C32E2A04D196E23BE70",
|
||||
"next_scheduled_calculation_time": "13397860933256257"
|
||||
"next_scheduled_calculation_time": "13397860933256274"
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 23 KiB |