iniciado implantacao das cameras

This commit is contained in:
Diego Freitas 2025-02-20 17:01:28 -03:00
parent e7926a19fd
commit 0317926990
60 changed files with 1975 additions and 779 deletions

Binary file not shown.

View File

@ -457,6 +457,7 @@
<Compile Include="Models\MotorComum.cs" /> <Compile Include="Models\MotorComum.cs" />
<Compile Include="Models\MPCController.cs" /> <Compile Include="Models\MPCController.cs" />
<Compile Include="Models\MPCControllerSimple.cs" /> <Compile Include="Models\MPCControllerSimple.cs" />
<Compile Include="Models\OAKCameraModel.cs" />
<Compile Include="Models\OIDModel.cs" /> <Compile Include="Models\OIDModel.cs" />
<Compile Include="Models\Operacoes\OperacaoManualModel.cs" /> <Compile Include="Models\Operacoes\OperacaoManualModel.cs" />
<Compile Include="Models\Operacoes\OperacaoMapaGPSModel.cs" /> <Compile Include="Models\Operacoes\OperacaoMapaGPSModel.cs" />
@ -500,6 +501,7 @@
<Compile Include="Services\MKS057DService.cs" /> <Compile Include="Services\MKS057DService.cs" />
<Compile Include="Services\ModbusService.cs" /> <Compile Include="Services\ModbusService.cs" />
<Compile Include="Services\MqttService.cs" /> <Compile Include="Services\MqttService.cs" />
<Compile Include="Services\OAKCameraService.cs" />
<Compile Include="Services\OIDService.cs" /> <Compile Include="Services\OIDService.cs" />
<Compile Include="Services\PythonService.cs" /> <Compile Include="Services\PythonService.cs" />
<Compile Include="Services\PZEMService.cs" /> <Compile Include="Services\PZEMService.cs" />

View File

@ -31,7 +31,7 @@ namespace AgroBase.Forms
ArquivoLeitura = "ervas_T.json", ArquivoLeitura = "ervas_T.json",
browser = null, browser = null,
camera = new CameraService(), camera = new CameraService(),
CameraSelecionada = "", DeviceID = "",
combo = cmbCameras, combo = cmbCameras,
MaxLeituras = 10, MaxLeituras = 10,
VideoPorta = (VariaveisPortas.CameraSolo + Variaveis.OperacaoEmAndamento.CamerasSolo.Count()).ToString(), VideoPorta = (VariaveisPortas.CameraSolo + Variaveis.OperacaoEmAndamento.CamerasSolo.Count()).ToString(),
@ -76,7 +76,7 @@ namespace AgroBase.Forms
else else
{ {
btnSalvar.Text = "Editar"; btnSalvar.Text = "Editar";
cameraSolo.camera.selectedCamera = cmbCameras.SelectedIndex; cameraSolo.camera.cameraIndex = cmbCameras.SelectedIndex;
} }
btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0; btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0;
cmbCameras.Enabled = btnSalvar.Text == "Salvar"; cmbCameras.Enabled = btnSalvar.Text == "Salvar";
@ -95,7 +95,7 @@ namespace AgroBase.Forms
ArquivoLeitura = "ervas_" + CamNome + ".json", ArquivoLeitura = "ervas_" + CamNome + ".json",
browser = null, browser = null,
camera = new CameraService(), camera = new CameraService(),
CameraSelecionada = "123", DeviceID = "123",
combo = new ComboBox(), combo = new ComboBox(),
MaxLeituras = 1, MaxLeituras = 1,
VideoPorta = (VariaveisPortas.CameraSolo + 0).ToString(), VideoPorta = (VariaveisPortas.CameraSolo + 0).ToString(),
@ -103,7 +103,7 @@ namespace AgroBase.Forms
MqttTopico = "green_objects_" + CamNome, MqttTopico = "green_objects_" + CamNome,
}; };
CameraSolo.panel = pnlCamera; CameraSolo.panel = pnlCamera;
CameraSolo.camera.selectedCamera = 1; CameraSolo.camera.cameraIndex = 1;
IniciarCameraSolo(CameraSolo); IniciarCameraSolo(CameraSolo);
tmrLeitura = new AsyncTaskTimerModel("tmrLeitura", tmrLeitura_Tick, 200); tmrLeitura = new AsyncTaskTimerModel("tmrLeitura", tmrLeitura_Tick, 200);
@ -114,7 +114,7 @@ namespace AgroBase.Forms
{ {
CameraSolo.DesligarCamera(); CameraSolo.DesligarCamera();
if (CameraSolo.camera.selectedCamera > 0) if (CameraSolo.camera.cameraIndex > 0)
{ {
VersaoArquivoModel ArquivoVersao = VersionamentoService.ArquivoModeloWeedDetector; VersaoArquivoModel ArquivoVersao = VersionamentoService.ArquivoModeloWeedDetector;
@ -166,14 +166,14 @@ namespace AgroBase.Forms
private void AtualizaListaCameras() private void AtualizaListaCameras()
{ {
cameraSolo.camera.selectedCamera = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0; cameraSolo.camera.cameraIndex = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0;
cmbCameras.Items.Clear(); cmbCameras.Items.Clear();
cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray()); cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray());
if (cmbCameras.Items.Count == 1) if (cmbCameras.Items.Count == 1)
{ {
cameraSolo.camera.selectedCamera = 0; cameraSolo.camera.cameraIndex = 0;
} }
cmbCameras.SelectedIndex = cameraSolo.camera.selectedCamera; cmbCameras.SelectedIndex = cameraSolo.camera.cameraIndex;
} }
private void ListarObjetosDetectados() private void ListarObjetosDetectados()

View File

@ -29,17 +29,8 @@
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAjustes)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAjustes));
this.pnlEsquerda = new System.Windows.Forms.Panel(); this.pnlCaminho = new System.Windows.Forms.Panel();
this.picEsquerda = new System.Windows.Forms.PictureBox();
this.lblEsquerda = new System.Windows.Forms.Label();
this.lblDireita = new System.Windows.Forms.Label();
this.pnlDireita = new System.Windows.Forms.Panel();
this.picDireita = new System.Windows.Forms.PictureBox();
this.pnlCentro = new System.Windows.Forms.Panel();
this.picCentro = new System.Windows.Forms.PictureBox();
this.cmbS0 = new System.Windows.Forms.ComboBox();
this.cmbC = new System.Windows.Forms.ComboBox(); this.cmbC = new System.Windows.Forms.ComboBox();
this.cmbS1 = new System.Windows.Forms.ComboBox();
this.lblComunicacao = new System.Windows.Forms.Label(); this.lblComunicacao = new System.Windows.Forms.Label();
this.picVoltar = new System.Windows.Forms.PictureBox(); this.picVoltar = new System.Windows.Forms.PictureBox();
this.picSalvar = new System.Windows.Forms.PictureBox(); this.picSalvar = new System.Windows.Forms.PictureBox();
@ -63,131 +54,36 @@
this.picGravar = new System.Windows.Forms.PictureBox(); this.picGravar = new System.Windows.Forms.PictureBox();
this.picAtualizar = new System.Windows.Forms.PictureBox(); this.picAtualizar = new System.Windows.Forms.PictureBox();
this.cmbComunicacao = new System.Windows.Forms.ComboBox(); this.cmbComunicacao = new System.Windows.Forms.ComboBox();
this.btnCalibrarKinect = new System.Windows.Forms.Button(); this.btnCalibrarSonar = new System.Windows.Forms.Button();
this.chbKinect = new System.Windows.Forms.CheckBox(); this.chbSonarAtivado = new System.Windows.Forms.CheckBox();
this.trkKinect = new System.Windows.Forms.TrackBar();
this.gpbComunicacao = new System.Windows.Forms.GroupBox(); this.gpbComunicacao = new System.Windows.Forms.GroupBox();
this.gpbCameras = new System.Windows.Forms.GroupBox(); this.gpbCameras = new System.Windows.Forms.GroupBox();
this.pnlEsquerda.SuspendLayout(); this.flwCamerasSolo = new System.Windows.Forms.FlowLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.picEsquerda)).BeginInit();
this.pnlDireita.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picDireita)).BeginInit();
this.pnlCentro.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picCentro)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picVoltar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picSalvar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picSalvar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picLer)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picLer)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picGravar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picGravar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picAtualizar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picAtualizar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.trkKinect)).BeginInit();
this.gpbComunicacao.SuspendLayout(); this.gpbComunicacao.SuspendLayout();
this.gpbCameras.SuspendLayout(); this.gpbCameras.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// pnlEsquerda // pnlCaminho
// //
this.pnlEsquerda.Controls.Add(this.picEsquerda); this.pnlCaminho.Location = new System.Drawing.Point(137, 53);
this.pnlEsquerda.Location = new System.Drawing.Point(94, 53); this.pnlCaminho.Name = "pnlCaminho";
this.pnlEsquerda.Name = "pnlEsquerda"; this.pnlCaminho.Size = new System.Drawing.Size(320, 200);
this.pnlEsquerda.Size = new System.Drawing.Size(270, 200); this.pnlCaminho.TabIndex = 1;
this.pnlEsquerda.TabIndex = 0;
//
// picEsquerda
//
this.picEsquerda.BackColor = System.Drawing.Color.Black;
this.picEsquerda.Dock = System.Windows.Forms.DockStyle.Fill;
this.picEsquerda.Location = new System.Drawing.Point(0, 0);
this.picEsquerda.Name = "picEsquerda";
this.picEsquerda.Size = new System.Drawing.Size(270, 200);
this.picEsquerda.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picEsquerda.TabIndex = 0;
this.picEsquerda.TabStop = false;
//
// lblEsquerda
//
this.lblEsquerda.AutoSize = true;
this.lblEsquerda.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.25F);
this.lblEsquerda.Location = new System.Drawing.Point(105, 24);
this.lblEsquerda.Name = "lblEsquerda";
this.lblEsquerda.Size = new System.Drawing.Size(248, 20);
this.lblEsquerda.TabIndex = 3;
this.lblEsquerda.Text = "PULVERIZADOR - ESQUERDA";
//
// lblDireita
//
this.lblDireita.AutoSize = true;
this.lblDireita.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.25F);
this.lblDireita.Location = new System.Drawing.Point(734, 24);
this.lblDireita.Name = "lblDireita";
this.lblDireita.Size = new System.Drawing.Size(219, 20);
this.lblDireita.TabIndex = 5;
this.lblDireita.Text = "PULVERIZADOR - DIREITA";
//
// pnlDireita
//
this.pnlDireita.Controls.Add(this.picDireita);
this.pnlDireita.Location = new System.Drawing.Point(716, 53);
this.pnlDireita.Name = "pnlDireita";
this.pnlDireita.Size = new System.Drawing.Size(270, 200);
this.pnlDireita.TabIndex = 4;
//
// picDireita
//
this.picDireita.BackColor = System.Drawing.Color.Black;
this.picDireita.Dock = System.Windows.Forms.DockStyle.Fill;
this.picDireita.Location = new System.Drawing.Point(0, 0);
this.picDireita.Name = "picDireita";
this.picDireita.Size = new System.Drawing.Size(270, 200);
this.picDireita.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picDireita.TabIndex = 1;
this.picDireita.TabStop = false;
//
// pnlCentro
//
this.pnlCentro.Controls.Add(this.picCentro);
this.pnlCentro.Location = new System.Drawing.Point(378, 53);
this.pnlCentro.Name = "pnlCentro";
this.pnlCentro.Size = new System.Drawing.Size(270, 200);
this.pnlCentro.TabIndex = 1;
//
// picCentro
//
this.picCentro.BackColor = System.Drawing.Color.Black;
this.picCentro.Dock = System.Windows.Forms.DockStyle.Fill;
this.picCentro.Location = new System.Drawing.Point(0, 0);
this.picCentro.Name = "picCentro";
this.picCentro.Size = new System.Drawing.Size(270, 200);
this.picCentro.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picCentro.TabIndex = 1;
this.picCentro.TabStop = false;
//
// cmbS0
//
this.cmbS0.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmbS0.FormattingEnabled = true;
this.cmbS0.Location = new System.Drawing.Point(94, 267);
this.cmbS0.Name = "cmbS0";
this.cmbS0.Size = new System.Drawing.Size(270, 39);
this.cmbS0.TabIndex = 7;
// //
// cmbC // cmbC
// //
this.cmbC.Enabled = false;
this.cmbC.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cmbC.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmbC.FormattingEnabled = true; this.cmbC.FormattingEnabled = true;
this.cmbC.Location = new System.Drawing.Point(378, 267); this.cmbC.Location = new System.Drawing.Point(137, 259);
this.cmbC.Name = "cmbC"; this.cmbC.Name = "cmbC";
this.cmbC.Size = new System.Drawing.Size(181, 39); this.cmbC.Size = new System.Drawing.Size(181, 39);
this.cmbC.TabIndex = 8; this.cmbC.TabIndex = 8;
// this.cmbC.SelectedIndexChanged += new System.EventHandler(this.cmbCameraCaminho_SelectedIndexChanged);
// cmbS1
//
this.cmbS1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmbS1.FormattingEnabled = true;
this.cmbS1.Location = new System.Drawing.Point(716, 267);
this.cmbS1.Name = "cmbS1";
this.cmbS1.Size = new System.Drawing.Size(270, 39);
this.cmbS1.TabIndex = 9;
// //
// lblComunicacao // lblComunicacao
// //
@ -433,38 +329,31 @@
this.cmbComunicacao.TabIndex = 36; this.cmbComunicacao.TabIndex = 36;
this.cmbComunicacao.SelectedIndexChanged += new System.EventHandler(this.cmbComunicacao_SelectedIndexChanged); this.cmbComunicacao.SelectedIndexChanged += new System.EventHandler(this.cmbComunicacao_SelectedIndexChanged);
// //
// btnCalibrarKinect // btnCalibrarSonar
// //
this.btnCalibrarKinect.Enabled = false; this.btnCalibrarSonar.Enabled = false;
this.btnCalibrarKinect.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); this.btnCalibrarSonar.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.btnCalibrarKinect.Location = new System.Drawing.Point(566, 267); this.btnCalibrarSonar.Location = new System.Drawing.Point(324, 259);
this.btnCalibrarKinect.Name = "btnCalibrarKinect"; this.btnCalibrarSonar.Name = "btnCalibrarSonar";
this.btnCalibrarKinect.Size = new System.Drawing.Size(133, 39); this.btnCalibrarSonar.Size = new System.Drawing.Size(133, 39);
this.btnCalibrarKinect.TabIndex = 37; this.btnCalibrarSonar.TabIndex = 37;
this.btnCalibrarKinect.Text = "CALIBRAR"; this.btnCalibrarSonar.Text = "CALIBRAR";
this.btnCalibrarKinect.UseVisualStyleBackColor = true; this.btnCalibrarSonar.UseVisualStyleBackColor = true;
this.btnCalibrarKinect.Click += new System.EventHandler(this.btnCalibrarKinect_Click); this.btnCalibrarSonar.Click += new System.EventHandler(this.btnCalibrarSonar_Click);
// //
// chbKinect // chbSonarAtivado
// //
this.chbKinect.AutoSize = true; this.chbSonarAtivado.AutoSize = true;
this.chbKinect.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.25F); this.chbSonarAtivado.Checked = true;
this.chbKinect.Location = new System.Drawing.Point(451, 23); this.chbSonarAtivado.CheckState = System.Windows.Forms.CheckState.Checked;
this.chbKinect.Name = "chbKinect"; this.chbSonarAtivado.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.25F);
this.chbKinect.Size = new System.Drawing.Size(165, 24); this.chbSonarAtivado.Location = new System.Drawing.Point(210, 23);
this.chbKinect.TabIndex = 38; this.chbSonarAtivado.Name = "chbSonarAtivado";
this.chbKinect.Text = "SONAR ATIVADO"; this.chbSonarAtivado.Size = new System.Drawing.Size(165, 24);
this.chbKinect.UseVisualStyleBackColor = true; this.chbSonarAtivado.TabIndex = 38;
this.chbKinect.CheckedChanged += new System.EventHandler(this.chbKinect_CheckedChanged); this.chbSonarAtivado.Text = "SONAR ATIVADO";
// this.chbSonarAtivado.UseVisualStyleBackColor = true;
// trkKinect this.chbSonarAtivado.CheckedChanged += new System.EventHandler(this.chbSonarAtivado_CheckedChanged);
//
this.trkKinect.Location = new System.Drawing.Point(654, 53);
this.trkKinect.Name = "trkKinect";
this.trkKinect.Orientation = System.Windows.Forms.Orientation.Vertical;
this.trkKinect.Size = new System.Drawing.Size(45, 200);
this.trkKinect.TabIndex = 39;
this.trkKinect.TickFrequency = 4;
// //
// gpbComunicacao // gpbComunicacao
// //
@ -497,20 +386,14 @@
// //
// gpbCameras // gpbCameras
// //
this.gpbCameras.Controls.Add(this.pnlEsquerda); this.gpbCameras.Controls.Add(this.flwCamerasSolo);
this.gpbCameras.Controls.Add(this.picVoltar); this.gpbCameras.Controls.Add(this.picVoltar);
this.gpbCameras.Controls.Add(this.picSalvar); this.gpbCameras.Controls.Add(this.picSalvar);
this.gpbCameras.Controls.Add(this.chbKinect); this.gpbCameras.Controls.Add(this.chbSonarAtivado);
this.gpbCameras.Controls.Add(this.picAtualizar); this.gpbCameras.Controls.Add(this.picAtualizar);
this.gpbCameras.Controls.Add(this.lblEsquerda); this.gpbCameras.Controls.Add(this.btnCalibrarSonar);
this.gpbCameras.Controls.Add(this.trkKinect); this.gpbCameras.Controls.Add(this.pnlCaminho);
this.gpbCameras.Controls.Add(this.pnlDireita);
this.gpbCameras.Controls.Add(this.btnCalibrarKinect);
this.gpbCameras.Controls.Add(this.lblDireita);
this.gpbCameras.Controls.Add(this.pnlCentro);
this.gpbCameras.Controls.Add(this.cmbS0);
this.gpbCameras.Controls.Add(this.cmbC); this.gpbCameras.Controls.Add(this.cmbC);
this.gpbCameras.Controls.Add(this.cmbS1);
this.gpbCameras.Location = new System.Drawing.Point(12, 12); this.gpbCameras.Location = new System.Drawing.Point(12, 12);
this.gpbCameras.Name = "gpbCameras"; this.gpbCameras.Name = "gpbCameras";
this.gpbCameras.Size = new System.Drawing.Size(1000, 322); this.gpbCameras.Size = new System.Drawing.Size(1000, 322);
@ -518,6 +401,13 @@
this.gpbCameras.TabStop = false; this.gpbCameras.TabStop = false;
this.gpbCameras.Text = "CÂMERAS"; this.gpbCameras.Text = "CÂMERAS";
// //
// flwCamerasSolo
//
this.flwCamerasSolo.Location = new System.Drawing.Point(463, 19);
this.flwCamerasSolo.Name = "flwCamerasSolo";
this.flwCamerasSolo.Size = new System.Drawing.Size(531, 297);
this.flwCamerasSolo.TabIndex = 39;
//
// frmAjustes // frmAjustes
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -534,18 +424,11 @@
this.TopMost = true; this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmAjustes_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmAjustes_FormClosing);
this.Load += new System.EventHandler(this.frmAjustes_Load); this.Load += new System.EventHandler(this.frmAjustes_Load);
this.pnlEsquerda.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picEsquerda)).EndInit();
this.pnlDireita.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picDireita)).EndInit();
this.pnlCentro.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picCentro)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.picVoltar)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picSalvar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.picSalvar)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picLer)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.picLer)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picGravar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.picGravar)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picAtualizar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.picAtualizar)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.trkKinect)).EndInit();
this.gpbComunicacao.ResumeLayout(false); this.gpbComunicacao.ResumeLayout(false);
this.gpbComunicacao.PerformLayout(); this.gpbComunicacao.PerformLayout();
this.gpbCameras.ResumeLayout(false); this.gpbCameras.ResumeLayout(false);
@ -555,15 +438,8 @@
} }
#endregion #endregion
private System.Windows.Forms.Panel pnlCaminho;
private System.Windows.Forms.Panel pnlEsquerda;
private System.Windows.Forms.Label lblEsquerda;
private System.Windows.Forms.Label lblDireita;
private System.Windows.Forms.Panel pnlDireita;
private System.Windows.Forms.Panel pnlCentro;
private System.Windows.Forms.ComboBox cmbS0;
private System.Windows.Forms.ComboBox cmbC; private System.Windows.Forms.ComboBox cmbC;
private System.Windows.Forms.ComboBox cmbS1;
private System.Windows.Forms.Label lblComunicacao; private System.Windows.Forms.Label lblComunicacao;
private System.Windows.Forms.PictureBox picVoltar; private System.Windows.Forms.PictureBox picVoltar;
private System.Windows.Forms.PictureBox picSalvar; private System.Windows.Forms.PictureBox picSalvar;
@ -586,14 +462,11 @@
private System.Windows.Forms.PictureBox picLer; private System.Windows.Forms.PictureBox picLer;
private System.Windows.Forms.PictureBox picGravar; private System.Windows.Forms.PictureBox picGravar;
private System.Windows.Forms.PictureBox picAtualizar; private System.Windows.Forms.PictureBox picAtualizar;
private System.Windows.Forms.PictureBox picEsquerda;
private System.Windows.Forms.PictureBox picDireita;
private System.Windows.Forms.PictureBox picCentro;
private System.Windows.Forms.ComboBox cmbComunicacao; private System.Windows.Forms.ComboBox cmbComunicacao;
private System.Windows.Forms.Button btnCalibrarKinect; private System.Windows.Forms.Button btnCalibrarSonar;
private System.Windows.Forms.CheckBox chbKinect; private System.Windows.Forms.CheckBox chbSonarAtivado;
private System.Windows.Forms.TrackBar trkKinect;
private System.Windows.Forms.GroupBox gpbComunicacao; private System.Windows.Forms.GroupBox gpbComunicacao;
private System.Windows.Forms.GroupBox gpbCameras; private System.Windows.Forms.GroupBox gpbCameras;
private System.Windows.Forms.FlowLayoutPanel flwCamerasSolo;
} }
} }

View File

@ -16,7 +16,7 @@ namespace AgroBase.Forms.IHM
{ {
//LoRaParametrosModel loraParametrosBase; //LoRaParametrosModel loraParametrosBase;
Dictionary<string, string> Cameras = new Dictionary<string, string>(); List<OAKCameraModel> Cameras = new List<OAKCameraModel>();
public frmAjustes() public frmAjustes()
{ {
@ -36,12 +36,17 @@ namespace AgroBase.Forms.IHM
FuncoesGlobais.DefinirEventosPicBtn(picSalvar, "Erro ao salvar parâmetros!", async () => FuncoesGlobais.DefinirEventosPicBtn(picSalvar, "Erro ao salvar parâmetros!", async () =>
{ {
Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Caminho = cmbC.Text; Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Caminho = cmbC.Text;
List<ComboBox> cmbs = new List<ComboBox>();
foreach (Panel pnlCam in flwCamerasSolo.Controls)
{
cmbs.Add(pnlCam.Controls.OfType<ComboBox>().FirstOrDefault());
}
Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo.Clear(); Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo.Clear();
Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo.AddRange(new string[] { cmbS0.Text, cmbS1.Text }); Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo.AddRange(cmbs.Select(x => x.Text).ToArray());
if (KinectService.Iniciado) if (KinectService.Iniciado)
{ {
Variaveis.OperacaoEmAndamento.Controle.SonarAtivado = chbKinect.Checked; Variaveis.OperacaoEmAndamento.Controle.SonarAtivado = chbSonarAtivado.Checked;
KinectService.Parametros.Angulo = trkKinect.Value;
KinectService.SalvarParametros(); KinectService.SalvarParametros();
} }
@ -93,18 +98,16 @@ namespace AgroBase.Forms.IHM
await AtualizarParametros(); await AtualizarParametros();
} }
chbKinect.Enabled = KinectService.Iniciado; chbSonarAtivado.Enabled = KinectService.Iniciado;
trkKinect.Enabled = KinectService.Iniciado;
if (KinectService.Iniciado) if (KinectService.Iniciado)
{ {
chbKinect.Checked = Variaveis.OperacaoEmAndamento.Controle.SonarAtivado; chbSonarAtivado.Checked = Variaveis.OperacaoEmAndamento.Controle.SonarAtivado;
KinectService.AtualizarTrackBar(trkKinect);
} }
} }
private void frmAjustes_FormClosing(object sender, FormClosingEventArgs e) private void frmAjustes_FormClosing(object sender, FormClosingEventArgs e)
{ {
tmrKinect?.Dispose(); Variaveis.OperacaoEmAndamento.AtualizaListaCameras(pnlCaminho, Variaveis.OperacaoEmAndamento.CamerasSolo.Select(x => x.panel).ToList(), false);
} }
#region COMUNICACAO #region COMUNICACAO
@ -191,162 +194,139 @@ namespace AgroBase.Forms.IHM
#region CAMERAS #region CAMERAS
private FilterInfoCollection videoDevices;
private VideoCaptureDevice videoSourceEsquerda;
private VideoCaptureDevice videoSourceDireita;
private AsyncTaskTimerModel tmrKinect;
private void AtualizarCameras() private void AtualizarCameras()
{ {
Variaveis.OperacaoEmAndamento.CamerasSolo[0].combo = cmbS0; flwCamerasSolo.Controls.Clear();
Variaveis.OperacaoEmAndamento.CamerasSolo[1].combo = cmbS1; Cameras = OAKCameraService.GetConnectedCameras();
for (int i = 0; i < Variaveis.OperacaoEmAndamento.QuantidadeCamerasSolo; i++)
cmbC.SelectedIndexChanged -= cmbCentro_SelectedIndexChanged; {
cmbC.SelectedIndexChanged += cmbCentro_SelectedIndexChanged; GerarCameraSolo(i);
cmbS0.SelectedIndexChanged -= cmbCameraSolo_SelectedIndexChanged; }
cmbS0.SelectedIndexChanged += cmbCameraSolo_SelectedIndexChanged;
cmbS1.SelectedIndexChanged -= cmbCameraSolo_SelectedIndexChanged;
cmbS1.SelectedIndexChanged += cmbCameraSolo_SelectedIndexChanged;
Cameras = CameraService.ObterListaCameras();
cmbC.Items.Clear(); cmbC.Items.Clear();
if (KinectService.Iniciado) cmbC.Items.AddRange(Cameras.Select(x => x.Id).ToArray());
var cameraSelecionada = Cameras.FirstOrDefault(x => x.Id == Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Caminho);
if (cameraSelecionada != null)
{ {
cmbC.Items.Add("Sonar Frontal"); cmbC.SelectedIndex = Cameras.IndexOf(cameraSelecionada);
cmbC.SelectedIndex = 0;
} }
var CamerasSolo = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo;
cmbS0.Items.Clear();
cmbS0.Items.AddRange(Cameras.Values.ToArray());
string IDsoloE = CamerasSolo.Count() > 0 ? CamerasSolo[0] : "";
if (Cameras.Any(x => x.Value == IDsoloE))
{
cmbS0.SelectedIndex = cmbS0.Items.IndexOf(IDsoloE);
}
else
{
cmbS0.Text = IDsoloE;
}
cmbS1.Items.Clear();
cmbS1.Items.AddRange(Cameras.Values.ToArray());
string IDsoloD = CamerasSolo.Count() > 1 ? CamerasSolo[1] : "";
if (Cameras.Any(x => x.Value == IDsoloD))
{
cmbS1.SelectedIndex = cmbS1.Items.IndexOf(IDsoloD);
}
else
{
cmbS1.Text = IDsoloD;
}
IniciarCameras();
} }
private void IniciarCameras() private void IniciarCameras()
{ {
Bitmap blackBitmap = new Bitmap(picCentro.Width, picCentro.Height); Variaveis.OperacaoEmAndamento.AtualizaListaCameras(pnlCaminho, Variaveis.OperacaoEmAndamento.CamerasSolo.Select(x => x.panel).ToList(), true);
using (Graphics g = Graphics.FromImage(blackBitmap))
{
g.Clear(Color.Black);
}
if (videoSourceEsquerda != null)
{
videoSourceEsquerda.Stop();
videoSourceEsquerda = null;
picEsquerda.Image = blackBitmap;
}
if (videoSourceDireita != null)
{
videoSourceDireita.Stop();
videoSourceDireita = null;
picDireita.Image = blackBitmap;
}
videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
List<string> CamerasIDs = new List<string>();
foreach (FilterInfo info in videoDevices)
{
CamerasIDs.Add(info.MonikerString.ToLower());
}
string IDcamSoloE = cmbS0.Text; //.ToLower().Replace("\\", "#");
if (!string.IsNullOrEmpty(IDcamSoloE) && CamerasIDs.Any(x => x.Contains(IDcamSoloE)))
{
videoSourceEsquerda = new VideoCaptureDevice(CamerasIDs.First(x => x.Contains(IDcamSoloE)));
videoSourceEsquerda.NewFrame += new NewFrameEventHandler(videoSourceEsquerda_NewFrame);
videoSourceEsquerda.Start();
}
string IDcamSoloD = cmbS1.Text; //.ToLower().Replace("\\", "#");
if (!string.IsNullOrEmpty(IDcamSoloD) && CamerasIDs.Any(x => x.Contains(IDcamSoloD)))
{
videoSourceDireita = new VideoCaptureDevice(CamerasIDs.First(x => x.Contains(IDcamSoloD)));
videoSourceDireita.NewFrame += new NewFrameEventHandler(videoSourceDireita_NewFrame);
videoSourceDireita.Start();
}
}
private async Task tmrKinect_Tick()
{
Bitmap bitmap = (Bitmap)(chbKinect.Checked ? KinectService.bitmapMap : KinectService.bitmapRGB).Clone();
picCentro.Image = bitmap;
}
private void videoSourceCentro_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
picCentro.Image = bitmap;
}
private void videoSourceEsquerda_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
picEsquerda.Image = bitmap;
}
private void videoSourceDireita_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
picDireita.Image = bitmap;
} }
private void cmbCentro_SelectedIndexChanged(object sender, EventArgs e) private void cmbCameraCaminho_SelectedIndexChanged(object sender, EventArgs e)
{ {
tmrKinect?.Dispose(); ComboBox cmb = (ComboBox)sender;
tmrKinect = new AsyncTaskTimerModel("tmrKinect", tmrKinect_Tick, 100, this);
tmrKinect.Start(); CameraCaminhoModel CameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminho;
if (CameraCaminho != null)
{
CameraCaminho.combo = cmb;
CameraCaminho.panel = pnlCaminho;
CameraCaminho.panel.Tag = cmb.Text;
}
if (CameraCaminho.combo.SelectedIndex > 0 && (Variaveis.OperacaoEmAndamento.CamerasSolo.Any(x => x.combo.SelectedIndex == CameraCaminho.combo.SelectedIndex)))
{
MessageBox.Show("Essa câmera já está sendo usada por outro processo!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Warning);
CameraCaminho.combo.SelectedIndex = CameraCaminho.camera.cameraIndex;
return;
}
CameraCaminho.camera.cameraIndex = CameraCaminho.combo.SelectedIndex;
IniciarCameras();
}
private void GerarCameraSolo(int idx)
{
Panel pnlFundo = new Panel()
{
Name = "pnlCamSolo_S" + idx,
Width = 300,
Height = 284
};
Label lblTitulo = new Label()
{
Name = "lblCamSolo_S" + idx,
Text = "PULVERIZADOR - " + (idx + 1).ToString(),
Width = 168,
Height = 20,
Location = new Point(66, 6),
Font = new Font("Microsoft Sans Serif", 12.25f, FontStyle.Regular)
};
Panel pnlCamera = new Panel()
{
Name = "pnlCamSoloFundo_S" + idx,
Width = 286,
Height = 200,
Location = new Point(7, 31),
BackgroundImageLayout = ImageLayout.Stretch,
BackColor = Color.Black,
};
ComboBox cmbCamera = new ComboBox()
{
Name = "cmbCamSolo_S" + idx,
Width = 286,
Height = 39,
Location = new Point(7, 237),
Font = new Font("Microsoft Sans Serif", 20.25f, FontStyle.Regular)
};
cmbCamera.SelectedIndexChanged += cmbCameraSolo_SelectedIndexChanged;
cmbCamera.Items.Clear();
cmbCamera.Items.AddRange(Cameras.Select(x => x.Id).ToArray());
pnlFundo.Controls.Add(lblTitulo);
pnlFundo.Controls.Add(pnlCamera);
pnlFundo.Controls.Add(cmbCamera);
flwCamerasSolo.Controls.Add(pnlFundo);
string cameraSelecionada = Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo.Count() > idx ? Variaveis.OperacaoEmAndamento.DispSen.Dados.CameraID_Solo[idx] : "";
if (Cameras.Any(x => x.Id == cameraSelecionada))
{
cmbCamera.SelectedIndex = cmbCamera.Items.IndexOf(cameraSelecionada);
}
else
{
cmbCamera.Text = cameraSelecionada;
}
} }
private void cmbCameraSolo_SelectedIndexChanged(object sender, EventArgs e) private void cmbCameraSolo_SelectedIndexChanged(object sender, EventArgs e)
{ {
ComboBox cmb = (ComboBox)sender; ComboBox cmb = (ComboBox)sender;
string CamID = cmb.Name.Replace("cmb", ""); string CamID = cmb.Name.Replace("cmbCamSolo_", "");
CameraSoloModel CameraSolo = Variaveis.OperacaoEmAndamento.CamerasSolo.FirstOrDefault(x => x.ID == CamID); CameraSoloModel CameraSolo = Variaveis.OperacaoEmAndamento.CamerasSolo.FirstOrDefault(x => x.ID == CamID);
if (CameraSolo != null)
{
CameraSolo.combo = cmb;
CameraSolo.panel = FuncoesGlobais.FindControlRecursive<Panel>(flwCamerasSolo, "pnlCamSoloFundo_" + CamID);
CameraSolo.panel.Tag = cmb.Text;
}
if (CameraSolo.combo.SelectedIndex > 0 && (cmbC.SelectedIndex == CameraSolo.combo.SelectedIndex || Variaveis.OperacaoEmAndamento.CamerasSolo.Any(x => x.Nome != CameraSolo.Nome && x.combo.SelectedIndex == CameraSolo.combo.SelectedIndex))) if (CameraSolo.combo.SelectedIndex > 0 && (cmbC.SelectedIndex == CameraSolo.combo.SelectedIndex || Variaveis.OperacaoEmAndamento.CamerasSolo.Any(x => x.Nome != CameraSolo.Nome && x.combo.SelectedIndex == CameraSolo.combo.SelectedIndex)))
{ {
MessageBox.Show("Essa câmera já está sendo usada por outro processo!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Warning); MessageBox.Show("Essa câmera já está sendo usada por outro processo!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Warning);
CameraSolo.combo.SelectedIndex = CameraSolo.camera.selectedCamera; CameraSolo.combo.SelectedIndex = CameraSolo.camera.cameraIndex;
return; return;
} }
CameraSolo.camera.selectedCamera = CameraSolo.combo.SelectedIndex; CameraSolo.camera.cameraIndex = CameraSolo.combo.SelectedIndex;
IniciarCameras(); IniciarCameras();
} }
#endregion #endregion
private async void cmbComunicacao_SelectedIndexChanged(object sender, EventArgs e) private async void cmbComunicacao_SelectedIndexChanged(object sender, EventArgs e)
@ -357,14 +337,14 @@ namespace AgroBase.Forms.IHM
} }
} }
private void btnCalibrarKinect_Click(object sender, EventArgs e) private void btnCalibrarSonar_Click(object sender, EventArgs e)
{ {
KinectService.RecalibrarSubdivisoes(); //KinectService.RecalibrarSubdivisoes();
} }
private void chbKinect_CheckedChanged(object sender, EventArgs e) private void chbSonarAtivado_CheckedChanged(object sender, EventArgs e)
{ {
btnCalibrarKinect.Enabled = ((CheckBox)sender).Checked; btnCalibrarSonar.Enabled = ((CheckBox)sender).Checked;
} }

View File

@ -132,9 +132,9 @@ namespace AgroBase.Forms.IHM
{ {
lblUltimaLeituraSolo.Text = "Última Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp); lblUltimaLeituraSolo.Text = "Última Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp);
} }
if (Variaveis.OperacaoEmAndamento.CameraCaminhoKinect != null) if (Variaveis.OperacaoEmAndamento.CameraCaminho != null)
{ {
lblUltimaLeituraCaminho.Text = "Última Leitura Caminho: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.Leitura.timestamp); lblUltimaLeituraCaminho.Text = "Última Leitura Caminho: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminho.Leitura.timestamp);
} }
lblPerformance.Text = _Sensoriamento.DadosPerformance.PerformanceStr; lblPerformance.Text = _Sensoriamento.DadosPerformance.PerformanceStr;

View File

@ -186,7 +186,7 @@ namespace AgroBase.Forms.IHM
CodFalha = Variaveis.OperacaoEmAndamento.RetornaCodigoFalha(); CodFalha = Variaveis.OperacaoEmAndamento.RetornaCodigoFalha();
var Labels = this.Controls.OfType<Label>().Where(y => y.Name.Contains("lblD_")).ToList(); var Labels = this.Controls.OfType<Label>().Where(y => y.Name.Contains("lblD_")).ToList();
var listaCameras = CameraService.ObterListaCameras(); var listaCameras = OAKCameraService.GetConnectedCameras();
Labels.ForEach(lbl => Labels.ForEach(lbl =>
{ {
T_Code Dispositivo = (T_Code)Enum.Parse(typeof(T_Code), lbl.Name.Split('_')[1]); T_Code Dispositivo = (T_Code)Enum.Parse(typeof(T_Code), lbl.Name.Split('_')[1]);
@ -194,12 +194,12 @@ namespace AgroBase.Forms.IHM
if (Dispositivo == T_Code.Cam) if (Dispositivo == T_Code.Cam)
{ {
var CameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect; var CameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminho;
if (CameraCaminho != null && Mod_ID == CameraCaminho.ID) if (CameraCaminho != null && Mod_ID == CameraCaminho.ID)
{ {
lbl.ForeColor = !listaCameras.Any(x => x.Value == CameraCaminho.CameraSelecionada) lbl.ForeColor = !listaCameras.Any(x => x.Id == CameraCaminho.DeviceID)
? Color.DarkRed ? Color.DarkRed
: CameraCaminho.camera.selectedCamera == 0 : CameraCaminho.camera.cameraIndex == 0
? Color.Gold ? Color.Gold
: Color.DarkGreen; : Color.DarkGreen;
} }
@ -208,9 +208,9 @@ namespace AgroBase.Forms.IHM
var CameraSolo = Variaveis.OperacaoEmAndamento.CamerasSolo.FirstOrDefault(x => x.ID == Mod_ID); var CameraSolo = Variaveis.OperacaoEmAndamento.CamerasSolo.FirstOrDefault(x => x.ID == Mod_ID);
if (CameraSolo != null) if (CameraSolo != null)
{ {
lbl.ForeColor = !listaCameras.Any(x => x.Value == CameraSolo.CameraSelecionada) ? lbl.ForeColor = !listaCameras.Any(x => x.Id == CameraSolo.DeviceID) ?
Color.DarkRed : Color.DarkRed :
CameraSolo.camera.selectedCamera == 0 ? CameraSolo.camera.cameraIndex == 0 ?
Color.Gold : Color.Gold :
Color.DarkGreen; Color.DarkGreen;
} }

View File

@ -272,7 +272,7 @@ namespace AgroBase.Forms.Movimentacao
else else
{ {
btnSalvar.Text = "Editar"; btnSalvar.Text = "Editar";
cameraService.selectedCamera = cmbCameras.SelectedIndex; cameraService.cameraIndex = cmbCameras.SelectedIndex;
} }
btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0; btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0;
cmbCameras.Enabled = btnSalvar.Text == "Salvar"; cmbCameras.Enabled = btnSalvar.Text == "Salvar";
@ -305,14 +305,14 @@ namespace AgroBase.Forms.Movimentacao
private void AtualizaListaCameras() private void AtualizaListaCameras()
{ {
cameraService.selectedCamera = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0; cameraService.cameraIndex = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0;
cmbCameras.Items.Clear(); cmbCameras.Items.Clear();
cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray()); cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray());
if (cmbCameras.Items.Count == 1) if (cmbCameras.Items.Count == 1)
{ {
cameraService.selectedCamera = 0; cameraService.cameraIndex = 0;
} }
cmbCameras.SelectedIndex = cameraService.selectedCamera; cmbCameras.SelectedIndex = cameraService.cameraIndex;
} }

View File

@ -32,9 +32,6 @@
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series(); System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmOperacaoManual)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmOperacaoManual));
this.pnlCamerasSolo = new System.Windows.Forms.Panel();
this.pnlCameraSoloE = new System.Windows.Forms.Panel();
this.pnlCameraSoloD = new System.Windows.Forms.Panel();
this.pnlAtuadores = new System.Windows.Forms.Panel(); this.pnlAtuadores = new System.Windows.Forms.Panel();
this.btnIniciarOperacao = new System.Windows.Forms.Button(); this.btnIniciarOperacao = new System.Windows.Forms.Button();
this.chartGraficos = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.chartGraficos = new System.Windows.Forms.DataVisualization.Charting.Chart();
@ -85,7 +82,7 @@
this.cmbTipoMovimento = new System.Windows.Forms.ComboBox(); this.cmbTipoMovimento = new System.Windows.Forms.ComboBox();
this.lblTipoMovimento = new System.Windows.Forms.Label(); this.lblTipoMovimento = new System.Windows.Forms.Label();
this.chbPulverizador = new System.Windows.Forms.CheckBox(); this.chbPulverizador = new System.Windows.Forms.CheckBox();
this.pnlCamerasSolo.SuspendLayout(); this.flwCamerasSolo = new System.Windows.Forms.FlowLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).BeginInit();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabMapa.SuspendLayout(); this.tabMapa.SuspendLayout();
@ -102,33 +99,6 @@
this.pnlDir_DF.SuspendLayout(); this.pnlDir_DF.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// pnlCamerasSolo
//
this.pnlCamerasSolo.BackColor = System.Drawing.Color.White;
this.pnlCamerasSolo.Controls.Add(this.pnlCameraSoloE);
this.pnlCamerasSolo.Controls.Add(this.pnlCameraSoloD);
this.pnlCamerasSolo.Location = new System.Drawing.Point(23, 328);
this.pnlCamerasSolo.Margin = new System.Windows.Forms.Padding(2);
this.pnlCamerasSolo.Name = "pnlCamerasSolo";
this.pnlCamerasSolo.Size = new System.Drawing.Size(588, 184);
this.pnlCamerasSolo.TabIndex = 0;
//
// pnlCameraSoloE
//
this.pnlCameraSoloE.Location = new System.Drawing.Point(2, 2);
this.pnlCameraSoloE.Margin = new System.Windows.Forms.Padding(2);
this.pnlCameraSoloE.Name = "pnlCameraSoloE";
this.pnlCameraSoloE.Size = new System.Drawing.Size(289, 178);
this.pnlCameraSoloE.TabIndex = 24;
//
// pnlCameraSoloD
//
this.pnlCameraSoloD.Location = new System.Drawing.Point(296, 2);
this.pnlCameraSoloD.Margin = new System.Windows.Forms.Padding(2);
this.pnlCameraSoloD.Name = "pnlCameraSoloD";
this.pnlCameraSoloD.Size = new System.Drawing.Size(289, 178);
this.pnlCameraSoloD.TabIndex = 23;
//
// pnlAtuadores // pnlAtuadores
// //
this.pnlAtuadores.BackColor = System.Drawing.Color.White; this.pnlAtuadores.BackColor = System.Drawing.Color.White;
@ -703,12 +673,20 @@
this.chbPulverizador.UseVisualStyleBackColor = true; this.chbPulverizador.UseVisualStyleBackColor = true;
this.chbPulverizador.CheckedChanged += new System.EventHandler(this.chbPulverizador_CheckedChanged); this.chbPulverizador.CheckedChanged += new System.EventHandler(this.chbPulverizador_CheckedChanged);
// //
// flwCamerasSolo
//
this.flwCamerasSolo.Location = new System.Drawing.Point(22, 341);
this.flwCamerasSolo.Name = "flwCamerasSolo";
this.flwCamerasSolo.Size = new System.Drawing.Size(597, 172);
this.flwCamerasSolo.TabIndex = 36;
//
// frmOperacaoManual // frmOperacaoManual
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1243, 649); this.ClientSize = new System.Drawing.Size(1243, 649);
this.Controls.Add(this.flwCamerasSolo);
this.Controls.Add(this.chbPulverizador); this.Controls.Add(this.chbPulverizador);
this.Controls.Add(this.lblTipoMovimento); this.Controls.Add(this.lblTipoMovimento);
this.Controls.Add(this.cmbTipoMovimento); this.Controls.Add(this.cmbTipoMovimento);
@ -728,7 +706,6 @@
this.Controls.Add(this.pnlCameraRua); this.Controls.Add(this.pnlCameraRua);
this.Controls.Add(this.chartGraficos); this.Controls.Add(this.chartGraficos);
this.Controls.Add(this.pnlAtuadores); this.Controls.Add(this.pnlAtuadores);
this.Controls.Add(this.pnlCamerasSolo);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2); this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "frmOperacaoManual"; this.Name = "frmOperacaoManual";
@ -736,7 +713,6 @@
this.Text = "Operação Manual"; this.Text = "Operação Manual";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmOperacaoManual_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmOperacaoManual_FormClosing);
this.Load += new System.EventHandler(this.frmOperacaoManual_Load); this.Load += new System.EventHandler(this.frmOperacaoManual_Load);
this.pnlCamerasSolo.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.chartGraficos)).EndInit();
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabMapa.ResumeLayout(false); this.tabMapa.ResumeLayout(false);
@ -764,8 +740,6 @@
} }
#endregion #endregion
private System.Windows.Forms.Panel pnlCamerasSolo;
private System.Windows.Forms.Panel pnlAtuadores; private System.Windows.Forms.Panel pnlAtuadores;
private System.Windows.Forms.DataVisualization.Charting.Chart chartGraficos; private System.Windows.Forms.DataVisualization.Charting.Chart chartGraficos;
private System.Windows.Forms.Label lblDir_EF; private System.Windows.Forms.Label lblDir_EF;
@ -785,8 +759,6 @@
private System.Windows.Forms.Panel pnlAnguloMagnetometro; private System.Windows.Forms.Panel pnlAnguloMagnetometro;
private System.Windows.Forms.Panel pnlCameraRua; private System.Windows.Forms.Panel pnlCameraRua;
private System.Windows.Forms.Panel pnlDir_EF; private System.Windows.Forms.Panel pnlDir_EF;
private System.Windows.Forms.Panel pnlCameraSoloE;
private System.Windows.Forms.Panel pnlCameraSoloD;
private System.Windows.Forms.Panel pnlDir_ET; private System.Windows.Forms.Panel pnlDir_ET;
private System.Windows.Forms.Panel pnlDir_DT; private System.Windows.Forms.Panel pnlDir_DT;
private System.Windows.Forms.Panel pnlDir_DF; private System.Windows.Forms.Panel pnlDir_DF;
@ -818,5 +790,6 @@
private System.Windows.Forms.Label lblMov_DF; private System.Windows.Forms.Label lblMov_DF;
private System.Windows.Forms.CheckBox chbSonarAtivado; private System.Windows.Forms.CheckBox chbSonarAtivado;
private System.Windows.Forms.CheckBox chbMostrarGrade; private System.Windows.Forms.CheckBox chbMostrarGrade;
private System.Windows.Forms.FlowLayoutPanel flwCamerasSolo;
} }
} }

View File

@ -40,7 +40,20 @@ namespace AgroBase.Forms.Operacoes
cmbTipoMovimento.Items.AddRange(Enum.GetNames(typeof(TipoMovimentoDirecional))); cmbTipoMovimento.Items.AddRange(Enum.GetNames(typeof(TipoMovimentoDirecional)));
cmbTipoMovimento.SelectedIndex = (int)Variaveis.OperacaoEmAndamento.Controle.TipoMovimento; cmbTipoMovimento.SelectedIndex = (int)Variaveis.OperacaoEmAndamento.Controle.TipoMovimento;
Variaveis.OperacaoEmAndamento.AtualizaListaCameras(pnlCameraRua, new List<Panel>() { pnlCameraSoloE, pnlCameraSoloD }, true); flwCamerasSolo.Controls.Clear();
for (int i = 0; i < Variaveis.OperacaoEmAndamento.CamerasSolo.Count(); i++)
{
Panel pnlCam = new Panel()
{
Name = "pnlCamSolo_" + Variaveis.OperacaoEmAndamento.CamerasSolo[i].Nome,
Width = 290,
Height = 166,
BackgroundImageLayout = ImageLayout.Stretch,
};
flwCamerasSolo.Controls.Add(pnlCam);
}
Variaveis.OperacaoEmAndamento.AtualizaListaCameras(pnlCameraRua, flwCamerasSolo.Controls.OfType<Panel>().ToList(), true);
chbPulverizador.Checked = Variaveis.OperacaoEmAndamento.Controle.PulverizadorAutomatico; chbPulverizador.Checked = Variaveis.OperacaoEmAndamento.Controle.PulverizadorAutomatico;
chbMostrarGrade.Checked = KinectService.MostrarGrade; chbMostrarGrade.Checked = KinectService.MostrarGrade;

View File

@ -80,7 +80,7 @@ namespace AgroBase.Forms.Operacoes
lblUltimaLeituraSolo.Text = "Ultima Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp); lblUltimaLeituraSolo.Text = "Ultima Leitura Solo: " + FuncoesGlobais.TimestampToDate(ultimaLeitura.Leitura.timestamp);
} }
lblUltimaLeituraRua.Text = "Ultima Leitura Rua: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.Leitura.timestamp); lblUltimaLeituraRua.Text = "Ultima Leitura Rua: " + FuncoesGlobais.TimestampToDate(Variaveis.OperacaoEmAndamento.CameraCaminho.Leitura.timestamp);
btnCarregarMapa.Enabled = !Variaveis.OperacaoEmAndamento.Iniciado; btnCarregarMapa.Enabled = !Variaveis.OperacaoEmAndamento.Iniciado;
@ -189,7 +189,7 @@ namespace AgroBase.Forms.Operacoes
private void pnlCaminho_Paint(object sender, PaintEventArgs e) private void pnlCaminho_Paint(object sender, PaintEventArgs e)
{ {
var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect; var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminho;
Panel pnlContornos = (Panel)sender; Panel pnlContornos = (Panel)sender;
if (cameraCaminho.Leitura == null) return; if (cameraCaminho.Leitura == null) return;

View File

@ -98,6 +98,22 @@
this.lblAutomatico = new System.Windows.Forms.Label(); this.lblAutomatico = new System.Windows.Forms.Label();
this.pnlAutomatico = new System.Windows.Forms.Panel(); this.pnlAutomatico = new System.Windows.Forms.Panel();
this.tabDirecional = new System.Windows.Forms.TabPage(); this.tabDirecional = new System.Windows.Forms.TabPage();
this.txtDIR_Status_DT = new System.Windows.Forms.TextBox();
this.label126 = new System.Windows.Forms.Label();
this.txtDIR_AgPot_DT = new System.Windows.Forms.TextBox();
this.lblDIR_AgPot_DT = new System.Windows.Forms.Label();
this.txtDIR_Status_ET = new System.Windows.Forms.TextBox();
this.label124 = new System.Windows.Forms.Label();
this.txtDIR_AgPot_ET = new System.Windows.Forms.TextBox();
this.lblDIR_AgPot_ET = new System.Windows.Forms.Label();
this.txtDIR_Status_DF = new System.Windows.Forms.TextBox();
this.label122 = new System.Windows.Forms.Label();
this.txtDIR_AgPot_DF = new System.Windows.Forms.TextBox();
this.lblDIR_AgPot_DF = new System.Windows.Forms.Label();
this.txtDIR_Status_EF = new System.Windows.Forms.TextBox();
this.label78 = new System.Windows.Forms.Label();
this.txtDIR_AgPot_EF = new System.Windows.Forms.TextBox();
this.lblDIR_AgPot_EF = new System.Windows.Forms.Label();
this.txtDIR_Controlar_ET = new System.Windows.Forms.TextBox(); this.txtDIR_Controlar_ET = new System.Windows.Forms.TextBox();
this.label39 = new System.Windows.Forms.Label(); this.label39 = new System.Windows.Forms.Label();
this.txtDIR_Velocidade_ET = new System.Windows.Forms.TextBox(); this.txtDIR_Velocidade_ET = new System.Windows.Forms.TextBox();
@ -290,8 +306,6 @@
this.chbDesenharErvas = new System.Windows.Forms.CheckBox(); this.chbDesenharErvas = new System.Windows.Forms.CheckBox();
this.chartAtuador = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.chartAtuador = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.pnlAtuadores = new System.Windows.Forms.Panel(); this.pnlAtuadores = new System.Windows.Forms.Panel();
this.picCameraSoloD = new System.Windows.Forms.PictureBox();
this.picCameraSoloE = new System.Windows.Forms.PictureBox();
this.tabErvas = new System.Windows.Forms.TabPage(); this.tabErvas = new System.Windows.Forms.TabPage();
this.chartErvas = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.chartErvas = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.tabSensoriamento = new System.Windows.Forms.TabPage(); this.tabSensoriamento = new System.Windows.Forms.TabPage();
@ -443,6 +457,7 @@
this.label36 = new System.Windows.Forms.Label(); this.label36 = new System.Windows.Forms.Label();
this.txtMomento = new System.Windows.Forms.TextBox(); this.txtMomento = new System.Windows.Forms.TextBox();
this.btnPlay = new System.Windows.Forms.Button(); this.btnPlay = new System.Windows.Forms.Button();
this.flwCameras = new System.Windows.Forms.FlowLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.trbMomento)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.trbMomento)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.tabControl4.SuspendLayout(); this.tabControl4.SuspendLayout();
@ -484,8 +499,6 @@
((System.ComponentModel.ISupportInitialize)(this.chartMovGeral)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.chartMovGeral)).BeginInit();
this.tabAtuador.SuspendLayout(); this.tabAtuador.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.chartAtuador)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.chartAtuador)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picCameraSoloD)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picCameraSoloE)).BeginInit();
this.tabErvas.SuspendLayout(); this.tabErvas.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.chartErvas)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.chartErvas)).BeginInit();
this.tabSensoriamento.SuspendLayout(); this.tabSensoriamento.SuspendLayout();
@ -998,6 +1011,22 @@
// //
// tabDirecional // tabDirecional
// //
this.tabDirecional.Controls.Add(this.txtDIR_Status_DT);
this.tabDirecional.Controls.Add(this.label126);
this.tabDirecional.Controls.Add(this.txtDIR_AgPot_DT);
this.tabDirecional.Controls.Add(this.lblDIR_AgPot_DT);
this.tabDirecional.Controls.Add(this.txtDIR_Status_ET);
this.tabDirecional.Controls.Add(this.label124);
this.tabDirecional.Controls.Add(this.txtDIR_AgPot_ET);
this.tabDirecional.Controls.Add(this.lblDIR_AgPot_ET);
this.tabDirecional.Controls.Add(this.txtDIR_Status_DF);
this.tabDirecional.Controls.Add(this.label122);
this.tabDirecional.Controls.Add(this.txtDIR_AgPot_DF);
this.tabDirecional.Controls.Add(this.lblDIR_AgPot_DF);
this.tabDirecional.Controls.Add(this.txtDIR_Status_EF);
this.tabDirecional.Controls.Add(this.label78);
this.tabDirecional.Controls.Add(this.txtDIR_AgPot_EF);
this.tabDirecional.Controls.Add(this.lblDIR_AgPot_EF);
this.tabDirecional.Controls.Add(this.txtDIR_Controlar_ET); this.tabDirecional.Controls.Add(this.txtDIR_Controlar_ET);
this.tabDirecional.Controls.Add(this.label39); this.tabDirecional.Controls.Add(this.label39);
this.tabDirecional.Controls.Add(this.txtDIR_Velocidade_ET); this.tabDirecional.Controls.Add(this.txtDIR_Velocidade_ET);
@ -1063,13 +1092,173 @@
this.tabDirecional.Text = "Direcional"; this.tabDirecional.Text = "Direcional";
this.tabDirecional.UseVisualStyleBackColor = true; this.tabDirecional.UseVisualStyleBackColor = true;
// //
// txtDIR_Status_DT
//
this.txtDIR_Status_DT.Location = new System.Drawing.Point(438, 501);
this.txtDIR_Status_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Status_DT.Name = "txtDIR_Status_DT";
this.txtDIR_Status_DT.ReadOnly = true;
this.txtDIR_Status_DT.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Status_DT.TabIndex = 210;
this.txtDIR_Status_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label126
//
this.label126.AutoSize = true;
this.label126.Location = new System.Drawing.Point(436, 486);
this.label126.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label126.Name = "label126";
this.label126.Size = new System.Drawing.Size(37, 13);
this.label126.TabIndex = 209;
this.label126.Text = "Status";
//
// txtDIR_AgPot_DT
//
this.txtDIR_AgPot_DT.Location = new System.Drawing.Point(438, 466);
this.txtDIR_AgPot_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AgPot_DT.Name = "txtDIR_AgPot_DT";
this.txtDIR_AgPot_DT.ReadOnly = true;
this.txtDIR_AgPot_DT.Size = new System.Drawing.Size(54, 20);
this.txtDIR_AgPot_DT.TabIndex = 208;
this.txtDIR_AgPot_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// lblDIR_AgPot_DT
//
this.lblDIR_AgPot_DT.AutoSize = true;
this.lblDIR_AgPot_DT.Location = new System.Drawing.Point(436, 450);
this.lblDIR_AgPot_DT.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDIR_AgPot_DT.Name = "lblDIR_AgPot_DT";
this.lblDIR_AgPot_DT.Size = new System.Drawing.Size(39, 13);
this.lblDIR_AgPot_DT.TabIndex = 207;
this.lblDIR_AgPot_DT.Text = "Ag Pot";
//
// txtDIR_Status_ET
//
this.txtDIR_Status_ET.Location = new System.Drawing.Point(180, 501);
this.txtDIR_Status_ET.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Status_ET.Name = "txtDIR_Status_ET";
this.txtDIR_Status_ET.ReadOnly = true;
this.txtDIR_Status_ET.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Status_ET.TabIndex = 206;
this.txtDIR_Status_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label124
//
this.label124.AutoSize = true;
this.label124.Location = new System.Drawing.Point(178, 486);
this.label124.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label124.Name = "label124";
this.label124.Size = new System.Drawing.Size(37, 13);
this.label124.TabIndex = 205;
this.label124.Text = "Status";
//
// txtDIR_AgPot_ET
//
this.txtDIR_AgPot_ET.Location = new System.Drawing.Point(180, 466);
this.txtDIR_AgPot_ET.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AgPot_ET.Name = "txtDIR_AgPot_ET";
this.txtDIR_AgPot_ET.ReadOnly = true;
this.txtDIR_AgPot_ET.Size = new System.Drawing.Size(54, 20);
this.txtDIR_AgPot_ET.TabIndex = 204;
this.txtDIR_AgPot_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// lblDIR_AgPot_ET
//
this.lblDIR_AgPot_ET.AutoSize = true;
this.lblDIR_AgPot_ET.Location = new System.Drawing.Point(178, 450);
this.lblDIR_AgPot_ET.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDIR_AgPot_ET.Name = "lblDIR_AgPot_ET";
this.lblDIR_AgPot_ET.Size = new System.Drawing.Size(39, 13);
this.lblDIR_AgPot_ET.TabIndex = 203;
this.lblDIR_AgPot_ET.Text = "Ag Pot";
//
// txtDIR_Status_DF
//
this.txtDIR_Status_DF.Location = new System.Drawing.Point(438, 241);
this.txtDIR_Status_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Status_DF.Name = "txtDIR_Status_DF";
this.txtDIR_Status_DF.ReadOnly = true;
this.txtDIR_Status_DF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Status_DF.TabIndex = 202;
this.txtDIR_Status_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label122
//
this.label122.AutoSize = true;
this.label122.Location = new System.Drawing.Point(436, 226);
this.label122.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label122.Name = "label122";
this.label122.Size = new System.Drawing.Size(37, 13);
this.label122.TabIndex = 201;
this.label122.Text = "Status";
//
// txtDIR_AgPot_DF
//
this.txtDIR_AgPot_DF.Location = new System.Drawing.Point(438, 206);
this.txtDIR_AgPot_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AgPot_DF.Name = "txtDIR_AgPot_DF";
this.txtDIR_AgPot_DF.ReadOnly = true;
this.txtDIR_AgPot_DF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_AgPot_DF.TabIndex = 200;
this.txtDIR_AgPot_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// lblDIR_AgPot_DF
//
this.lblDIR_AgPot_DF.AutoSize = true;
this.lblDIR_AgPot_DF.Location = new System.Drawing.Point(436, 190);
this.lblDIR_AgPot_DF.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDIR_AgPot_DF.Name = "lblDIR_AgPot_DF";
this.lblDIR_AgPot_DF.Size = new System.Drawing.Size(39, 13);
this.lblDIR_AgPot_DF.TabIndex = 199;
this.lblDIR_AgPot_DF.Text = "Ag Pot";
//
// txtDIR_Status_EF
//
this.txtDIR_Status_EF.Location = new System.Drawing.Point(180, 241);
this.txtDIR_Status_EF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Status_EF.Name = "txtDIR_Status_EF";
this.txtDIR_Status_EF.ReadOnly = true;
this.txtDIR_Status_EF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Status_EF.TabIndex = 198;
this.txtDIR_Status_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label78
//
this.label78.AutoSize = true;
this.label78.Location = new System.Drawing.Point(178, 226);
this.label78.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label78.Name = "label78";
this.label78.Size = new System.Drawing.Size(37, 13);
this.label78.TabIndex = 197;
this.label78.Text = "Status";
//
// txtDIR_AgPot_EF
//
this.txtDIR_AgPot_EF.Location = new System.Drawing.Point(180, 206);
this.txtDIR_AgPot_EF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AgPot_EF.Name = "txtDIR_AgPot_EF";
this.txtDIR_AgPot_EF.ReadOnly = true;
this.txtDIR_AgPot_EF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_AgPot_EF.TabIndex = 196;
this.txtDIR_AgPot_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// lblDIR_AgPot_EF
//
this.lblDIR_AgPot_EF.AutoSize = true;
this.lblDIR_AgPot_EF.Location = new System.Drawing.Point(178, 190);
this.lblDIR_AgPot_EF.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblDIR_AgPot_EF.Name = "lblDIR_AgPot_EF";
this.lblDIR_AgPot_EF.Size = new System.Drawing.Size(39, 13);
this.lblDIR_AgPot_EF.TabIndex = 195;
this.lblDIR_AgPot_EF.Text = "Ag Pot";
//
// txtDIR_Controlar_ET // txtDIR_Controlar_ET
// //
this.txtDIR_Controlar_ET.Location = new System.Drawing.Point(122, 501); this.txtDIR_Controlar_ET.Location = new System.Drawing.Point(122, 501);
this.txtDIR_Controlar_ET.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Controlar_ET.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Controlar_ET.Name = "txtDIR_Controlar_ET"; this.txtDIR_Controlar_ET.Name = "txtDIR_Controlar_ET";
this.txtDIR_Controlar_ET.ReadOnly = true; this.txtDIR_Controlar_ET.ReadOnly = true;
this.txtDIR_Controlar_ET.Size = new System.Drawing.Size(41, 20); this.txtDIR_Controlar_ET.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Controlar_ET.TabIndex = 194; this.txtDIR_Controlar_ET.TabIndex = 194;
this.txtDIR_Controlar_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Controlar_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
@ -1089,7 +1278,7 @@
this.txtDIR_Velocidade_ET.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Velocidade_ET.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Velocidade_ET.Name = "txtDIR_Velocidade_ET"; this.txtDIR_Velocidade_ET.Name = "txtDIR_Velocidade_ET";
this.txtDIR_Velocidade_ET.ReadOnly = true; this.txtDIR_Velocidade_ET.ReadOnly = true;
this.txtDIR_Velocidade_ET.Size = new System.Drawing.Size(41, 20); this.txtDIR_Velocidade_ET.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Velocidade_ET.TabIndex = 192; this.txtDIR_Velocidade_ET.TabIndex = 192;
this.txtDIR_Velocidade_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Velocidade_ET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
@ -1185,18 +1374,18 @@
// //
// txtDIR_Controlar_DT // txtDIR_Controlar_DT
// //
this.txtDIR_Controlar_DT.Location = new System.Drawing.Point(452, 501); this.txtDIR_Controlar_DT.Location = new System.Drawing.Point(380, 501);
this.txtDIR_Controlar_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Controlar_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Controlar_DT.Name = "txtDIR_Controlar_DT"; this.txtDIR_Controlar_DT.Name = "txtDIR_Controlar_DT";
this.txtDIR_Controlar_DT.ReadOnly = true; this.txtDIR_Controlar_DT.ReadOnly = true;
this.txtDIR_Controlar_DT.Size = new System.Drawing.Size(41, 20); this.txtDIR_Controlar_DT.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Controlar_DT.TabIndex = 182; this.txtDIR_Controlar_DT.TabIndex = 182;
this.txtDIR_Controlar_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Controlar_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
// label23 // label23
// //
this.label23.AutoSize = true; this.label23.AutoSize = true;
this.label23.Location = new System.Drawing.Point(449, 486); this.label23.Location = new System.Drawing.Point(377, 486);
this.label23.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label23.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label23.Name = "label23"; this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(49, 13); this.label23.Size = new System.Drawing.Size(49, 13);
@ -1205,18 +1394,18 @@
// //
// txtDIR_Velocidade_DT // txtDIR_Velocidade_DT
// //
this.txtDIR_Velocidade_DT.Location = new System.Drawing.Point(452, 466); this.txtDIR_Velocidade_DT.Location = new System.Drawing.Point(380, 466);
this.txtDIR_Velocidade_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Velocidade_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Velocidade_DT.Name = "txtDIR_Velocidade_DT"; this.txtDIR_Velocidade_DT.Name = "txtDIR_Velocidade_DT";
this.txtDIR_Velocidade_DT.ReadOnly = true; this.txtDIR_Velocidade_DT.ReadOnly = true;
this.txtDIR_Velocidade_DT.Size = new System.Drawing.Size(41, 20); this.txtDIR_Velocidade_DT.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Velocidade_DT.TabIndex = 180; this.txtDIR_Velocidade_DT.TabIndex = 180;
this.txtDIR_Velocidade_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Velocidade_DT.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
// label24 // label24
// //
this.label24.AutoSize = true; this.label24.AutoSize = true;
this.label24.Location = new System.Drawing.Point(449, 450); this.label24.Location = new System.Drawing.Point(377, 450);
this.label24.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label24.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label24.Name = "label24"; this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(33, 13); this.label24.Size = new System.Drawing.Size(33, 13);
@ -1225,7 +1414,7 @@
// //
// txtDIR_Sentido_DT // txtDIR_Sentido_DT
// //
this.txtDIR_Sentido_DT.Location = new System.Drawing.Point(394, 501); this.txtDIR_Sentido_DT.Location = new System.Drawing.Point(322, 501);
this.txtDIR_Sentido_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Sentido_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Sentido_DT.Name = "txtDIR_Sentido_DT"; this.txtDIR_Sentido_DT.Name = "txtDIR_Sentido_DT";
this.txtDIR_Sentido_DT.ReadOnly = true; this.txtDIR_Sentido_DT.ReadOnly = true;
@ -1236,7 +1425,7 @@
// label25 // label25
// //
this.label25.AutoSize = true; this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(392, 486); this.label25.Location = new System.Drawing.Point(320, 486);
this.label25.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label25.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label25.Name = "label25"; this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(43, 13); this.label25.Size = new System.Drawing.Size(43, 13);
@ -1245,7 +1434,7 @@
// //
// txtDIR_Angulo_DT // txtDIR_Angulo_DT
// //
this.txtDIR_Angulo_DT.Location = new System.Drawing.Point(336, 501); this.txtDIR_Angulo_DT.Location = new System.Drawing.Point(264, 501);
this.txtDIR_Angulo_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Angulo_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Angulo_DT.Name = "txtDIR_Angulo_DT"; this.txtDIR_Angulo_DT.Name = "txtDIR_Angulo_DT";
this.txtDIR_Angulo_DT.ReadOnly = true; this.txtDIR_Angulo_DT.ReadOnly = true;
@ -1256,7 +1445,7 @@
// label27 // label27
// //
this.label27.AutoSize = true; this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(334, 486); this.label27.Location = new System.Drawing.Point(262, 486);
this.label27.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label27.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label27.Name = "label27"; this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(40, 13); this.label27.Size = new System.Drawing.Size(40, 13);
@ -1265,7 +1454,7 @@
// //
// txtDIR_SentidoSP_DT // txtDIR_SentidoSP_DT
// //
this.txtDIR_SentidoSP_DT.Location = new System.Drawing.Point(394, 466); this.txtDIR_SentidoSP_DT.Location = new System.Drawing.Point(322, 466);
this.txtDIR_SentidoSP_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_SentidoSP_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_SentidoSP_DT.Name = "txtDIR_SentidoSP_DT"; this.txtDIR_SentidoSP_DT.Name = "txtDIR_SentidoSP_DT";
this.txtDIR_SentidoSP_DT.ReadOnly = true; this.txtDIR_SentidoSP_DT.ReadOnly = true;
@ -1276,7 +1465,7 @@
// label32 // label32
// //
this.label32.AutoSize = true; this.label32.AutoSize = true;
this.label32.Location = new System.Drawing.Point(392, 450); this.label32.Location = new System.Drawing.Point(320, 450);
this.label32.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label32.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label32.Name = "label32"; this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(60, 13); this.label32.Size = new System.Drawing.Size(60, 13);
@ -1285,7 +1474,7 @@
// //
// txtDIR_AnguloSP_DT // txtDIR_AnguloSP_DT
// //
this.txtDIR_AnguloSP_DT.Location = new System.Drawing.Point(336, 466); this.txtDIR_AnguloSP_DT.Location = new System.Drawing.Point(264, 466);
this.txtDIR_AnguloSP_DT.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_AnguloSP_DT.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AnguloSP_DT.Name = "txtDIR_AnguloSP_DT"; this.txtDIR_AnguloSP_DT.Name = "txtDIR_AnguloSP_DT";
this.txtDIR_AnguloSP_DT.ReadOnly = true; this.txtDIR_AnguloSP_DT.ReadOnly = true;
@ -1296,7 +1485,7 @@
// label33 // label33
// //
this.label33.AutoSize = true; this.label33.AutoSize = true;
this.label33.Location = new System.Drawing.Point(334, 450); this.label33.Location = new System.Drawing.Point(262, 450);
this.label33.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label33.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label33.Name = "label33"; this.label33.Name = "label33";
this.label33.Size = new System.Drawing.Size(57, 13); this.label33.Size = new System.Drawing.Size(57, 13);
@ -1305,18 +1494,18 @@
// //
// txtDIR_Controlar_DF // txtDIR_Controlar_DF
// //
this.txtDIR_Controlar_DF.Location = new System.Drawing.Point(452, 241); this.txtDIR_Controlar_DF.Location = new System.Drawing.Point(380, 241);
this.txtDIR_Controlar_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Controlar_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Controlar_DF.Name = "txtDIR_Controlar_DF"; this.txtDIR_Controlar_DF.Name = "txtDIR_Controlar_DF";
this.txtDIR_Controlar_DF.ReadOnly = true; this.txtDIR_Controlar_DF.ReadOnly = true;
this.txtDIR_Controlar_DF.Size = new System.Drawing.Size(41, 20); this.txtDIR_Controlar_DF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Controlar_DF.TabIndex = 170; this.txtDIR_Controlar_DF.TabIndex = 170;
this.txtDIR_Controlar_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Controlar_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
// label16 // label16
// //
this.label16.AutoSize = true; this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(449, 226); this.label16.Location = new System.Drawing.Point(377, 226);
this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label16.Name = "label16"; this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(49, 13); this.label16.Size = new System.Drawing.Size(49, 13);
@ -1325,18 +1514,18 @@
// //
// txtDIR_Velocidade_DF // txtDIR_Velocidade_DF
// //
this.txtDIR_Velocidade_DF.Location = new System.Drawing.Point(452, 206); this.txtDIR_Velocidade_DF.Location = new System.Drawing.Point(380, 206);
this.txtDIR_Velocidade_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Velocidade_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Velocidade_DF.Name = "txtDIR_Velocidade_DF"; this.txtDIR_Velocidade_DF.Name = "txtDIR_Velocidade_DF";
this.txtDIR_Velocidade_DF.ReadOnly = true; this.txtDIR_Velocidade_DF.ReadOnly = true;
this.txtDIR_Velocidade_DF.Size = new System.Drawing.Size(41, 20); this.txtDIR_Velocidade_DF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Velocidade_DF.TabIndex = 168; this.txtDIR_Velocidade_DF.TabIndex = 168;
this.txtDIR_Velocidade_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Velocidade_DF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
// label17 // label17
// //
this.label17.AutoSize = true; this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(449, 190); this.label17.Location = new System.Drawing.Point(377, 190);
this.label17.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label17.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label17.Name = "label17"; this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(33, 13); this.label17.Size = new System.Drawing.Size(33, 13);
@ -1345,7 +1534,7 @@
// //
// txtDIR_Sentido_DF // txtDIR_Sentido_DF
// //
this.txtDIR_Sentido_DF.Location = new System.Drawing.Point(394, 241); this.txtDIR_Sentido_DF.Location = new System.Drawing.Point(322, 241);
this.txtDIR_Sentido_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Sentido_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Sentido_DF.Name = "txtDIR_Sentido_DF"; this.txtDIR_Sentido_DF.Name = "txtDIR_Sentido_DF";
this.txtDIR_Sentido_DF.ReadOnly = true; this.txtDIR_Sentido_DF.ReadOnly = true;
@ -1356,7 +1545,7 @@
// label18 // label18
// //
this.label18.AutoSize = true; this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(392, 226); this.label18.Location = new System.Drawing.Point(320, 226);
this.label18.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label18.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label18.Name = "label18"; this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(43, 13); this.label18.Size = new System.Drawing.Size(43, 13);
@ -1365,7 +1554,7 @@
// //
// txtDIR_Angulo_DF // txtDIR_Angulo_DF
// //
this.txtDIR_Angulo_DF.Location = new System.Drawing.Point(336, 241); this.txtDIR_Angulo_DF.Location = new System.Drawing.Point(264, 241);
this.txtDIR_Angulo_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Angulo_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Angulo_DF.Name = "txtDIR_Angulo_DF"; this.txtDIR_Angulo_DF.Name = "txtDIR_Angulo_DF";
this.txtDIR_Angulo_DF.ReadOnly = true; this.txtDIR_Angulo_DF.ReadOnly = true;
@ -1376,7 +1565,7 @@
// label20 // label20
// //
this.label20.AutoSize = true; this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(334, 226); this.label20.Location = new System.Drawing.Point(262, 226);
this.label20.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label20.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label20.Name = "label20"; this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(40, 13); this.label20.Size = new System.Drawing.Size(40, 13);
@ -1385,7 +1574,7 @@
// //
// txtDIR_SentidoSP_DF // txtDIR_SentidoSP_DF
// //
this.txtDIR_SentidoSP_DF.Location = new System.Drawing.Point(394, 206); this.txtDIR_SentidoSP_DF.Location = new System.Drawing.Point(322, 206);
this.txtDIR_SentidoSP_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_SentidoSP_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_SentidoSP_DF.Name = "txtDIR_SentidoSP_DF"; this.txtDIR_SentidoSP_DF.Name = "txtDIR_SentidoSP_DF";
this.txtDIR_SentidoSP_DF.ReadOnly = true; this.txtDIR_SentidoSP_DF.ReadOnly = true;
@ -1396,7 +1585,7 @@
// label21 // label21
// //
this.label21.AutoSize = true; this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(392, 190); this.label21.Location = new System.Drawing.Point(320, 190);
this.label21.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label21.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label21.Name = "label21"; this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(60, 13); this.label21.Size = new System.Drawing.Size(60, 13);
@ -1405,7 +1594,7 @@
// //
// txtDIR_AnguloSP_DF // txtDIR_AnguloSP_DF
// //
this.txtDIR_AnguloSP_DF.Location = new System.Drawing.Point(336, 206); this.txtDIR_AnguloSP_DF.Location = new System.Drawing.Point(264, 206);
this.txtDIR_AnguloSP_DF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_AnguloSP_DF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_AnguloSP_DF.Name = "txtDIR_AnguloSP_DF"; this.txtDIR_AnguloSP_DF.Name = "txtDIR_AnguloSP_DF";
this.txtDIR_AnguloSP_DF.ReadOnly = true; this.txtDIR_AnguloSP_DF.ReadOnly = true;
@ -1416,7 +1605,7 @@
// label22 // label22
// //
this.label22.AutoSize = true; this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(334, 190); this.label22.Location = new System.Drawing.Point(262, 190);
this.label22.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label22.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label22.Name = "label22"; this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(57, 13); this.label22.Size = new System.Drawing.Size(57, 13);
@ -1429,7 +1618,7 @@
this.txtDIR_Controlar_EF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Controlar_EF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Controlar_EF.Name = "txtDIR_Controlar_EF"; this.txtDIR_Controlar_EF.Name = "txtDIR_Controlar_EF";
this.txtDIR_Controlar_EF.ReadOnly = true; this.txtDIR_Controlar_EF.ReadOnly = true;
this.txtDIR_Controlar_EF.Size = new System.Drawing.Size(41, 20); this.txtDIR_Controlar_EF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Controlar_EF.TabIndex = 158; this.txtDIR_Controlar_EF.TabIndex = 158;
this.txtDIR_Controlar_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Controlar_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
@ -1449,7 +1638,7 @@
this.txtDIR_Velocidade_EF.Margin = new System.Windows.Forms.Padding(2); this.txtDIR_Velocidade_EF.Margin = new System.Windows.Forms.Padding(2);
this.txtDIR_Velocidade_EF.Name = "txtDIR_Velocidade_EF"; this.txtDIR_Velocidade_EF.Name = "txtDIR_Velocidade_EF";
this.txtDIR_Velocidade_EF.ReadOnly = true; this.txtDIR_Velocidade_EF.ReadOnly = true;
this.txtDIR_Velocidade_EF.Size = new System.Drawing.Size(41, 20); this.txtDIR_Velocidade_EF.Size = new System.Drawing.Size(54, 20);
this.txtDIR_Velocidade_EF.TabIndex = 156; this.txtDIR_Velocidade_EF.TabIndex = 156;
this.txtDIR_Velocidade_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.txtDIR_Velocidade_EF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// //
@ -1476,7 +1665,7 @@
// picDIR_DT // picDIR_DT
// //
this.picDIR_DT.Image = global::AgroBase.Properties.Resources.roda_superior; this.picDIR_DT.Image = global::AgroBase.Properties.Resources.roda_superior;
this.picDIR_DT.Location = new System.Drawing.Point(336, 276); this.picDIR_DT.Location = new System.Drawing.Point(298, 275);
this.picDIR_DT.Margin = new System.Windows.Forms.Padding(2); this.picDIR_DT.Margin = new System.Windows.Forms.Padding(2);
this.picDIR_DT.Name = "picDIR_DT"; this.picDIR_DT.Name = "picDIR_DT";
this.picDIR_DT.Size = new System.Drawing.Size(158, 171); this.picDIR_DT.Size = new System.Drawing.Size(158, 171);
@ -1497,7 +1686,7 @@
// picDIR_DF // picDIR_DF
// //
this.picDIR_DF.Image = global::AgroBase.Properties.Resources.roda_superior; this.picDIR_DF.Image = global::AgroBase.Properties.Resources.roda_superior;
this.picDIR_DF.Location = new System.Drawing.Point(336, 18); this.picDIR_DF.Location = new System.Drawing.Point(298, 18);
this.picDIR_DF.Margin = new System.Windows.Forms.Padding(2); this.picDIR_DF.Margin = new System.Windows.Forms.Padding(2);
this.picDIR_DF.Name = "picDIR_DF"; this.picDIR_DF.Name = "picDIR_DF";
this.picDIR_DF.Size = new System.Drawing.Size(158, 171); this.picDIR_DF.Size = new System.Drawing.Size(158, 171);
@ -1558,7 +1747,7 @@
// picDIR_ET // picDIR_ET
// //
this.picDIR_ET.Image = global::AgroBase.Properties.Resources.roda_superior; this.picDIR_ET.Image = global::AgroBase.Properties.Resources.roda_superior;
this.picDIR_ET.Location = new System.Drawing.Point(4, 276); this.picDIR_ET.Location = new System.Drawing.Point(43, 275);
this.picDIR_ET.Margin = new System.Windows.Forms.Padding(2); this.picDIR_ET.Margin = new System.Windows.Forms.Padding(2);
this.picDIR_ET.Name = "picDIR_ET"; this.picDIR_ET.Name = "picDIR_ET";
this.picDIR_ET.Size = new System.Drawing.Size(158, 171); this.picDIR_ET.Size = new System.Drawing.Size(158, 171);
@ -1619,7 +1808,7 @@
// picDIR_EF // picDIR_EF
// //
this.picDIR_EF.Image = global::AgroBase.Properties.Resources.roda_superior; this.picDIR_EF.Image = global::AgroBase.Properties.Resources.roda_superior;
this.picDIR_EF.Location = new System.Drawing.Point(4, 18); this.picDIR_EF.Location = new System.Drawing.Point(43, 18);
this.picDIR_EF.Margin = new System.Windows.Forms.Padding(2); this.picDIR_EF.Margin = new System.Windows.Forms.Padding(2);
this.picDIR_EF.Name = "picDIR_EF"; this.picDIR_EF.Name = "picDIR_EF";
this.picDIR_EF.Size = new System.Drawing.Size(158, 171); this.picDIR_EF.Size = new System.Drawing.Size(158, 171);
@ -3129,13 +3318,12 @@
// //
// tabAtuador // tabAtuador
// //
this.tabAtuador.Controls.Add(this.flwCameras);
this.tabAtuador.Controls.Add(this.lblATU_LatenciaLoop); this.tabAtuador.Controls.Add(this.lblATU_LatenciaLoop);
this.tabAtuador.Controls.Add(this.lblATU_QualidadeWifi); this.tabAtuador.Controls.Add(this.lblATU_QualidadeWifi);
this.tabAtuador.Controls.Add(this.chbDesenharErvas); this.tabAtuador.Controls.Add(this.chbDesenharErvas);
this.tabAtuador.Controls.Add(this.chartAtuador); this.tabAtuador.Controls.Add(this.chartAtuador);
this.tabAtuador.Controls.Add(this.pnlAtuadores); this.tabAtuador.Controls.Add(this.pnlAtuadores);
this.tabAtuador.Controls.Add(this.picCameraSoloD);
this.tabAtuador.Controls.Add(this.picCameraSoloE);
this.tabAtuador.Location = new System.Drawing.Point(4, 22); this.tabAtuador.Location = new System.Drawing.Point(4, 22);
this.tabAtuador.Margin = new System.Windows.Forms.Padding(2); this.tabAtuador.Margin = new System.Windows.Forms.Padding(2);
this.tabAtuador.Name = "tabAtuador"; this.tabAtuador.Name = "tabAtuador";
@ -3201,26 +3389,6 @@
this.pnlAtuadores.TabIndex = 3; this.pnlAtuadores.TabIndex = 3;
this.pnlAtuadores.Paint += new System.Windows.Forms.PaintEventHandler(this.pnlAtuadores_Paint); this.pnlAtuadores.Paint += new System.Windows.Forms.PaintEventHandler(this.pnlAtuadores_Paint);
// //
// picCameraSoloD
//
this.picCameraSoloD.Location = new System.Drawing.Point(252, 18);
this.picCameraSoloD.Margin = new System.Windows.Forms.Padding(2);
this.picCameraSoloD.Name = "picCameraSoloD";
this.picCameraSoloD.Size = new System.Drawing.Size(242, 171);
this.picCameraSoloD.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.picCameraSoloD.TabIndex = 2;
this.picCameraSoloD.TabStop = false;
//
// picCameraSoloE
//
this.picCameraSoloE.Location = new System.Drawing.Point(4, 18);
this.picCameraSoloE.Margin = new System.Windows.Forms.Padding(2);
this.picCameraSoloE.Name = "picCameraSoloE";
this.picCameraSoloE.Size = new System.Drawing.Size(242, 171);
this.picCameraSoloE.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.picCameraSoloE.TabIndex = 1;
this.picCameraSoloE.TabStop = false;
//
// tabErvas // tabErvas
// //
this.tabErvas.Controls.Add(this.chartErvas); this.tabErvas.Controls.Add(this.chartErvas);
@ -4854,6 +5022,13 @@
this.btnPlay.UseVisualStyleBackColor = true; this.btnPlay.UseVisualStyleBackColor = true;
this.btnPlay.Click += new System.EventHandler(this.btnPlay_Click); this.btnPlay.Click += new System.EventHandler(this.btnPlay_Click);
// //
// flwCameras
//
this.flwCameras.Location = new System.Drawing.Point(4, 18);
this.flwCameras.Name = "flwCameras";
this.flwCameras.Size = new System.Drawing.Size(489, 170);
this.flwCameras.TabIndex = 97;
//
// frmResultadosOperacao // frmResultadosOperacao
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -4934,8 +5109,6 @@
this.tabAtuador.ResumeLayout(false); this.tabAtuador.ResumeLayout(false);
this.tabAtuador.PerformLayout(); this.tabAtuador.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.chartAtuador)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.chartAtuador)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picCameraSoloD)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picCameraSoloE)).EndInit();
this.tabErvas.ResumeLayout(false); this.tabErvas.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.chartErvas)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.chartErvas)).EndInit();
this.tabSensoriamento.ResumeLayout(false); this.tabSensoriamento.ResumeLayout(false);
@ -5030,8 +5203,6 @@
private System.Windows.Forms.Label label31; private System.Windows.Forms.Label label31;
private System.Windows.Forms.TextBox txtMOV_Sentido_EF; private System.Windows.Forms.TextBox txtMOV_Sentido_EF;
private System.Windows.Forms.Panel panel6; private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.PictureBox picCameraSoloD;
private System.Windows.Forms.PictureBox picCameraSoloE;
private System.Windows.Forms.PictureBox picCameraCaminho; private System.Windows.Forms.PictureBox picCameraCaminho;
private System.Windows.Forms.Panel pnlAtuadores; private System.Windows.Forms.Panel pnlAtuadores;
private System.Windows.Forms.Label label35; private System.Windows.Forms.Label label35;
@ -5366,5 +5537,22 @@
private System.Windows.Forms.Label label71; private System.Windows.Forms.Label label71;
private System.Windows.Forms.ComboBox cmbMOV_Alimentacao_Filtro; private System.Windows.Forms.ComboBox cmbMOV_Alimentacao_Filtro;
private System.Windows.Forms.Label label72; private System.Windows.Forms.Label label72;
private System.Windows.Forms.TextBox txtDIR_Status_DF;
private System.Windows.Forms.Label label122;
private System.Windows.Forms.TextBox txtDIR_AgPot_DF;
private System.Windows.Forms.Label lblDIR_AgPot_DF;
private System.Windows.Forms.TextBox txtDIR_Status_EF;
private System.Windows.Forms.Label label78;
private System.Windows.Forms.TextBox txtDIR_AgPot_EF;
private System.Windows.Forms.Label lblDIR_AgPot_EF;
private System.Windows.Forms.TextBox txtDIR_Status_DT;
private System.Windows.Forms.Label label126;
private System.Windows.Forms.TextBox txtDIR_AgPot_DT;
private System.Windows.Forms.Label lblDIR_AgPot_DT;
private System.Windows.Forms.TextBox txtDIR_Status_ET;
private System.Windows.Forms.Label label124;
private System.Windows.Forms.TextBox txtDIR_AgPot_ET;
private System.Windows.Forms.Label lblDIR_AgPot_ET;
private System.Windows.Forms.FlowLayoutPanel flwCameras;
} }
} }

View File

@ -27,14 +27,14 @@ namespace AgroBase.Forms.Operacoes
List<WitSensoriamentoLogModel> LogsWt901C = new List<WitSensoriamentoLogModel>(); List<WitSensoriamentoLogModel> LogsWt901C = new List<WitSensoriamentoLogModel>();
List<UltrasonicA05Model> LogsA05 = new List<UltrasonicA05Model>(); List<UltrasonicA05Model> LogsA05 = new List<UltrasonicA05Model>();
List<KinectModel> LogsKinect = new List<KinectModel>(); List<KinectModel> LogsKinect = new List<KinectModel>();
List<CamSoloSensoriamentoLogModel> LogsCam_Solo_E = new List<CamSoloSensoriamentoLogModel>(); List<List<CamSoloSensoriamentoLogModel>> LogsCam_Solo = new List<List<CamSoloSensoriamentoLogModel>>();
List<CamSoloSensoriamentoLogModel> LogsCam_Solo_D = new List<CamSoloSensoriamentoLogModel>(); List<string> pathImagensSolo = new List<string>();
List<PictureBox> picsCamSolo = new List<PictureBox>();
List<CamCaminhoSensoriamentoLogModel> LogsCam_Caminho = new List<CamCaminhoSensoriamentoLogModel>(); List<CamCaminhoSensoriamentoLogModel> LogsCam_Caminho = new List<CamCaminhoSensoriamentoLogModel>();
string pathImagensCaminho = ""; string pathImagensCaminho = "";
string pathImagensSonarRGB = ""; string pathImagensSonarRGB = "";
string pathImagensMapaCalor = ""; string pathImagensMapaCalor = "";
string pathImagensSoloE = "";
string pathImagensSoloD = "";
DateTime MomentoAtual = DateTime.Now; DateTime MomentoAtual = DateTime.Now;
AsyncTaskTimerModel tmrPlay; AsyncTaskTimerModel tmrPlay;
MapasModel Mapa = new MapasModel(); MapasModel Mapa = new MapasModel();
@ -137,14 +137,29 @@ namespace AgroBase.Forms.Operacoes
LogsWt901C = JsonConvert.DeserializeObject<WitSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.wit ?? Enums.T_Code.Wit.ToString())).ToList(); LogsWt901C = JsonConvert.DeserializeObject<WitSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.wit ?? Enums.T_Code.Wit.ToString())).ToList();
LogsA05 = JsonConvert.DeserializeObject<UltrasonicA05Model[]>(DeserializarDadosOperacao(ofd.FileName, data.a05 ?? Enums.T_Code.A05.ToString())).ToList(); LogsA05 = JsonConvert.DeserializeObject<UltrasonicA05Model[]>(DeserializarDadosOperacao(ofd.FileName, data.a05 ?? Enums.T_Code.A05.ToString())).ToList();
LogsKinect = JsonConvert.DeserializeObject<KinectModel[]>(DeserializarDadosOperacao(ofd.FileName, data.knt ?? Enums.T_Code.Knt.ToString())).ToList(); LogsKinect = JsonConvert.DeserializeObject<KinectModel[]>(DeserializarDadosOperacao(ofd.FileName, data.knt ?? Enums.T_Code.Knt.ToString())).ToList();
LogsCam_Solo_E = JsonConvert.DeserializeObject<CamSoloSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.soloE)).ToList(); LogsCam_Caminho = JsonConvert.DeserializeObject<CamCaminhoSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.cam_caminho)).ToList();
LogsCam_Solo_D = JsonConvert.DeserializeObject<CamSoloSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.soloD)).ToList();
LogsCam_Caminho = JsonConvert.DeserializeObject<CamCaminhoSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, data.caminho)).ToList();
pathImagensSonarRGB = ofd.FileName.Replace("data.lgop", data.knt + "/rgb_"); pathImagensSonarRGB = ofd.FileName.Replace("data.lgop", data.knt + "/rgb_");
pathImagensMapaCalor = ofd.FileName.Replace("data.lgop", data.knt + "/heat_"); pathImagensMapaCalor = ofd.FileName.Replace("data.lgop", data.knt + "/heat_");
pathImagensCaminho = ofd.FileName.Replace("data.lgop", data.caminho + "/"); pathImagensCaminho = ofd.FileName.Replace("data.lgop", data.cam_caminho + "/");
pathImagensSoloE = ofd.FileName.Replace("data.lgop", data.soloE + "/");
pathImagensSoloD = ofd.FileName.Replace("data.lgop", data.soloD + "/"); LogsCam_Solo = new List<List<CamSoloSensoriamentoLogModel>>();
pathImagensSolo = new List<string>();
picsCamSolo = new List<PictureBox>();
flwCameras.Controls.Clear();
foreach (string cam in data.cam_solo)
{
LogsCam_Solo.Add(JsonConvert.DeserializeObject<CamSoloSensoriamentoLogModel[]>(DeserializarDadosOperacao(ofd.FileName, cam)).ToList());
pathImagensSolo.Add(ofd.FileName.Replace("data.lgop", cam + "/"));
PictureBox pic = new PictureBox()
{
Name = "picCamSolo_" + cam,
Width = 250,
Height = 166,
SizeMode = PictureBoxSizeMode.StretchImage
};
flwCameras.Controls.Add(pic);
picsCamSolo.Add(pic);
}
Mapa = new MapasModel() Mapa = new MapasModel()
{ {
@ -927,34 +942,22 @@ namespace AgroBase.Forms.Operacoes
picCameraCaminho.Image = CarregarImagemCamera(pathImagensCaminho); picCameraCaminho.Image = CarregarImagemCamera(pathImagensCaminho);
AtualizarInformacoesCameraCaminho(); AtualizarInformacoesCameraCaminho();
Bitmap bitmapSoloE = CarregarImagemCamera(pathImagensSoloE); for (int i = 0; i < LogsCam_Solo.Count(); i++)
{
Bitmap bitmapSolo = CarregarImagemCamera(pathImagensSolo[i]);
if (chbDesenharErvas.Checked) if (chbDesenharErvas.Checked)
{ {
var LogCamSoloE = LogsCam_Solo_E.FirstOrDefault(x => x.Momento == MomentoAtual); var LogCamSolo = LogsCam_Solo[i].FirstOrDefault(x => x.Momento == MomentoAtual);
if (LogCamSoloE != null) if (LogCamSolo != null)
{ {
bitmapSoloE = DesenharDeteccoesErvas(LogCamSoloE.Leitura, bitmapSoloE); bitmapSolo = DesenharDeteccoesErvas(LogCamSolo.Leitura, bitmapSolo);
picCameraSoloE.Image = bitmapSoloE; picsCamSolo[i].Image = bitmapSolo;
} }
} }
else else
{ {
picCameraSoloE.Image = bitmapSoloE; picsCamSolo[i].Image = bitmapSolo;
} }
Bitmap bitmapSoloD = CarregarImagemCamera(pathImagensSoloD);
if (chbDesenharErvas.Checked)
{
var LogCamSoloD = LogsCam_Solo_D.FirstOrDefault(x => x.Momento == MomentoAtual);
if (LogCamSoloD != null)
{
bitmapSoloD = DesenharDeteccoesErvas(LogCamSoloD.Leitura, bitmapSoloD);
picCameraSoloD.Image = bitmapSoloD;
}
}
else
{
picCameraSoloD.Image = bitmapSoloD;
} }
} }
@ -1008,6 +1011,8 @@ namespace AgroBase.Forms.Operacoes
private void AtualizarInformacoesMotorDirecional(string ID) private void AtualizarInformacoesMotorDirecional(string ID)
{ {
var Log = LogsDirecional.Where(x => x.Modulo_ID == ID).FirstOrDefault(x => x.Momento == MomentoAtual); var Log = LogsDirecional.Where(x => x.Modulo_ID == ID).FirstOrDefault(x => x.Momento == MomentoAtual);
var LogSen = LogsSensoriamento.FirstOrDefault(x => x.Momento == MomentoAtual);
var SensorPot = LogSen?.SensoresPotenciometro?.FirstOrDefault(x => x.ID.Contains(ID));
double Angulo = Log?.Angulo ?? 0; double Angulo = Log?.Angulo ?? 0;
double Multiplicador = 1; double Multiplicador = 1;
@ -1036,6 +1041,12 @@ namespace AgroBase.Forms.Operacoes
txtVelocidade.Text = (Log?.Velocidade ?? 0).ToString(); txtVelocidade.Text = (Log?.Velocidade ?? 0).ToString();
TextBox txtControlar = FuncoesGlobais.FindControlRecursive<TextBox>(tabDirecional, "txtDIR_Controlar_" + ID); TextBox txtControlar = FuncoesGlobais.FindControlRecursive<TextBox>(tabDirecional, "txtDIR_Controlar_" + ID);
txtControlar.Text = (Log?.Controlar ?? false) ? "Sim" : "Não"; txtControlar.Text = (Log?.Controlar ?? false) ? "Sim" : "Não";
TextBox txtStatus = FuncoesGlobais.FindControlRecursive<TextBox>(tabDirecional, "txtDIR_Status_" + ID);
txtStatus.Text = (SensorPot?.Status ?? Enums.StatusSensorPotenciometro.Indefinido).ToString();
TextBox txtAgPot = FuncoesGlobais.FindControlRecursive<TextBox>(tabDirecional, "txtDIR_AgPot_" + ID);
txtAgPot.Text = (SensorPot?.Angulo ?? -1).ToString("0.00");
Label lblAgPot = FuncoesGlobais.FindControlRecursive<Label>(tabDirecional, "lblDIR_AgPot_" + ID);
lblAgPot.ForeColor = (SensorPot?.Iniciado ?? false) ? Color.Green : Color.Red;
} }
private void AtualizarInformacoesMovimentacao() private void AtualizarInformacoesMovimentacao()

View File

@ -63,7 +63,7 @@ namespace AgroBase.Forms.Sensoriamento
else else
{ {
btnSalvar.Text = "Editar"; btnSalvar.Text = "Editar";
cameraService.selectedCamera = cmbCameras.SelectedIndex; cameraService.cameraIndex = cmbCameras.SelectedIndex;
} }
btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0; btnIniciar.Enabled = btnSalvar.Text == "Editar" && cmbCameras.SelectedIndex > 0;
cmbCameras.Enabled = btnSalvar.Text == "Salvar"; cmbCameras.Enabled = btnSalvar.Text == "Salvar";
@ -96,14 +96,14 @@ namespace AgroBase.Forms.Sensoriamento
private void AtualizaListaCameras() private void AtualizaListaCameras()
{ {
cameraService.selectedCamera = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0; cameraService.cameraIndex = cmbCameras.SelectedIndex > 0 ? cmbCameras.SelectedIndex : 0;
cmbCameras.Items.Clear(); cmbCameras.Items.Clear();
cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray()); cmbCameras.Items.AddRange(CameraService.ObterListaCameras().Keys.ToArray());
if (cmbCameras.Items.Count == 1) if (cmbCameras.Items.Count == 1)
{ {
cameraService.selectedCamera = 0; cameraService.cameraIndex = 0;
} }
cmbCameras.SelectedIndex = cameraService.selectedCamera; cmbCameras.SelectedIndex = cameraService.cameraIndex;
} }
private void ListarObjetosDetectados() private void ListarObjetosDetectados()

View File

@ -29,7 +29,7 @@ namespace AgroBase.Models
public int MaxLeituras { get; set; } public int MaxLeituras { get; set; }
public string VideoPorta { get; set; } public string VideoPorta { get; set; }
public string VideoUrl { get; set; } public string VideoUrl { get; set; }
public string CameraSelecionada { get; set; } public string DeviceID { get; set; }
public Dictionary<string, Color> ClassMap = new Dictionary<string, Color>() public Dictionary<string, Color> ClassMap = new Dictionary<string, Color>()
{ {

View File

@ -52,7 +52,7 @@ namespace AgroBase.Models
public string VideoPorta { get; set; } public string VideoPorta { get; set; }
public string VideoUrl { get; set; } public string VideoUrl { get; set; }
public string MqttTopico { get; set; } = "weed_detector"; public string MqttTopico { get; set; } = "weed_detector";
public string CameraSelecionada { get; set; } public string DeviceID { get; set; }
public CameraCoordenadasFrameModel Leitura { get; set; } = new CameraCoordenadasFrameModel(); public CameraCoordenadasFrameModel Leitura { get; set; } = new CameraCoordenadasFrameModel();
public int ErvasNoRadar { get; set; } public int ErvasNoRadar { get; set; }

View File

@ -234,6 +234,7 @@ namespace AgroBase.Models
Script_MapFollow = 12, Script_MapFollow = 12,
Script_GpsViewer = 13, Script_GpsViewer = 13,
ArquivoModelo3D = 14, ArquivoModelo3D = 14,
ScriptListOAKCaneras = 15,
} }
public enum TipoConexao public enum TipoConexao

View File

@ -1398,8 +1398,8 @@ namespace AgroBase.Models.Modules
_iniciado = value; _iniciado = value;
} }
} }
private int _leitura; private double _leitura;
public int Leitura public double Leitura
{ {
get { return _leitura; } get { return _leitura; }
set set
@ -1447,13 +1447,20 @@ namespace AgroBase.Models.Modules
if (Sensor != null && Sensor.Parametros.Count > 0 && Sensor.Parametros[0].Length > 1) if (Sensor != null && Sensor.Parametros.Count > 0 && Sensor.Parametros[0].Length > 1)
{ {
if (double.TryParse(Sensor.Parametros[0][1].Replace(".", ","), out double fatorCalibracao)) if (double.TryParse(Sensor.Parametros[0][1].Replace(".", ","), out double fatorCalibracao))
{
if (_leitura == 0)
{
_atual = -1;
}
else
{ {
double temperaturaAtual = FuncoesMatematicas.CalcularTemperatura(_leitura, fatorCalibracao); double temperaturaAtual = FuncoesMatematicas.CalcularTemperatura(_leitura, fatorCalibracao);
_atual = filtroKalman.Filtrar(temperaturaAtual); _atual = Math.Round(filtroKalman.Filtrar(temperaturaAtual), 2);
AtualizarExtremos(); AtualizarExtremos();
} }
}
else else
{ {
Console.WriteLine($"Erro ao converter o parâmetro de calibração para o sensor {ID}"); Console.WriteLine($"Erro ao converter o parâmetro de calibração para o sensor {ID}");

View File

@ -0,0 +1,10 @@
namespace AgroBase.Models
{
public class OAKCameraModel
{
public int Index { get; set; }
public string Id { get; set; }
public string Model { get; set; }
public string Usb_Speed { get; set; }
}
}

View File

@ -265,7 +265,7 @@ namespace AgroBase.Models
public double CapacidadeReservatorio { get; set; } = 30; public double CapacidadeReservatorio { get; set; } = 30;
public int QuantidadeCamerasSolo { get; set; } = 1; public int QuantidadeCamerasSolo { get; set; } = 1;
public List<CameraSoloModel> CamerasSolo { get; set; } = new List<CameraSoloModel>(); public List<CameraSoloModel> CamerasSolo { get; set; } = new List<CameraSoloModel>();
public CameraCaminhoModel CameraCaminhoKinect { get; set; } public CameraCaminhoModel CameraCaminho { get; set; }
public int TempoIniciarOperacao { get; set; } = 25; public int TempoIniciarOperacao { get; set; } = 25;
public string ID { get; set; } public string ID { get; set; }
public double tmrLogsInterval public double tmrLogsInterval
@ -287,7 +287,7 @@ namespace AgroBase.Models
#region PARAMETRIZACAO #region PARAMETRIZACAO
public bool SalvarParametrizacaoOperacao(string descricao, string capacidade, string pressao, string duracao, string percentual, string angulo, string velocidadeMp, int velocidadeServasPercent, int velocidadeCervasPercent, UltrasonicA05Configuracoes ConfigUltrassom, bool sonarAtivado) public bool SalvarParametrizacaoOperacao(string descricao, string capacidade, string pressao, string duracao, string percentual, string angulo, string velocidadeMp, int velocidadeServasPercent, int velocidadeCervasPercent, UltrasonicA05Configuracoes ConfigUltrassom, bool sonarAtivado, int qtdCamerasSolo)
{ {
if (string.IsNullOrEmpty(descricao)) if (string.IsNullOrEmpty(descricao))
{ {
@ -317,7 +317,8 @@ namespace AgroBase.Models
ModulosMandatorios = Variaveis.OperacaoEmAndamento.ModulosMandatorios, ModulosMandatorios = Variaveis.OperacaoEmAndamento.ModulosMandatorios,
Mapa = Variaveis.OperacaoEmAndamento.Mapa, Mapa = Variaveis.OperacaoEmAndamento.Mapa,
ConfiguracaoUltrassom = ConfigUltrassom, ConfiguracaoUltrassom = ConfigUltrassom,
SonarAtivado = sonarAtivado SonarAtivado = sonarAtivado,
QtdCamerasSolo = qtdCamerasSolo
}; };
Parametros.Mapa.lblMapa = null; Parametros.Mapa.lblMapa = null;
Parametros.Mapa.pnlMapa = null; Parametros.Mapa.pnlMapa = null;
@ -381,6 +382,7 @@ namespace AgroBase.Models
SegmentacaoSemantica = Parametros.Modo == ModoOperacao.MapaGPS, SegmentacaoSemantica = Parametros.Modo == ModoOperacao.MapaGPS,
}; };
Variaveis.OperacaoEmAndamento.QuantidadeCamerasSolo = Parametros.QtdCamerasSolo;
Variaveis.OperacaoEmAndamento.ModulosMandatorios = Parametros.ModulosMandatorios.ToList(); Variaveis.OperacaoEmAndamento.ModulosMandatorios = Parametros.ModulosMandatorios.ToList();
Variaveis.OperacaoEmAndamento.CapacidadeReservatorio = Parametros.AtuCapacidadeReservatorio; Variaveis.OperacaoEmAndamento.CapacidadeReservatorio = Parametros.AtuCapacidadeReservatorio;
Variaveis.OperacaoEmAndamento.Controle = controle; Variaveis.OperacaoEmAndamento.Controle = controle;
@ -435,6 +437,7 @@ namespace AgroBase.Models
DispSen = SenConectado, DispSen = SenConectado,
DispMvd = MvdConectado, DispMvd = MvdConectado,
Sensoriamento = new OperacaoSensoriamentoLogModel(), Sensoriamento = new OperacaoSensoriamentoLogModel(),
QuantidadeCamerasSolo = 1,
}; };
@ -982,21 +985,30 @@ namespace AgroBase.Models
return; return;
} }
var listaCameras = CameraService.ObterListaCameras().Values.ToArray(); //var listaCameras = CameraService.ObterListaCameras().Values.ToArray();
var listaCameras = OAKCameraService.GetConnectedCameras();
CamerasSolo.ForEach(cam => cam.DesligarCamera());
CamerasSolo.Clear(); CamerasSolo.Clear();
for (int i = 0; i < QuantidadeCamerasSolo; i++) for (int i = 0; i < QuantidadeCamerasSolo; i++)
{ {
string CamNome = "Cam_Solo_" + i.ToString(); string CamNome = "Cam_Solo_" + i.ToString();
string deviceId =
pnlCameraSolo.Count() > i && pnlCameraSolo[i].Tag != null && !string.IsNullOrEmpty(pnlCameraSolo[i].Tag.ToString()) ? pnlCameraSolo[i].Tag.ToString() :
DispSen.Dados.CameraID_Solo.Count > i ? DispSen.Dados.CameraID_Solo[i] :
null;
CameraSoloModel CameraSolo = new CameraSoloModel() CameraSoloModel CameraSolo = new CameraSoloModel()
{ {
ID = "S" + i.ToString(), ID = "S" + i.ToString(),
Nome = CamNome, Nome = CamNome,
DeviceID = deviceId,
Posicao = CamerasSolo.Count(), Posicao = CamerasSolo.Count(),
ArquivoLeitura = "ervas_" + CamNome + ".json", ArquivoLeitura = "ervas_" + CamNome + ".json",
browser = null, browser = null,
camera = new CameraService(), camera = new CameraService(),
CameraSelecionada = DispSen.Dados.CameraID_Solo.Count > i ? DispSen.Dados.CameraID_Solo[i] : null,
combo = new ComboBox(), combo = new ComboBox(),
MaxLeituras = 1, MaxLeituras = 1,
VideoPorta = (VariaveisPortas.CameraSolo + CamerasSolo.Count()).ToString(), VideoPorta = (VariaveisPortas.CameraSolo + CamerasSolo.Count()).ToString(),
@ -1004,18 +1016,24 @@ namespace AgroBase.Models
MqttTopico = "green_objects_" + CamNome, MqttTopico = "green_objects_" + CamNome,
}; };
CamerasSolo.Add(CameraSolo); CamerasSolo.Add(CameraSolo);
CameraSolo.camera.selectedCamera = true ? 1 : 0; //CameraSolo.camera.selectedCamera = true ? 1 : 0;
if (CameraSolo.camera.selectedCamera > 0 && Iniciar) CameraSolo.camera.cameraIndex = listaCameras.FirstOrDefault(x => x.Id == CameraSolo.DeviceID)?.Index ?? -1;
if (CameraSolo.camera.cameraIndex > -1 && Iniciar)
{ {
CameraSolo.panel = pnlCameraSolo[i]; CameraSolo.panel = pnlCameraSolo[i];
IniciarCameraSolo(CameraSolo); IniciarCameraSolo(CameraSolo);
} }
} }
string deviceIdCaminho =
pnlCameraCaminho != null && pnlCameraCaminho.Tag != null && !string.IsNullOrEmpty(pnlCameraCaminho.Tag.ToString()) ? pnlCameraCaminho.Tag.ToString() :
DispSen.Dados.CameraID_Caminho;
var cameraCaminho = new CameraCaminhoModel() var cameraCaminho = new CameraCaminhoModel()
{ {
ID = "C", ID = "C",
Nome = "Cam_Caminho", Nome = "Cam_Caminho",
DeviceID = deviceIdCaminho,
ArquivoLeitura = "leitura_ruas.json", ArquivoLeitura = "leitura_ruas.json",
browser = null, browser = null,
camera = new CameraService(), camera = new CameraService(),
@ -1026,12 +1044,13 @@ namespace AgroBase.Models
Leitura = new CameraDeepLabV3PlusModel(), Leitura = new CameraDeepLabV3PlusModel(),
PontosExtremos = new List<System.Drawing.Point>() PontosExtremos = new List<System.Drawing.Point>()
}; };
CameraCaminhoKinect = cameraCaminho; CameraCaminho = cameraCaminho;
CameraCaminhoKinect.camera.selectedCamera = KinectService.Iniciado ? 1 : 0; //CameraCaminhoKinect.camera.selectedCamera = KinectService.Iniciado ? 1 : 0;
if (CameraCaminhoKinect.camera.selectedCamera > 0 && Iniciar && Variaveis.OperacaoEmAndamento.Controle.SegmentacaoSemantica) CameraCaminho.camera.cameraIndex = listaCameras.FirstOrDefault(x => x.Id == CameraCaminho.DeviceID)?.Index ?? -1;
if (CameraCaminho.camera.cameraIndex > -1 && Iniciar && Variaveis.OperacaoEmAndamento.Controle.SegmentacaoSemantica)
{ {
CameraCaminhoKinect.panel = pnlCameraCaminho; CameraCaminho.panel = pnlCameraCaminho;
IniciarCameraCaminho(CameraCaminhoKinect); IniciarCameraCaminho(CameraCaminho);
} }
} }
@ -1039,7 +1058,7 @@ namespace AgroBase.Models
{ {
DesligarCameraSolo(CameraSolo); DesligarCameraSolo(CameraSolo);
if (CameraSolo.camera.selectedCamera > 0) if (CameraSolo.camera.cameraIndex > -1)
{ {
VersaoArquivoModel ArquivoVersao = VersionamentoService.ArquivoModeloWeedDetector; VersaoArquivoModel ArquivoVersao = VersionamentoService.ArquivoModeloWeedDetector;
@ -1097,7 +1116,7 @@ namespace AgroBase.Models
{ {
DesligarCameraCaminho(cameraCaminho); DesligarCameraCaminho(cameraCaminho);
if (cameraCaminho.camera.selectedCamera > 0) if (cameraCaminho.camera.cameraIndex > -1)
{ {
cameraCaminho.InicializarCamera(); cameraCaminho.InicializarCamera();
@ -1134,8 +1153,8 @@ namespace AgroBase.Models
{ {
try try
{ {
Bitmap bitmap = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.ExtraiImagemDaMensagem(Mensagem.Mensagem); Bitmap bitmap = Variaveis.OperacaoEmAndamento.CameraCaminho.ExtraiImagemDaMensagem(Mensagem.Mensagem);
await Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.AtualizarBitmapTela(bitmap); await Variaveis.OperacaoEmAndamento.CameraCaminho.AtualizarBitmapTela(bitmap);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -1158,7 +1177,7 @@ namespace AgroBase.Models
{ {
Camera.DesligarCamera(); Camera.DesligarCamera();
}); });
Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.DesligarCamera(); Variaveis.OperacaoEmAndamento.CameraCaminho.DesligarCamera();
} }
#endregion #endregion
@ -1542,7 +1561,7 @@ namespace AgroBase.Models
{ {
try try
{ {
var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect; var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminho;
if (cameraCaminho == null || !cameraCaminho.Iniciada) if (cameraCaminho == null || !cameraCaminho.Iniciada)
{ {
@ -1794,6 +1813,8 @@ namespace AgroBase.Models
} }
public void SalvarLogs(bool Fim) public void SalvarLogs(bool Fim)
{
try
{ {
if (!string.IsNullOrEmpty(Variaveis.OperacaoEmAndamento.ID)) if (!string.IsNullOrEmpty(Variaveis.OperacaoEmAndamento.ID))
{ {
@ -1897,6 +1918,7 @@ namespace AgroBase.Models
SensoresTemperatura = new List<FirmwareSensorTemperatura>(senLeitura.SensoresTemperatura), SensoresTemperatura = new List<FirmwareSensorTemperatura>(senLeitura.SensoresTemperatura),
ServoFreios = new List<FirmwareServoFreio>(senLeitura.ServoFreios), ServoFreios = new List<FirmwareServoFreio>(senLeitura.ServoFreios),
Sinaleiros = new List<FirmwareSinaleiro>(senLeitura.Sinaleiros), Sinaleiros = new List<FirmwareSinaleiro>(senLeitura.Sinaleiros),
SensoresPotenciometro = new List<FirmwareSensorPotenciometro>(senLeitura.SensoresPotenciometro),
UltimoComandoRespondido = senLeitura.Momento, UltimoComandoRespondido = senLeitura.Momento,
}; };
SalvarLog(T_Code.Sen.ToString(), logSen, false); SalvarLog(T_Code.Sen.ToString(), logSen, false);
@ -1971,9 +1993,8 @@ namespace AgroBase.Models
wit = T_Code.Wit.ToString(), wit = T_Code.Wit.ToString(),
a05 = T_Code.A05.ToString(), a05 = T_Code.A05.ToString(),
knt = T_Code.Knt.ToString(), knt = T_Code.Knt.ToString(),
caminho = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect.Nome, cam_caminho = Variaveis.OperacaoEmAndamento.CameraCaminho.Nome,
soloE = Variaveis.OperacaoEmAndamento.CamerasSolo.FirstOrDefault()?.Nome ?? "solo0", cam_solo = Variaveis.OperacaoEmAndamento.CamerasSolo.Select( x=> x.Nome).ToList(),
soloD = Variaveis.OperacaoEmAndamento.CamerasSolo.Skip(1)?.FirstOrDefault()?.Nome ?? "solo1"
}; };
File.WriteAllText(ArquivoOp, JsonConvert.SerializeObject(data)); File.WriteAllText(ArquivoOp, JsonConvert.SerializeObject(data));
} }
@ -1988,6 +2009,11 @@ namespace AgroBase.Models
} }
} }
catch (Exception ex)
{
Console.WriteLine("Erro ao salvar log: " + ex.Message);
}
}
private void SalvarLog<T>(string Arquivo, T Objeto, bool Fim) private void SalvarLog<T>(string Arquivo, T Objeto, bool Fim)
{ {
@ -2012,7 +2038,7 @@ namespace AgroBase.Models
private async Task SalvarLogCameras(DateTime Agora) private async Task SalvarLogCameras(DateTime Agora)
{ {
var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminhoKinect; var cameraCaminho = Variaveis.OperacaoEmAndamento.CameraCaminho;
var Cameras = Variaveis.OperacaoEmAndamento.CamerasSolo.Select(x => new var Cameras = Variaveis.OperacaoEmAndamento.CamerasSolo.Select(x => new
{ {
@ -2881,9 +2907,8 @@ namespace AgroBase.Models
public string wit { get; set; } public string wit { get; set; }
public string knt { get; set; } public string knt { get; set; }
public string a05 { get; set; } public string a05 { get; set; }
public string caminho { get; set; } public string cam_caminho { get; set; }
public string soloE { get; set; } public List<string> cam_solo { get; set; }
public string soloD { get; set; }
} }
public class OperacaoSensoriamentoLogModel public class OperacaoSensoriamentoLogModel

View File

@ -19,5 +19,6 @@ namespace AgroBase.Models.Operacoes
public MapasModel Mapa { get; set; } public MapasModel Mapa { get; set; }
public UltrasonicA05Configuracoes ConfiguracaoUltrassom { get; set; } public UltrasonicA05Configuracoes ConfiguracaoUltrassom { get; set; }
public bool SonarAtivado { get; set; } public bool SonarAtivado { get; set; }
public int QtdCamerasSolo { get; set; }
} }
} }

View File

@ -21,7 +21,7 @@ namespace AgroBase.Services
private string Endereco = "localhost"; private string Endereco = "localhost";
public string ArquivoLeitura = "leitura.json"; public string ArquivoLeitura = "leitura.json";
public int selectedCamera = 0; public int cameraIndex = 0;
private double conf_threshold = 0.5; private double conf_threshold = 0.5;
private double nms_threshold = 0.4; private double nms_threshold = 0.4;
public string URLcamera = ""; public string URLcamera = "";
@ -40,7 +40,9 @@ namespace AgroBase.Services
URLcamera = "http://" + Endereco + ":" + FlaskPorta + "/" + FlaskUrl + URLcamera = "http://" + Endereco + ":" + FlaskPorta + "/" + FlaskUrl +
"?conf_threshold=" + conf_threshold.ToString().Replace(",", ".") + "?conf_threshold=" + conf_threshold.ToString().Replace(",", ".") +
"&nms_threshold=" + nms_threshold.ToString().Replace(",", ".") + "&nms_threshold=" + nms_threshold.ToString().Replace(",", ".") +
"&camera_index=" + (selectedCamera - 1); "&camera_index=" + cameraIndex;
Console.WriteLine(URLcamera);
}); });
} }

View File

@ -0,0 +1,48 @@
using AgroBase.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
namespace AgroBase.Services
{
public class OAKCameraService
{
public static List<OAKCameraModel> GetConnectedCameras()
{
var cameras = new List<OAKCameraModel>()
{
new OAKCameraModel()
{
Id = "Sem video",
Index = -1,
Model = "",
Usb_Speed = ""
}
};
try
{
string output = PythonService.RunScriptWithCallback(PythonService.ScriptListOAK, new string[] { });
if (string.IsNullOrWhiteSpace(output))
{
Console.WriteLine("Nenhuma saída do script Python.");
return cameras;
}
// Converte o JSON para uma lista de objetos OakCamera
List<OAKCameraModel> _cameras = JsonConvert.DeserializeObject<OAKCameraModel[]>(output).ToList();
cameras.AddRange(_cameras);
return cameras;
}
catch (Exception ex)
{
Console.WriteLine($"Erro ao executar script Python: {ex.Message}");
return cameras;
}
}
}
}

View File

@ -56,6 +56,14 @@ namespace AgroBase.Services
return VersionamentoService.ArquivoScript(Enums.TipoArquivoVersionado.Script_GpsViewer).NomeArquivoLocal; return VersionamentoService.ArquivoScript(Enums.TipoArquivoVersionado.Script_GpsViewer).NomeArquivoLocal;
} }
} }
public static string ScriptListOAK
{
get
{
return VersionamentoService.ArquivoScript(Enums.TipoArquivoVersionado.ScriptListOAKCaneras).NomeArquivoLocal;
}
}
private static List<Process> processosIniciados = new List<Process>(); private static List<Process> processosIniciados = new List<Process>();
@ -121,6 +129,41 @@ namespace AgroBase.Services
return true; return true;
} }
public static string RunScriptWithCallback(string Script, string[] Argumentos)
{
try
{
string ScriptPath = CaminhoGeral + CaminhoScripts + Script;
string Args = string.Join(" ", Argumentos.Select(arg => $"\"{arg.Replace("\\", "/")}\""));
Process pythonProcess = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "python",
Arguments = $"{ScriptPath} {Args}",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
Verb = Variaveis.NomeAplicacao
}
};
pythonProcess.Start();
string output = pythonProcess.StandardOutput.ReadToEnd();
pythonProcess.WaitForExit();
return output;
}
catch (Exception ex)
{
Console.WriteLine($"Erro ao iniciar script Python: {ex.Message}");
return null;
}
}
private static void PythonProcess_ErrorDataReceived(object sender, DataReceivedEventArgs e) private static void PythonProcess_ErrorDataReceived(object sender, DataReceivedEventArgs e)
{ {
if (!string.IsNullOrWhiteSpace(e.Data)) if (!string.IsNullOrWhiteSpace(e.Data))

View File

@ -310,3 +310,5 @@
29/01/2025 10:31:26:832 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed. 29/01/2025 10:31:26:832 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed.
29/01/2025 14:06:11:484 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed. 29/01/2025 14:06:11:484 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed.
29/01/2025 14:28:23:051 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed. 29/01/2025 14:28:23:051 - Porta COM20 - 0: Erro ao processar fila de comandos. Erro=The port is closed.
19/02/2025 16:02:07:001 - Porta COM - 0: Erro ao processar fila de comandos. Erro=The port is closed.
19/02/2025 16:05:23:105 - Porta COM77 - 0: Erro ao processar fila de comandos. Erro=The port is closed.

View File

@ -20282,3 +20282,887 @@ Parameter name: source
14/02/2025 16:17:40:530 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1 14/02/2025 16:17:40:530 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
14/02/2025 16:18:04:814 - Endereço 222 (192.168.105.11): Dados inválidos recebidos: [FB-DE-26-F5-22-F4-20-E6] 14/02/2025 16:18:04:814 - Endereço 222 (192.168.105.11): Dados inválidos recebidos: [FB-DE-26-F5-22-F4-20-E6]
14/02/2025 16:18:04:815 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1 14/02/2025 16:18:04:815 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:13:15:369 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:13:15:370 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:13:20:346 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:13:20:346 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:13:25:436 - Endereço 99 (192.168.105.11): Dados inválidos recebidos: [FB-63-6A-7F-00-00-00-30]
19/02/2025 13:13:25:437 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:13:35:474 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:13:35:475 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:13:35:478 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:13:35:478 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:13:50:521 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [FB-F5-9A-1F-FF]
19/02/2025 13:13:50:522 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:00:621 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:00:621 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:05:605 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:05:606 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:10:688 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:10:688 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:15:740 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:15:741 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:20:736 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:20:736 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:20:768 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:14:25:730 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:25:730 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:25:744 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:14:30:727 - Endereço 145 (192.168.105.11): Dados inválidos recebidos: [FB-91-FF-EA]
19/02/2025 13:14:30:728 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:35:732 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:14:35:733 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:35:741 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:35:742 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:40:735 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:40:736 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:45:776 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:14:45:776 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:45:780 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:45:781 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:45:786 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:45:787 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:45:790 - Endereço 64 (192.168.105.11): Dados inválidos recebidos: [0F-40]
19/02/2025 13:14:45:790 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:45:801 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:45:802 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:50:851 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:50:852 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:14:55:829 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:55:829 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:14:55:832 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:14:55:833 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:15:00:840 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:15:00:841 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:15:05:855 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:15:05:856 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:15:10:959 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [50-FF]
19/02/2025 13:15:10:960 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:15:15:915 - Endereço 130 (192.168.105.11): Dados inválidos recebidos: [FB-82-BF-AF-BF]
19/02/2025 13:15:15:916 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:15:20:973 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [BF-A0-9F-F5]
19/02/2025 13:15:20:974 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:15:25:949 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:15:31:041 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:15:31:041 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:15:36:001 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:15:36:001 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:15:51:110 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:15:51:111 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:15:56:190 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
19/02/2025 13:15:56:190 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:01:146 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:01:146 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:06:220 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:06:220 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:16:11:221 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:11:221 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:11:249 - Endereço 4 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:16:16:236 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:16:237 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:21:223 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:16:21:224 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:16:26:308 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:26:309 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:16:31:295 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:31:296 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:41:423 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:41:424 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:16:51:484 - Endereço 86 (192.168.105.11): Dados inválidos recebidos: [FB-56-D3-FD-FF]
19/02/2025 13:16:51:484 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:16:56:429 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:56:429 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:16:56:433 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:16:56:433 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:17:01:509 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:17:01:509 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:17:01:525 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:17:11:533 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:17:11:535 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:17:16:563 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:17:16:563 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:17:21:523 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [50-FF]
19/02/2025 13:17:21:523 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:17:26:589 - Endereço 127 (192.168.105.11): Dados inválidos recebidos: [FB-7F-BF-FB-40]
19/02/2025 13:17:26:589 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:17:31:549 - Endereço 110 (192.168.105.11): Dados inválidos recebidos: [FB-6E-BD-0A-F5]
19/02/2025 13:17:31:549 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:17:41:613 - Endereço 162 (192.168.105.11): Dados inválidos recebidos: [FB-A2-BF-A0-9F-F7-82-FE]
19/02/2025 13:17:41:614 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:17:46:683 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:17:46:683 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:17:56:714 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:17:56:714 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:01:700 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [FF-FF]
19/02/2025 13:18:01:700 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:01:705 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:01:705 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:01:708 - Endereço 0 (192.168.105.11): Dados inválidos recebidos: [33-00-00-00-00]
19/02/2025 13:18:01:709 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:18:01:716 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:01:716 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:11:797 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
19/02/2025 13:18:11:798 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:16:853 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:16:853 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:21:831 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:21:832 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:18:26:885 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:18:31:896 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:31:896 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:18:46:990 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:18:46:991 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:18:57:020 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:18:57:022 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:19:02:016 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:02:017 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:02:023 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:02:023 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:02:029 - Endereço 64 (192.168.105.11): Dados inválidos recebidos: [0F-40]
19/02/2025 13:19:02:029 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:19:02:040 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:02:040 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:12:157 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:12:158 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:17:131 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:17:131 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:27:184 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:19:27:184 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:19:32:281 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:32:281 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:37:259 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:19:37:259 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:19:37:266 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:37:267 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:19:54:339 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:19:54:339 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:20:01:323 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:01:324 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:20:01:327 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:01:328 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:20:06:375 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:06:376 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:20:11:418 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:11:419 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:20:16:401 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:16:403 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:20:21:489 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [7D-A0-FF]
19/02/2025 13:20:21:489 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:20:41:547 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:41:548 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:20:51:615 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:20:51:615 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:20:56:621 - Endereço 55 (192.168.105.11): Dados inválidos recebidos: [FB-37-7D-50-1F-00-30]
19/02/2025 13:20:56:621 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:21:01:711 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:01:712 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:21:08:644 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:08:644 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:21:08:660 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:08:661 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:21:15:684 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:21:15:684 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:21:20:753 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:20:754 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:21:25:765 - Endereço 63 (192.168.105.11): Dados inválidos recebidos: [FB-3F-F5-D3-FD]
19/02/2025 13:21:25:766 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:21:30:852 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:30:853 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:21:40:949 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:21:45:918 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:21:45:918 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:21:50:984 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [BF-A0-9F-F5]
19/02/2025 13:21:50:986 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:21:55:956 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:21:55:956 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:01:046 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:22:01:046 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:22:11:069 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:22:11:069 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:16:110 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:22:16:111 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:21:066 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [BF-A0-9F-F5]
19/02/2025 13:22:21:066 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:26:157 - Endereço 218 (192.168.105.11): Dados inválidos recebidos: [FB-DA-27-F5-22-F5-20-FE]
19/02/2025 13:22:26:158 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:36:202 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:22:36:203 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:46:302 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:22:46:302 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:22:56:341 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:23:01:333 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:23:01:333 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:23:01:345 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:23:01:345 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:23:16:429 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:23:16:430 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:23:21:413 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:23:21:414 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:23:21:425 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:23:26:508 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:23:31:484 - Endereço 178 (192.168.105.11): Dados inválidos recebidos: [FB-B2-BF-A0-9F-F7-C1]
19/02/2025 13:23:31:484 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:23:41:555 - Endereço 19 (192.168.105.11): Dados inválidos recebidos: [FF-13-BF-EA]
19/02/2025 13:23:41:555 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:01:646 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:24:06:644 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:06:644 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:06:647 - Endereço 48 (192.168.105.11): Dados inválidos recebidos: [00-30]
19/02/2025 13:24:06:647 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:11:679 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:11:679 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:16:799 - Endereço 210 (192.168.105.11): Dados inválidos recebidos: [FB-D2-50-9F-50-1F-30]
19/02/2025 13:24:16:799 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:24:21:807 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:21:807 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:41:891 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:41:892 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:51:876 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:51:877 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:51:887 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:24:56:982 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:24:56:982 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:24:56:996 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:25:01:954 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:01:954 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:06:965 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:06:965 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:25:06:970 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:06:970 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:25:06:973 - Endereço 15 (192.168.105.11): Dados inválidos recebidos: [34-0F-40]
19/02/2025 13:25:06:973 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:06:990 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:06:990 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:25:12:004 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:12:004 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:16:989 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:16:989 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:22:071 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:22:071 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:27:032 - Endereço 191 (192.168.105.11): Dados inválidos recebidos: [FB-BF-D9-9F-F7-02-30]
19/02/2025 13:25:27:032 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:37:152 - Endereço 253 (192.168.105.11): Dados inválidos recebidos: [FF-FD]
19/02/2025 13:25:37:152 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:37:157 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:37:157 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:37:161 - Endereço 0 (192.168.105.11): Dados inválidos recebidos: [33-00-00-00-00]
19/02/2025 13:25:37:162 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:25:42:151 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:25:47:229 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [FB-FB]
19/02/2025 13:25:47:230 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:25:52:202 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:25:52:203 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:26:02:256 - Endereço 161 (192.168.105.11): Dados inválidos recebidos: [FF-A1-03-F5-01-00-30]
19/02/2025 13:26:02:257 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:26:07:359 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:26:12:377 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:12:377 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:26:17:342 - Endereço 253 (192.168.105.11): Dados inválidos recebidos: [FF-FD]
19/02/2025 13:26:17:342 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:26:17:347 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:17:347 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:26:17:350 - Endereço 0 (192.168.105.11): Dados inválidos recebidos: [33-00-00-00-00]
19/02/2025 13:26:17:350 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:26:22:327 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:22:327 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:26:27:406 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:27:407 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:26:32:399 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:26:42:522 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:42:523 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:26:47:501 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:26:52:598 - Endereço 162 (192.168.105.11): Dados inválidos recebidos: [FB-A2-9F-AF-BF]
19/02/2025 13:26:52:598 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:26:57:579 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:26:57:581 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:27:07:575 - Endereço 194 (192.168.105.11): Dados inválidos recebidos: [FB-C2-5F-DF-50]
19/02/2025 13:27:07:575 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:12:573 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:12:573 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:27:17:624 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:17:625 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:27:22:680 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
19/02/2025 13:27:22:680 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:27:771 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:27:27:772 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:27:27:782 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:27:782 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:27:799 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:27:799 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:42:808 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:27:42:809 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:47:824 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:47:824 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:27:52:839 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:52:839 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:27:57:827 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:27:57:828 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:28:02:901 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:28:02:902 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:28:07:892 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:28:07:892 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:28:12:922 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [FB-F5-9A-1F-FF]
19/02/2025 13:28:12:922 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:28:17:923 - Endereço 130 (192.168.105.11): Dados inválidos recebidos: [FB-82-FF-83-7D-A0-1F-FE]
19/02/2025 13:28:17:923 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:28:23:017 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:28:23:017 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:28:33:020 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [FF-FF]
19/02/2025 13:28:33:020 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:28:33:037 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:28:38:070 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:28:38:070 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:28:43:133 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:28:43:133 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:28:48:081 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:29:33:795 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:29:43:856 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:29:43:860 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:29:58:915 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:29:58:916 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:30:18:965 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:30:18:965 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:30:28:951 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:30:28:952 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:30:34:068 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:30:34:068 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:40:59:671 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 13:40:59:672 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:41:04:655 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:41:09:645 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:41:09:645 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:41:14:710 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:41:14:710 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:41:24:769 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:41:24:770 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:41:29:755 - Endereço 161 (192.168.105.11): Dados inválidos recebidos: [FF-A1-7D-AA-FF]
19/02/2025 13:41:29:756 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:41:44:809 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:41:44:810 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:41:59:887 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:41:59:888 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:05:006 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:05:006 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:05:009 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:05:010 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:09:978 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:09:978 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:14:993 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:14:993 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:20:012 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:20:013 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:25:004 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:25:005 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:42:30:117 - Endereço 159 (192.168.105.11): Dados inválidos recebidos: [A0-9F-F5]
19/02/2025 13:42:30:117 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:35:059 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:35:059 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:40:091 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:42:40:091 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:42:45:177 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:43:05:245 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:05:246 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:43:10:233 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:10:233 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:10:237 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:10:237 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:15:271 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:15:273 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:25:301 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:25:301 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:43:25:304 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:25:304 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:43:30:361 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
19/02/2025 13:43:30:361 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:35:391 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:35:391 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:45:410 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:43:45:410 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:43:55:472 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:43:55:472 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:44:00:513 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:00:515 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:00:531 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:00:532 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:05:611 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:44:10:524 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:10:524 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:44:15:648 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:15:649 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:44:20:631 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 13:44:20:631 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 13:44:20:643 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:20:643 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:20:661 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:20:662 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:25:623 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:25:623 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:25:676 - Endereço 4 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 13:44:30:702 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 13:44:30:702 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 13:44:35:767 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
19/02/2025 13:44:35:767 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:13:50:408 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:13:50:408 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:13:50:422 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:13:50:422 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:13:50:455 - Endereço 4 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 14:14:04:431 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 14:14:04:431 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:14:04:445 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:14:04:446 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:14:04:463 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:14:04:464 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:14:18:488 - Endereço 178 (192.168.105.11): Dados inválidos recebidos: [FB-B2-13-F5-12-F5-10-FE]
19/02/2025 14:14:18:489 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:14:25:501 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [BF-A0-9F-F5]
19/02/2025 14:14:25:501 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:14:32:538 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:14:32:538 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:14:39:587 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:14:39:588 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:14:46:619 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 14:14:46:620 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:14:53:660 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:14:53:661 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:15:00:757 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 14:15:07:716 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 14:15:14:802 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:15:14:803 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:15:21:871 - Endereço 118 (192.168.105.11): Dados inválidos recebidos: [FB-76-BF-FD-30]
19/02/2025 14:15:21:872 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:15:35:882 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 14:15:35:882 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:15:49:944 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 14:15:49:944 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:15:49:950 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:15:49:950 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:15:56:991 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:15:56:991 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:16:04:008 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:04:009 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:16:11:041 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:11:042 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:16:18:126 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:18:126 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:16:25:168 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:25:168 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:16:32:173 - Endereço 161 (192.168.105.11): Dados inválidos recebidos: [FF-A1-03-F5-00-00-30]
19/02/2025 14:16:32:173 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:16:39:148 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:39:148 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:16:46:190 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:16:46:191 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:17:21:425 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:17:21:426 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:17:28:431 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:17:28:432 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:17:35:525 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
19/02/2025 14:17:35:525 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:17:42:574 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:17:42:574 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:17:56:646 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:17:56:646 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:18:03:685 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:03:686 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:10:736 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:10:736 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:10:753 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:10:753 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:17:778 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 14:18:17:778 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:18:17:790 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:17:791 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:17:827 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:17:828 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:38:868 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:38:869 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:18:45:943 - Endereço 159 (192.168.105.11): Dados inválidos recebidos: [A0-9F-F5]
19/02/2025 14:18:45:944 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:18:52:963 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:52:964 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:18:59:921 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:18:59:922 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:19:06:942 - Endereço 159 (192.168.105.11): Dados inválidos recebidos: [50-9F-F5]
19/02/2025 14:19:06:942 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:19:14:063 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:14:064 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:19:28:010 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:28:010 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:19:35:089 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:35:090 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:19:49:171 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:49:171 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:19:56:146 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:56:147 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:19:56:151 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:19:56:151 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:03:210 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:03:210 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:10:273 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:10:274 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:24:256 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:24:256 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:20:31:288 - Endereço 238 (192.168.105.11): Dados inválidos recebidos: [FB-EE-4F-9F-55]
19/02/2025 14:20:31:289 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:38:352 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:38:353 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:20:38:363 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:38:364 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:38:382 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:38:383 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 14:20:45:398 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [FB-FB-33-F5-02-F5-80-30]
19/02/2025 14:20:45:399 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:20:52:445 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [7D-A0-FF]
19/02/2025 14:20:52:446 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:20:59:407 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:20:59:408 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 14:21:06:439 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 14:21:06:440 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 15:11:08:995 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:11:08:995 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 15:11:09:014 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:11:09:014 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 15:11:37:186 - Endereço 86 (192.168.105.11): Dados inválidos recebidos: [FB-56-A1-3F-00-00-30]
19/02/2025 15:11:37:187 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 15:11:44:209 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:11:44:209 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 15:11:51:317 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 15:11:58:319 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:11:58:319 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 15:12:05:307 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:12:05:308 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 15:12:12:373 - Endereço 238 (192.168.105.11): Dados inválidos recebidos: [FB-EE-AA-42-F5-40-FE]
19/02/2025 15:12:12:374 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 15:12:26:381 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
19/02/2025 15:12:26:382 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 15:12:26:385 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 15:12:26:385 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:34:59:700 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:34:59:701 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 16:36:58:757 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:36:58:758 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 16:36:58:786 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
19/02/2025 16:36:59:817 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:36:59:818 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 16:43:52:272 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:43:52:273 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:43:58:294 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:43:58:295 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:43:58:298 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:43:58:298 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:46:17:952 - Endereço 191 (192.168.105.11): Dados inválidos recebidos: [DB-BF-A0-9F-F5]
19/02/2025 16:46:17:952 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 16:49:31:031 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:49:31:031 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:51:26:534 - Endereço 159 (192.168.105.11): Dados inválidos recebidos: [50-9F-F5]
19/02/2025 16:51:26:534 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:52:27:398 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:52:27:398 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:52:27:403 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 16:52:27:403 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 16:54:09:657 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [BF-A0-9F-F5]
19/02/2025 16:54:09:657 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 17:02:32:692 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 17:02:32:693 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
19/02/2025 17:03:45:714 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 17:03:45:714 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
19/02/2025 17:05:40:635 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
19/02/2025 17:05:40:635 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 07:57:45:765 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 07:57:45:765 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:13:24:982 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:24:983 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:13:34:000 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [FB-FB-67-7D-70]
20/02/2025 08:13:34:000 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:13:34:019 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:34:020 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:13:34:032 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:34:032 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:13:35:029 - Endereço 130 (192.168.105.11): Dados inválidos recebidos: [FB-82]
20/02/2025 08:13:35:030 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:13:49:187 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:13:49:196 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:49:196 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:13:49:201 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:49:202 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:13:49:235 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:49:236 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:13:49:239 - Endereço 51 (192.168.105.11): Dados inválidos recebidos: [01-33-00-00-00-00-2F]
20/02/2025 08:13:49:239 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:13:49:242 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:13:49:243 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:14:17:461 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:14:17:481 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:14:17:481 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:18:20:749 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [01-F5-02-F3]
20/02/2025 08:18:20:749 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:18:57:294 - Endereço 243 (192.168.105.11): Dados inválidos recebidos: [02-F3]
20/02/2025 08:18:57:295 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:18:57:300 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:18:57:301 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:19:29:559 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:19:29:606 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [04-F5-02-F6-FF]
20/02/2025 08:19:29:606 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:19:29:627 - Endereço 243 (192.168.105.11): Dados inválidos recebidos: [02-F3]
20/02/2025 08:19:29:627 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:19:29:631 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:19:29:631 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:24:20:379 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:24:24:481 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:24:25:517 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:24:25:544 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [FB-FF]
20/02/2025 08:24:25:544 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:24:25:559 - Endereço 246 (192.168.105.11): Dados inválidos recebidos: [9F-F6]
20/02/2025 08:24:25:560 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:24:39:672 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:24:50:731 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:24:50:732 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:25:00:879 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:00:879 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:25:22:083 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:22:084 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:25:40:361 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:40:361 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:25:40:376 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:40:376 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:25:40:399 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:40:399 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:25:40:422 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:40:423 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:25:40:445 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:40:446 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:25:41:340 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:41:340 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:25:41:353 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:25:41:353 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:26:07:599 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
20/02/2025 08:26:07:600 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:26:31:999 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:26:32:000 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:26:40:078 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:26:40:079 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:26:40:092 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:26:40:092 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:27:59:202 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:28:34:699 - Endereço 160 (192.168.105.11): Dados inválidos recebidos: [7D-A0-FF]
20/02/2025 08:28:34:699 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:28:34:707 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:28:34:707 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:29:10:148 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:29:10:148 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:29:10:155 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:29:10:155 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:29:17:243 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:29:17:245 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:29:25:298 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [9F-F5]
20/02/2025 08:29:25:298 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:29:25:314 - Endereço 209 (192.168.105.11): Dados inválidos recebidos: [FB-D1-04-F5-02-F6-7A-FE]
20/02/2025 08:29:25:314 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:30:40:364 - Endereço 83 (192.168.105.11): Dados inválidos recebidos: [FB-53-9F-B2-9F]
20/02/2025 08:30:40:364 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:30:40:381 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:30:40:382 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:30:40:396 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:30:40:397 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:30:40:415 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:30:40:416 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:30:42:417 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:30:42:439 - Endereço 4 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:30:42:457 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:30:42:457 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:30:42:511 - Endereço 4 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:30:42:538 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:30:42:539 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:31:03:753 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:03:755 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:03:774 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:03:774 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:03:800 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:03:800 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:03:818 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:03:818 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:04:709 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:04:709 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:31:04:714 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:31:04:714 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:31:14:855 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5]
20/02/2025 08:31:14:856 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:14:866 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [F6-FB-01-34-0E]
20/02/2025 08:31:14:867 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:31:36:121 - Endereço 227 (192.168.105.11): Dados inválidos recebidos: [FB-E3]
20/02/2025 08:31:36:121 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:32:29:263 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [20-FF]
20/02/2025 08:32:29:263 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:34:00:359 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:34:00:359 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=33
20/02/2025 08:34:01:375 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=33
20/02/2025 08:34:01:398 - Endereço 0 (192.168.105.11): Dados inválidos recebidos: [00-00-00-2F]
20/02/2025 08:34:01:398 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:34:06:764 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:34:06:764 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=38
20/02/2025 08:34:06:769 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:34:06:769 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=38
20/02/2025 08:34:10:823 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:34:10:823 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=33
20/02/2025 08:34:11:831 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=33
20/02/2025 08:34:11:875 - Endereço 0 (192.168.105.11): Dados inválidos recebidos: [00-00-00-2F]
20/02/2025 08:34:11:875 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:36:10:519 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:36:18:659 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:51:33:482 - Endereço 1 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:51:34:351 - Endereço 254 (192.168.105.11): Dados inválidos recebidos: [81-FE]
20/02/2025 08:51:34:351 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:07:963 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:07:963 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:52:07:979 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:07:980 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:09:049 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:09:049 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:09:071 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:09:071 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:09:090 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:09:090 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:09:108 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:09:108 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:09:996 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:09:997 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:11:057 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:11:059 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:31:470 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:31:470 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:31:486 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:31:487 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:31:507 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:31:507 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:52:59:003 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [FB-FB-02-F5-01]
20/02/2025 08:52:59:003 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:52:59:020 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:52:59:020 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:53:25:347 - Endereço 159 (192.168.105.11): Dados inválidos recebidos: [50-9F-F3]
20/02/2025 08:53:25:348 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:53:25:356 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:53:25:357 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:53:26:388 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:53:26:390 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:53:37:604 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:53:37:604 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:55:44:266 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:56:12:821 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:12:821 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:12:842 - Endereço 3 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 08:56:38:300 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [01-F5-02-F3]
20/02/2025 08:56:38:301 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 08:56:38:312 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:38:313 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:56:38:325 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:38:325 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:38:348 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:38:348 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:38:366 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:38:366 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:38:385 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:38:385 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:47:545 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:47:545 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:56:50:535 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:50:536 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:56:50:542 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:56:50:542 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:56:51:581 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [01-F5-02-F3]
20/02/2025 08:56:51:582 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 08:57:20:157 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 08:57:20:158 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 08:57:21:224 - Endereço 254 (192.168.105.11): Dados inválidos recebidos: [D0-FE]
20/02/2025 08:57:21:225 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:08:06:455 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 09:08:06:456 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:08:42:922 - Endereço 132 (192.168.105.11): Dados inválidos recebidos: [FB-84-3F-A0-9F-F6-32]
20/02/2025 09:08:42:923 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:09:58:611 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [FB-FF]
20/02/2025 09:09:58:611 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 09:09:58:616 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 09:09:58:616 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 09:09:58:618 - Endereço 65 (192.168.105.11): Dados inválidos recebidos: [0F-41]
20/02/2025 09:09:58:619 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:09:58:632 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 09:09:58:633 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 09:09:58:651 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 09:09:58:651 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 09:09:59:646 - Endereço 217 (192.168.105.11): Dados inválidos recebidos: [FB-D9-04-F5-02-F6-D0-F9]
20/02/2025 09:09:59:647 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:10:08:728 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
20/02/2025 09:10:08:728 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 09:10:08:740 - Endereço 246 (192.168.105.11): Dados inválidos recebidos: [02-F6]
20/02/2025 09:10:08:740 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 09:10:22:883 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 09:10:22:883 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:18:45:363 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
20/02/2025 10:18:45:363 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:20:26:355 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:20:26:355 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:20:30:035 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:21:51:157 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:21:51:157 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:22:15:316 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:22:15:348 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:22:15:349 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:22:41:629 - Endereço 251 (192.168.105.11): Dados inválidos recebidos: [FB-FB-03-F5-02-F5-00-2F]
20/02/2025 10:22:41:629 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:22:41:636 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:22:41:636 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:23:00:828 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:23:00:828 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:45:11:005 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:45:11:005 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:45:27:107 - Endereço 3 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 10:46:34:847 - Endereço 129 (192.168.105.11): Dados inválidos recebidos: [FB-81]
20/02/2025 10:46:34:847 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:46:58:545 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [02-F5-02-F4-FF]
20/02/2025 10:46:58:546 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:46:58:560 - Endereço 4 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:46:58:561 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:47:21:728 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:47:21:728 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:47:21:743 - Endereço 244 (192.168.105.11): Dados inválidos recebidos: [02-F4]
20/02/2025 10:47:21:743 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:47:21:765 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:47:21:766 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:47:26:836 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:47:26:873 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [04-F5-02-F6]
20/02/2025 10:47:26:874 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:48:00:193 - Endereço 245 (192.168.105.11): Dados inválidos recebidos: [03-F5-02-F5]
20/02/2025 10:48:00:194 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:48:00:199 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:48:00:199 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 10:48:00:228 - Endereço 237 (192.168.105.11): Dados inválidos recebidos: [FB-ED-04-F5-02]
20/02/2025 10:48:00:228 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 10:48:17:309 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 10:48:17:310 - Endereço 3 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 10:48:37:561 - Endereço 246 (192.168.105.11): Dados inválidos recebidos: [02-F6]
20/02/2025 10:48:37:561 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:00:20:987 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:20:987 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 11:00:21:016 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:21:016 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 11:00:21:046 - Endereço 2 (192.168.105.11): Erro ao enviar comando: Index was outside the bounds of the array.
20/02/2025 11:00:21:963 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:21:964 - Endereço 2 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 11:00:21:982 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:21:982 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:00:31:093 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:31:094 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 11:00:31:111 - Endereço 129 (192.168.105.11): Dados inválidos recebidos: [FB-81-3F-50-9F-F6-7A-FE]
20/02/2025 11:00:31:111 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:00:44:439 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:44:440 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13
20/02/2025 11:00:57:592 - Endereço 2 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:57:592 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:00:57:595 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:00:57:596 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:01:13:798 - Endereço 255 (192.168.105.11): Dados inválidos recebidos: [FB-FF]
20/02/2025 11:01:13:798 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=1
20/02/2025 11:01:13:804 - Endereço 1 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:01:13:805 - Endereço 1 (192.168.105.11): Timeout ao receber resposta. GET=True, Parametro=46
20/02/2025 11:01:25:860 - Endereço 3 (192.168.105.11): Erro de checksum na resposta recebida.
20/02/2025 11:01:25:860 - Endereço 4 (192.168.105.11): Timeout ao receber resposta. GET=False, Parametro=13

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"ExpansorGPIO":false,"EnderecoExpansor":"","Pinos":[{"Controlador":1,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":36,"Descricao":"3","Funcao":12,"Habilitado":true,"ComponenteID":"TMVET"},{"Controlador":1,"Barramento":0,"Pino":39,"Descricao":"4","Funcao":12,"Habilitado":true,"ComponenteID":"TMVDT"},{"Controlador":1,"Barramento":0,"Pino":34,"Descricao":"5","Funcao":12,"Habilitado":true,"ComponenteID":"TMVEF"},{"Controlador":1,"Barramento":0,"Pino":35,"Descricao":"6","Funcao":12,"Habilitado":true,"ComponenteID":"TMVDF"},{"Controlador":1,"Barramento":0,"Pino":32,"Descricao":"7","Funcao":46,"Habilitado":true,"ComponenteID":"POTET"},{"Controlador":1,"Barramento":0,"Pino":33,"Descricao":"8","Funcao":46,"Habilitado":true,"ComponenteID":"POTDT"},{"Controlador":1,"Barramento":0,"Pino":25,"Descricao":"9","Funcao":46,"Habilitado":true,"ComponenteID":"POTEF"},{"Controlador":1,"Barramento":0,"Pino":26,"Descricao":"10","Funcao":46,"Habilitado":true,"ComponenteID":"POTDF"},{"Controlador":1,"Barramento":0,"Pino":27,"Descricao":"11","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_ET"},{"Controlador":1,"Barramento":0,"Pino":14,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":12,"Descricao":"13","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_DT"},{"Controlador":1,"Barramento":0,"Pino":97,"Descricao":"14","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":13,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":9,"Descricao":"16","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":10,"Descricao":"17","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":11,"Descricao":"18","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":96,"Descricao":"19","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":6,"Descricao":"26","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":7,"Descricao":"27","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":8,"Descricao":"28","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":15,"Descricao":"29","Funcao":38,"Habilitado":true,"ComponenteID":"LEDMN"},{"Controlador":1,"Barramento":0,"Pino":2,"Descricao":"30","Funcao":38,"Habilitado":true,"ComponenteID":"LEDOP"},{"Controlador":1,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":4,"Descricao":"32","Funcao":38,"Habilitado":true,"ComponenteID":"LEDAT"},{"Controlador":1,"Barramento":0,"Pino":16,"Descricao":"33","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":17,"Descricao":"34","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTDF"},{"Controlador":1,"Barramento":0,"Pino":5,"Descricao":"35","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTEF"},{"Controlador":1,"Barramento":0,"Pino":18,"Descricao":"36","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTDT"},{"Controlador":1,"Barramento":0,"Pino":19,"Descricao":"37","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTET"},{"Controlador":1,"Barramento":0,"Pino":95,"Descricao":"38","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":21,"Descricao":"39","Funcao":33,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":3,"Descricao":"40","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":22,"Descricao":"42","Funcao":34,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":23,"Descricao":"43","Funcao":26,"Habilitado":true,"ComponenteID":"RLLRA"},{"Controlador":1,"Barramento":0,"Pino":94,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}

View File

@ -0,0 +1 @@
{"ExpansorGPIO":false,"EnderecoExpansor":"","Pinos":[{"Controlador":0,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":97,"Descricao":"3","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":4,"Descricao":"4","Funcao":12,"Habilitado":true,"ComponenteID":"TMVET"},{"Controlador":0,"Barramento":0,"Pino":5,"Descricao":"5","Funcao":12,"Habilitado":true,"ComponenteID":"TMVDT"},{"Controlador":0,"Barramento":0,"Pino":6,"Descricao":"6","Funcao":12,"Habilitado":true,"ComponenteID":"TMVEF"},{"Controlador":0,"Barramento":0,"Pino":7,"Descricao":"7","Funcao":12,"Habilitado":true,"ComponenteID":"TMVDF"},{"Controlador":0,"Barramento":0,"Pino":15,"Descricao":"8","Funcao":46,"Habilitado":true,"ComponenteID":"POTET"},{"Controlador":0,"Barramento":0,"Pino":16,"Descricao":"9","Funcao":46,"Habilitado":true,"ComponenteID":"POTDT"},{"Controlador":0,"Barramento":0,"Pino":17,"Descricao":"10","Funcao":46,"Habilitado":true,"ComponenteID":"POTEF"},{"Controlador":0,"Barramento":0,"Pino":18,"Descricao":"11","Funcao":46,"Habilitado":true,"ComponenteID":"POTDF"},{"Controlador":0,"Barramento":0,"Pino":8,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":3,"Descricao":"13","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":46,"Descricao":"14","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":9,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":10,"Descricao":"16","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":11,"Descricao":"17","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":12,"Descricao":"18","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":13,"Descricao":"19","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":14,"Descricao":"20","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":96,"Descricao":"21","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":95,"Descricao":"22","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":94,"Descricao":"23","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":93,"Descricao":"24","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":19,"Descricao":"25","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":20,"Descricao":"26","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":21,"Descricao":"27","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_DF"},{"Controlador":0,"Barramento":0,"Pino":47,"Descricao":"28","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_EF"},{"Controlador":0,"Barramento":0,"Pino":48,"Descricao":"29","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_DT"},{"Controlador":0,"Barramento":0,"Pino":45,"Descricao":"30","Funcao":45,"Habilitado":true,"ComponenteID":"FRO_ET"},{"Controlador":0,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":35,"Descricao":"32","Funcao":38,"Habilitado":true,"ComponenteID":"LEDAT"},{"Controlador":0,"Barramento":0,"Pino":36,"Descricao":"33","Funcao":38,"Habilitado":true,"ComponenteID":"LEDOP"},{"Controlador":0,"Barramento":0,"Pino":37,"Descricao":"34","Funcao":38,"Habilitado":true,"ComponenteID":"LEDMN"},{"Controlador":0,"Barramento":0,"Pino":38,"Descricao":"35","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTDF"},{"Controlador":0,"Barramento":0,"Pino":39,"Descricao":"36","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTEF"},{"Controlador":0,"Barramento":0,"Pino":40,"Descricao":"37","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTDT"},{"Controlador":0,"Barramento":0,"Pino":41,"Descricao":"38","Funcao":26,"Habilitado":true,"ComponenteID":"RLPOTET"},{"Controlador":0,"Barramento":0,"Pino":42,"Descricao":"39","Funcao":26,"Habilitado":true,"ComponenteID":"RLLRA"},{"Controlador":0,"Barramento":0,"Pino":2,"Descricao":"40","Funcao":34,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":0,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":33,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":0,"Barramento":0,"Pino":44,"Descricao":"42","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":43,"Descricao":"43","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":0,"Barramento":0,"Pino":92,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}

View File

@ -96,10 +96,10 @@
"Diretorio": "Parametros/", "Diretorio": "Parametros/",
"Arquivo": "pinoutSen", "Arquivo": "pinoutSen",
"Extensao": ".pin", "Extensao": ".pin",
"Versao": "1_1", "Versao": "1_2",
"ArquivoDownload": "pinoutSen-1_1.pin", "ArquivoDownload": "pinoutSen-1_2.pin",
"NomeArquivoLocal": "pinoutSen-1_1.pin", "NomeArquivoLocal": "pinoutSen-1_2.pin",
"CaminhoCompleto": "Parametros/pinoutSen-1_1.pin", "CaminhoCompleto": "Parametros/pinoutSen-1_2.pin",
"Atualizado": true, "Atualizado": true,
"ArquivoAtualizado": true, "ArquivoAtualizado": true,
"TipoArquivo": 7 "TipoArquivo": 7
@ -203,5 +203,18 @@
"Atualizado": true, "Atualizado": true,
"ArquivoAtualizado": false, "ArquivoAtualizado": false,
"TipoArquivo": 14 "TipoArquivo": 14
},
{
"id": 18,
"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
} }
] ]

File diff suppressed because one or more lines are too long

View File

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width, <meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style> <style>
#map_a557472d0c26c4288938132609c4ed90 { #map_d0dbf46f67163f94fe15580c6e5bb263 {
position: relative; position: relative;
width: 100.0%; width: 100.0%;
height: 100.0%; height: 100.0%;
@ -39,14 +39,14 @@
<body> <body>
<div class="folium-map" id="map_a557472d0c26c4288938132609c4ed90" ></div> <div class="folium-map" id="map_d0dbf46f67163f94fe15580c6e5bb263" ></div>
</body> </body>
<script> <script>
var map_a557472d0c26c4288938132609c4ed90 = L.map( var map_d0dbf46f67163f94fe15580c6e5bb263 = L.map(
"map_a557472d0c26c4288938132609c4ed90", "map_d0dbf46f67163f94fe15580c6e5bb263",
{ {
center: [0.0, 0.0], center: [0.0, 0.0],
crs: L.CRS.EPSG3857, crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_fdcada12119d5faa3c86771431d37018 = L.tileLayer( var tile_layer_da2b6f9ae365eadeb6f0473c9e2f5ecc = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png", "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false} {"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
); );
tile_layer_fdcada12119d5faa3c86771431d37018.addTo(map_a557472d0c26c4288938132609c4ed90); tile_layer_da2b6f9ae365eadeb6f0473c9e2f5ecc.addTo(map_d0dbf46f67163f94fe15580c6e5bb263);
</script> </script>
@ -87,7 +87,7 @@
} }
trajeto_json_add({"features": []}); trajeto_json_add({"features": []});
trajeto_json.addTo(map_a557472d0c26c4288938132609c4ed90); trajeto_json.addTo(map_d0dbf46f67163f94fe15580c6e5bb263);
function adicionarGeometria(novaGeometria) { function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria); trajeto_json.addData(novaGeometria);
@ -145,7 +145,7 @@
var marcadorDinamico = L.marker([0, 0], { var marcadorDinamico = L.marker([0, 0], {
icon: customIcon icon: customIcon
}).addTo(map_a557472d0c26c4288938132609c4ed90); }).addTo(map_d0dbf46f67163f94fe15580c6e5bb263);
// Conectar ao broker MQTT // Conectar ao broker MQTT
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
@ -183,7 +183,7 @@
marcadorDinamico.setRotationAngle(angulo); marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]); adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_a557472d0c26c4288938132609c4ed90.setView(novaPosicao, map_a557472d0c26c4288938132609c4ed90.getZoom()); map_d0dbf46f67163f94fe15580c6e5bb263.setView(novaPosicao, map_d0dbf46f67163f94fe15580c6e5bb263.getZoom());
}); });
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) { function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,25 @@
import os
import sys
# 🔹 Desativar logs do DepthAI
os.environ["DEPTHAI_LEVEL"] = "ERROR"
import depthai
import json
devices = depthai.Device.getAllAvailableDevices()
device_list = []
for idx, device in enumerate(devices):
device_info = {
"index": idx,
"id": device.mxid,
"model": device.name,
"usb_speed": str(device.protocol)
}
device_list.append(device_info)
# 🔹 Imprime apenas o JSON, sem logs extras
json_output = json.dumps(device_list, indent=4)
sys.stdout.write(json_output)
sys.stdout.flush()

View File

@ -32,57 +32,81 @@ app = Flask(__name__)
# Caminho do modelo convertido # Caminho do modelo convertido
blob_path = os.path.join(model_folder, f'model-{script_version}.blob') blob_path = os.path.join(model_folder, f'model-{script_version}.blob')
def detect_oak(): def detect_oak(camera_index):
print("a") width, height, model_resolution = 1280, 720, 640
labelMap = ['chenopodio', 'grama-azul', 'tiririca', 'erva-daninha', 'videira', 'mostarda-preta', 'milho', 'amaranta', 'farinha-seca', 'guanxuma']
pipeline = dai.Pipeline() pipeline = dai.Pipeline()
# Criando um nó de câmera # Listar todas as câmeras conectadas
devices = dai.Device.getAllAvailableDevices()
if len(devices) == 0:
print("Nenhuma câmera OAK conectada.")
return
if camera_index >= len(devices):
print(f"Índice da câmera ({camera_index}) inválido. Apenas {len(devices)} câmeras disponíveis.")
return
selected_device_info = devices[camera_index] # Seleciona a câmera correta pelo índice
print(f"Usando câmera: {selected_device_info.name} (ID: {selected_device_info.mxid})")
# Criando um nó de câmera otimizado
cam = pipeline.create(dai.node.ColorCamera) cam = pipeline.create(dai.node.ColorCamera)
cam.setPreviewSize(640, 640) cam.setResolution(dai.ColorCameraProperties.SensorResolution.THE_1080_P)
cam.setVideoSize(width, height)
cam.setInterleaved(False) cam.setInterleaved(False)
cam.setColorOrder(dai.ColorCameraProperties.ColorOrder.BGR) cam.setColorOrder(dai.ColorCameraProperties.ColorOrder.BGR)
cam.setFps(30) cam.setFps(35) # FPS aumentado
cam.setIspScale(2, 3) # Reduz carga no pipeline
# Criando um nó de inferência YOLO # Criando um nó de manipulação de imagem otimizado
manip = pipeline.create(dai.node.ImageManip)
manip.initialConfig.setResize(model_resolution, model_resolution)
manip.initialConfig.setKeepAspectRatio(True)
manip.initialConfig.setFrameType(dai.RawImgFrame.Type.RGB888p) # Força formato RGB correto
manip.setMaxOutputFrameSize(1228800)
cam.video.link(manip.inputImage)
# Criando um nó de inferência YOLO otimizado
nn = pipeline.create(dai.node.YoloDetectionNetwork) nn = pipeline.create(dai.node.YoloDetectionNetwork)
nn.setBlobPath(blob_path) nn.setBlobPath(blob_path)
nn.setConfidenceThreshold(0.25) # Ajuste conforme necessário nn.setConfidenceThreshold(0.25)
nn.setNumClasses(10) nn.setNumClasses(len(labelMap))
nn.setCoordinateSize(4) nn.setCoordinateSize(4)
nn.setIouThreshold(0.45) nn.setIouThreshold(0.45)
# 🔹 Define âncoras e máscaras corretamente # 🔹 Define âncoras e máscaras corretamente
nn.setAnchors([ nn.setAnchors([
12, 16, 19, 36, 40, 28, # Pequenos 12, 16, 19, 36, 40, 28,
36, 75, 76, 55, 72, 146, # Médios 36, 75, 76, 55, 72, 146,
142, 110, 192, 243, 459, 401 # Grandes 142, 110, 192, 243, 459, 401
]) ])
nn.setAnchorMasks({ nn.setAnchorMasks({
"side80": [1, 2, 3], "side52": [0, 1, 2],
"side40": [3, 4, 5], "side26": [3, 4, 5],
"side20": [5, 6, 7] "side13": [6, 7, 8]
}) })
nn.setNumInferenceThreads(2) # Usa 2 threads para inferência
nn.input.setBlocking(False) # Não bloqueia a entrada de frames
#nn.setReusePreviousInferenceResults(True) # Reutiliza inferências para não travar o pipeline
manip.out.link(nn.input)
# Conectando câmera ao modelo # Saída de vídeo otimizada
cam.preview.link(nn.input)
# Saída de vídeo
xout_cam = pipeline.create(dai.node.XLinkOut) xout_cam = pipeline.create(dai.node.XLinkOut)
xout_cam.setStreamName("video") xout_cam.setStreamName("video")
cam.preview.link(xout_cam.input) #xout_cam.setMetadataOnly(True) # Reduz tráfego de vídeo
cam.video.link(xout_cam.input)
# Saída da inferência # Saída da inferência
xout_nn = pipeline.create(dai.node.XLinkOut) xout_nn = pipeline.create(dai.node.XLinkOut)
xout_nn.setStreamName("detections") xout_nn.setStreamName("detections")
nn.out.link(xout_nn.input) nn.out.link(xout_nn.input)
labelMap = ['chenopodio', 'grama-azul', 'tiririca', 'erva-daninha', 'videira', with dai.Device(pipeline, selected_device_info) as device: # 🔹 Agora usa a câmera correta
'mostarda-preta', 'milho', 'amaranta', 'farinha-seca', 'guanxuma']
with dai.Device(pipeline) as device:
video_queue = device.getOutputQueue("video", maxSize=1, blocking=False) video_queue = device.getOutputQueue("video", maxSize=1, blocking=False)
detections_queue = device.getOutputQueue("detections", maxSize=1, blocking=False) detections_queue = device.getOutputQueue("detections", maxSize=1, blocking=False)
width, height = 640, 640
readings = [] readings = []
while True: while True:
@ -114,12 +138,12 @@ def detect_oak():
if mostrar_linhas: if mostrar_linhas:
label = f'{descricao} {confidence:.2f}' label = f'{descricao} {confidence:.2f}'
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2) cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.putText(frame, label, (x1, y1 - 10), cv2.putText(frame, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
global json_data global json_data
timestamp = time.time() timestamp = time.time()
json_data = {'timestamp': timestamp, 'x_max': width, 'y_max': height, 'objetos': current_readings} json_data = {'timestamp': timestamp, 'x_max': width, 'y_max': height, 'objetos': current_readings}
print(json_data)
readings.append(json_data) readings.append(json_data)
if len(readings) >= max_readings: if len(readings) >= max_readings:
@ -139,11 +163,12 @@ def send_script_ready():
mqtt_client.publish(mqtt_topic, "OK") mqtt_client.publish(mqtt_topic, "OK")
def run_flask_server(): def run_flask_server():
app.run(host='0.0.0.0', port=porta, threaded=True, debug=True) app.run(host='0.0.0.0', port=porta, threaded=True, debug=False)
@app.route('/' + url, methods=['GET']) @app.route('/' + url, methods=['GET'])
def video_feed(): def video_feed():
return Response(detect_oak(), mimetype='multipart/x-mixed-replace; boundary=frame') camera_index = int(request.args.get('camera_index'))
return Response(detect_oak(camera_index), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__': if __name__ == '__main__':
mqtt_thread = threading.Thread(target=send_script_ready) mqtt_thread = threading.Thread(target=send_script_ready)

View File

@ -1 +1 @@
81fe9c78cbc1f5ab2cd3f9316a5d613f1f4cb124703ffa6ef0eaf8cf91c94c6e 07c6bb0653ed4366f0cd4e7c9a8e20d266183ca4b30de0ccc664981039497537

View File

@ -45,9 +45,9 @@ class MqttService {
messageCallback = callback; messageCallback = callback;
} }
bool InicializarComunicacaoMqtt() { bool InicializarComunicacaoMqtt(bool forcar = false) {
// Verifica se já passou o intervalo necessário para uma nova tentativa // Verifica se já passou o intervalo necessário para uma nova tentativa
if (millis() - ultimaTentativaConexao < intervaloTentativa) { if ((millis() - ultimaTentativaConexao) < intervaloTentativa && !forcar) {
PrintTela("Aguardando para próxima tentativa de conexão MQTT..."); PrintTela("Aguardando para próxima tentativa de conexão MQTT...");
return MqttIsConnected; // Retorna o estado atual sem tentar reconectar return MqttIsConnected; // Retorna o estado atual sem tentar reconectar
} }
@ -86,12 +86,12 @@ class MqttService {
if (mqttClient.connected()) { if (mqttClient.connected()) {
// Publica uma mensagem vazia com o flag Retain para limpar mensagens retidas // Publica uma mensagem vazia com o flag Retain para limpar mensagens retidas
if (mqttClient.publish(topico.c_str(), "", true)) { if (mqttClient.publish(topico.c_str(), "", true)) {
Serial.println("Mensagem retida limpa no tópico: " + topico); PrintTela("Mensagem retida limpa no tópico: " + topico);
} else { } else {
Serial.println("Falha ao limpar mensagem retida no tópico: " + topico); PrintTela("Falha ao limpar mensagem retida no tópico: " + topico);
} }
} else { } else {
Serial.println("Broker MQTT desconectado, não foi possível limpar mensagens retidas."); PrintTela("Broker MQTT desconectado, não foi possível limpar mensagens retidas.");
} }
} }

View File

@ -58,14 +58,19 @@ class PinoModel {
} }
} }
int get() { int get(int leituras = 0) {
if (Definido()) { if (Definido()) {
if (barramento == CONTROLADOR) { if (barramento == CONTROLADOR) {
if (leitura == DIGITAL) { if (leitura == DIGITAL) {
return digitalRead(num); return digitalRead(num);
} }
else if (leitura == ANALOGICO) { else if (leitura == ANALOGICO) {
return analogRead(num); double l = 0;
for (int i = 0; i < leituras; i++) {
l += analogRead(num);
delay(1);
}
return l / leituras;
} }
} }
else if (barramento == EXPANSORI2C) { else if (barramento == EXPANSORI2C) {

View File

@ -74,17 +74,17 @@ class SensorPotenciometro {
} }
void AferirAngulo() { void AferirAngulo() {
leitura = _pino.get(); leitura = _pino.get(5);
double leituraNormalizada = filtro.updateEstimate(leitura); double leituraNormalizada = filtro.updateEstimate(leitura);
angulo = map(leituraNormalizada, 0, 4095, -_limitePotenciometro, _limitePotenciometro); angulo = map(leituraNormalizada, 0, 4095, -_limitePotenciometro, _limitePotenciometro);
sentido = sentido =
(angulo < (_anguloMeio - _margem)) ? Antihorario : (angulo <= (_anguloMeio - _margem)) ? Antihorario :
(angulo > (_anguloMeio + _margem)) ? Horario : (angulo >= (_anguloMeio + _margem)) ? Horario :
Parado; Parado;
limiteExcedido = angulo < (_anguloMin - _margem) || angulo > (_anguloMax + _margem); limiteExcedido = angulo <= (_anguloMin - _margem) || angulo >= (_anguloMax + _margem);
} }
void RequisitarDados() { void RequisitarDados() {
@ -162,12 +162,6 @@ void SensorPotenciometro::InicializarLista(std::vector<SensorPotenciometro*>& li
sensor->_pino = PinoModel(pino, pinoB, _INPUT, ANALOGICO); sensor->_pino = PinoModel(pino, pinoB, _INPUT, ANALOGICO);
sensor->releControle = nullptr; sensor->releControle = nullptr;
// Atribui um rele de controle
for (auto* _rele : listaReles) {
String idRele = _rele->_ID;
if (idRele.length() > 2 && idRele.startsWith("RL") && idRele.substring(2) == id) {
sensor->releControle = _rele;
if (partes.size() >= 8) { if (partes.size() >= 8) {
double angMin = partes[4].toDouble(); double angMin = partes[4].toDouble();
double angMeio = partes[5].toDouble(); double angMeio = partes[5].toDouble();
@ -180,6 +174,11 @@ void SensorPotenciometro::InicializarLista(std::vector<SensorPotenciometro*>& li
sensor->_margem = angMargem; sensor->_margem = angMargem;
} }
// Atribui um rele de controle
for (auto* _rele : listaReles) {
String idRele = _rele->_ID;
if (idRele.length() > 2 && idRele.startsWith("RL") && idRele.substring(2) == id) {
sensor->releControle = _rele;
break; break;
} }
} }

View File

@ -1,6 +1,7 @@
#include "SerialService.h" #include "SerialService.h"
#include "Pinout.h" #include "Pinout.h"
#include "Utils.h" #include "Utils.h"
#include <SimpleKalmanFilter.h>
#ifndef SensorTemperaturaModel #ifndef SensorTemperaturaModel
#define SensorTemperaturaModel #define SensorTemperaturaModel
@ -22,6 +23,8 @@ class SensorTemperatura {
double leitura = 0; double leitura = 0;
SimpleKalmanFilter filtro = SimpleKalmanFilter(5, 15, 0.01);
bool Iniciado = false; bool Iniciado = false;
bool Checando = false; bool Checando = false;
@ -54,7 +57,8 @@ class SensorTemperatura {
} }
void AferirTemperatura() { void AferirTemperatura() {
leitura = _pino.get(); leitura = _pino.get(5);
leitura = filtro.updateEstimate(leitura);
} }
void RequisitarDados() { void RequisitarDados() {

View File

@ -4,7 +4,7 @@
#ifndef SerialService #ifndef SerialService
#define SerialService #define SerialService
bool DebugMode = true; bool DebugMode = false;
const char BeginLine = '@'; const char BeginLine = '@';
const char EndLine = '$'; const char EndLine = '$';

View File

@ -58,7 +58,7 @@ void InicializarConexaoWifi(IPAddress ip, IPAddress gateway, IPAddress subnet, I
// Configurar IP fixo // Configurar IP fixo
if (!WiFi.config(ip, gateway, subnet, dns)) { if (!WiFi.config(ip, gateway, subnet, dns)) {
Serial.println("Falha ao configurar IP estático!"); PrintTela("Falha ao configurar IP estático!");
} }
if (ssid[0] != '\0') { // Verificar se há SSID salvo if (ssid[0] != '\0') { // Verificar se há SSID salvo
@ -84,5 +84,19 @@ bool verificaInternet() {
} }
} }
void changeWifiStatus(bool conectar) {
if (conectar) {
WiFi.mode(WIFI_MODE_STA);
while (WiFi.status() != WL_CONNECTED) {
delay(10);
}
PrintTela("Wifi reconectado");
}
else {
WiFi.mode(WIFI_MODE_NULL);
delay(10);
PrintTela("Wifi desconectado");
}
}
#endif #endif

View File

@ -1,7 +1,7 @@
// Dispositivo: Sensoriamento // Dispositivo: Sensoriamento
// Versão Firmware: 14 // Versão Firmware: 14
// Ultima atualização: 13/02/2025 // Ultima atualização: 20/02/2025
// Atualização: Inclusão de leitura dos potenciometros angulares // Atualização: Troca do controlador para o S3 e implementacao de filtragem nas leituras analogica
#include <ArduinoJson.h> #include <ArduinoJson.h>
#include "C:\ZendionInc\agrobot_base\Firmware\Modulos\MqttService.h" #include "C:\ZendionInc\agrobot_base\Firmware\Modulos\MqttService.h"
@ -42,8 +42,10 @@ int _TaxaAmostragem = 1000;
volatile bool RequisitarDados = false; volatile bool RequisitarDados = false;
int latenciaLoop = 0; int latenciaLoop = 0;
PinoModel _pinoSDA = PinoModel(21, CONTROLADOR, _INPUT); //PinoModel _pinoSDA = PinoModel(21, CONTROLADOR, _INPUT);
PinoModel _pinoSCL = PinoModel(22, CONTROLADOR, _INPUT); PinoModel _pinoSDA = PinoModel(1, CONTROLADOR, _INPUT);
//PinoModel _pinoSCL = PinoModel(22, CONTROLADOR, _INPUT);
PinoModel _pinoSCL = PinoModel(2, CONTROLADOR, _INPUT);
std::vector<SensorTemperatura*> listaSensoresTemperatura; std::vector<SensorTemperatura*> listaSensoresTemperatura;
@ -69,7 +71,7 @@ void InicializarComunicacaoMQTT(bool RenovarConexao) {
void setup() { void setup() {
Serial.begin(_baudRate); Serial.begin(_baudRate);
iniciarMCP(D_Code, Mod_ID, _pinoSDA.num, _pinoSCL.num, 0x20, false); //iniciarMCP(D_Code, Mod_ID, _pinoSDA.num, _pinoSCL.num, 0x20, false);
InicializarConexaoWifi(local_IP, gateway, subnet, primaryDNS); InicializarConexaoWifi(local_IP, gateway, subnet, primaryDNS);
@ -128,6 +130,8 @@ void enviarDadosSensores() {
if (Conectado && !Verificando) { if (Conectado && !Verificando) {
PrintTela("Atualizando dados dos sensores..."); PrintTela("Atualizando dados dos sensores...");
//changeWifiStatus(false);
// Aferir dados dos sensores // Aferir dados dos sensores
for (auto* sensor : listaSensoresTemperatura) { for (auto* sensor : listaSensoresTemperatura) {
sensor->AferirTemperatura(); sensor->AferirTemperatura();
@ -153,6 +157,9 @@ void enviarDadosSensores() {
sensor->AferirAngulo(); sensor->AferirAngulo();
} }
//changeWifiStatus(true);
//mqttService.InicializarComunicacaoMqtt(true);
String jsonString = MontarMensagemSensores() + String(EndLine); String jsonString = MontarMensagemSensores() + String(EndLine);
mqttService.EnviarDados(Mod_ID, jsonString); mqttService.EnviarDados(Mod_ID, jsonString);

View File

@ -0,0 +1,24 @@
import torch
import onnx
import network.modeling as models # 🔹 Usar a mesma biblioteca do treinamento!
# 🔹 Criar o modelo EXATO usado no treinamento
num_classes = 4
output_stride = 16
model = models.deeplabv3plus_resnet50(num_classes=num_classes, output_stride=output_stride) # 🔹 Backbone correto
# 🔹 Carregar os pesos salvos
checkpoint_path = "C:/AgroBaseModels/Ruas/model-1_0.pth"
checkpoint = torch.load(checkpoint_path, map_location=torch.device('cpu'))
model.load_state_dict(checkpoint) # 🔹 Agora os pesos vão carregar corretamente!
# 🔹 Colocar o modelo em modo de inferência
model.eval()
# 🔹 Criar entrada fictícia para exportação
dummy_input = torch.randn(1, 3, 512, 512) # 🔹 Ajustado para o tamanho usado no treinamento
# 🔹 Exportar para ONNX
onnx_path = "C:/AgroBaseModels/Ruas/model-1_0.onnx"
torch.onnx.export(model, dummy_input, onnx_path, opset_version=11, input_names=["input"], output_names=["output"])
print(f"Modelo salvo como {onnx_path}")

View File

@ -0,0 +1,17 @@
import depthai
import json
devices = depthai.Device.getAllAvailableDevices()
device_list = []
for idx, device in enumerate(devices):
device_info = {
"index": idx,
"id": device.mxid, # ID único da câmera
"model": device.name, # Nome correto do modelo
"usb_speed": str(device.protocol) # Informação da conexão USB
}
device_list.append(device_info)
# Retorna a lista em formato JSON
print(json.dumps(device_list, indent=4))