static void Main(string[] args) { try { Console.Title = "Simulator_TechBrain"; Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); var config = DevServerConfig.ReadFromFile(); var devServer = new DevServer(config); if (devServer.DeviceRepository.Count == 0) { devServer = new DevServer(config, Simulator.GenerateNewDevices(config)); } devServer.Start(); var devices = devServer.DeviceRepository.GetAll(); var sim = new Simulator(config, devices); sim.Start(); foreach (var dev in devices) { dev.IpPort = config.Esp_TcpPort; dev.SleepTime = null; } Thread.Sleep(100); devServer.PauseScan(); while (true) { sim.EspSend(devices[0].SerialNumber); sim.EspSend(devices[1].SerialNumber); Wrap("ping Esp", () => devices[0].Ping(), () => devices[0].IsOnline.ToStringNull()); Wrap("ping Esp_Avr", () => devices[1].Ping(), () => devices[0].IsOnline.ToStringNull()); Wrap("time Esp_Avr", () => devices[1].SetTime(DateTime.Now)); Wrap("sensors Esp_Avr", () => devices[1].UpdateSensors(), () => "=>" + Extender.JoinToString("; ", devices[1].Sensors.Select(v => v.Value as object))); Wrap("outputs Esp", () => devices[0].SetOut(1, 23)); Wrap("outputs Esp_Avr", () => devices[1].SetOut(1, 100)); Wrap("sleep Esp", () => devices[0].Sleep(TimeSpan.FromSeconds(10))); Wrap("sleep Esp_Avr", () => devices[1].Sleep(TimeSpan.FromSeconds(40))); devServer.DeviceRepository.Commit(); Console.ReadLine(); } } catch (Exception ex) { Trace.WriteLine(ex); } }