71 lines
2.1 KiB
C#
71 lines
2.1 KiB
C#
using AgroBase.Services;
|
|
using CefSharp.WinForms;
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AgroBase.Models
|
|
{
|
|
public class CameraSoloModel
|
|
{
|
|
public CameraSoloModel()
|
|
{
|
|
|
|
}
|
|
|
|
public void DesligarCamera()
|
|
{
|
|
try
|
|
{
|
|
Iniciada = false;
|
|
Variaveis.MqttService.Topicos.Remove(camera._mqttTopico);
|
|
if (panel != null)
|
|
{
|
|
panel.Controls.Remove(browser);
|
|
}
|
|
browser = null;
|
|
Task.Run(async () => await Variaveis.MqttService.UnsubscribeAsync(camera._mqttTopico));
|
|
lock (camera.processLock)
|
|
{
|
|
if (camera.pythonProcess != null)
|
|
{
|
|
camera.pythonProcess.Kill();
|
|
camera.pythonProcess = null;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
public string ID { get; set; }
|
|
public string Nome { get; set; }
|
|
public int Posicao { get; set; }
|
|
public bool Iniciada { get; set; } = false;
|
|
public CameraService camera { get; set; } = new CameraService();
|
|
public ChromiumWebBrowser browser { get; set; }
|
|
public Panel panel { get;set; }
|
|
public ComboBox combo { get;set; }
|
|
public string ArquivoLeitura { get; set; }
|
|
public int MaxLeituras { get; set; }
|
|
public string VideoPorta { get; set; }
|
|
public string VideoUrl { get; set; }
|
|
public string MqttTopico { get; set; } = "weed_detector";
|
|
public string DeviceID { get; set; }
|
|
public CameraCoordenadasFrameModel Leitura { get; set; } = new CameraCoordenadasFrameModel();
|
|
|
|
public int ErvasNoRadar { get; set; }
|
|
|
|
public DateTime UltimaMensagemRecebida { get; set; } = DateTime.MinValue;
|
|
public DateTime UltimaMensagemProcessada { get; set; } = DateTime.MinValue;
|
|
|
|
|
|
|
|
}
|
|
}
|