public Startup(IConfiguration configuration) { Configuration = configuration; MqttService.Conectar("WEBKobra" + r.Next(0, 10000), "broker.hivemq.com"); MqttService.Conectado += MqttService_Conectado; MqttService.MensajeRecibido += MqttService_MensajeRecibido; }
public PanelUsuario(Usuario usuario) { InitializeComponent(); this.SizeChanged += PanelUsuario_SizeChanged; timer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 0, 100) }; timer.Start(); timer.Tick += Timer_Tick; r = new Random(); MqttService.Conectar("SolucionIoTWPF" + r.Next(0, 100000).ToString(), "broker.hivemq.com"); MqttService.Conectado += MqttService_Conectado; MqttService.MensajeRecibido += MqttService_MensajeRecibido; MqttService.Error += MqttService_Error; MqttService.Mensaje += MqttService_Mensaje; model = this.DataContext as PanelUsuarioModel; model.Usuario = usuario; model.Dispositivos = FactoryManager.DispositivoManager().DispositivosDeUsuarioPorId(usuario.Id).ToList(); lstDispositivos.ItemsSource = null; lstDispositivos.ItemsSource = model.Dispositivos; topico = ""; }
public DispositivoTabbedPage(PanelUsuarioModel model) { InitializeComponent(); r = new Random(); log = new List <string>(); this.model = model; this.BindingContext = model; model.LecturasDelDispositivo = FactoryManager.LecturaManager().LecturasDelDispositivo(model.DispositivoSeleccionado.Id).ToList(); MqttService.Conectar("SolucionIoTMovil" + r.Next(0, 1000).ToString(), "broker.hivemq.com"); MqttService.Conectado += MqttService_Conectado; MqttService.Error += MqttService_Error; MqttService.Mensaje += MqttService_Mensaje; MqttService.MensajeRecibido += MqttService_MensajeRecibido; model.LecturasDelDispositivo = FactoryManager.LecturaManager().LecturasDelDispositivo(model.DispositivoSeleccionado.Id).OrderBy(e => e.FechaHora).ToList(); lstLecturas.ItemsSource = null; lstLecturas.ItemsSource = model.LecturasDelDispositivo; topico = "SolucionIoTKobra/" + model.DispositivoSeleccionado.Id; LlenarComandos(); Graficar(); mensajeRecibido = null; Device.StartTimer(TimeSpan.FromMilliseconds(100), () => { lstLog.ItemsSource = null; lstLog.ItemsSource = log; if (mensajeRecibido != null) { if (mensajeRecibido.Topico == topico) { log.Add($"<{ mensajeRecibido.Mensaje}"); if (mensajeRecibido.Mensaje.Contains("=")) { string[] parte = mensajeRecibido.Mensaje.Split('='); switch (parte[0]) { case "B": lblEB.Text = parte[1] == "1" ? "Encendido" : "Apagado"; break; case "R1": lblER1.Text = parte[1] == "1" ? "Encendido" : "Apagado"; break; case "R2": lblER2.Text = parte[1] == "1" ? "Encendido" : "Apagado"; break; case "R3": lblER3.Text = parte[1] == "1" ? "Encendido" : "Apagado"; break; case "R4": lblER4.Text = parte[1] == "1" ? "Encendido" : "Apagado"; break; case "R": lblER1.Text = parte[1][0] == '1' ? "Encendido" : "Apagado"; lblER2.Text = parte[1][1] == '1' ? "Encendido" : "Apagado"; lblER3.Text = parte[1][2] == '1' ? "Encendido" : "Apagado"; lblER4.Text = parte[1][3] == '1' ? "Encendido" : "Apagado"; break; case "M": lblEM.Text = DateTime.Now.ToShortTimeString(); break; default: break; } } } mensajeRecibido = null; } return(true); }); Thread.Sleep(2000); MqttService.Suscribir("SolucionIoTKobra/" + model.DispositivoSeleccionado.Id); }