public MainWindow() { InitializeComponent(); MQTTManager.TestConnection(); SensorClock = new Timer(new TimerCallback((state) => { ++Tick; if (addedDevices.Count > 0) { Dispatcher.Invoke(() => { for (var i = 0; i < addedDevices.Count; i++) { addedDevices[i].CurrentTick = Tick; Console.WriteLine(Tick.ToString() + "::" + addedDevices[i].LastTransmissionTick.ToString()); if (Tick - addedDevices[i].LastTransmissionTick > Threashold && addedDevices[i].Status == "Transmitting") { EndTransmission(i, "Paused"); } else if (Tick - addedDevices[i].LastTransmissionTick > Threashold && addedDevices[i].Status == "Paused") { addedDevices[i].BeginReading(); } else if (Tick - addedDevices[i].LastTransmissionTick <= Threashold && addedDevices[i].Status == "Paused") { StartTransmission(i, "Transmitting"); } } }); } })); SensorClock.Change(0, 5000); }
/// <summary> /// Create forms and setup. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void App_OnStartup(object sender, StartupEventArgs e) { AppDomain.CurrentDomain.UnhandledException += FatalExceptionHandler; Log.Instance.Info("**********************"); Log.Instance.Info("*** Toilet Project ***"); Log.Instance.Info("*********** v3.0.0 ***"); Log.Instance.Info("**********************"); LocalizationManager.Instance.SetDefaultLanguage(); _mainWindow = new MainWindow(); MainWindow = _mainWindow; // Set position var workingArea = SystemParameters.WorkArea; _mainWindow.Left = workingArea.Right - _mainWindow.Width - 5; _mainWindow.Top = workingArea.Bottom - _mainWindow.Height - 5; _mqttManager = new MQTTManager(HandleSignal); _backgroundThread = new Thread(ThreadStartingPoint); _backgroundThread.SetApartmentState(ApartmentState.STA); _backgroundThread.IsBackground = true; _backgroundThread.Start(); var contextMenu = new ContextMenu(); var exitItem = new MenuItem { Index = 1, Text = LocalizationManager.Instance.GetKeyValue("Exit") }; exitItem.Click += exitItem_Click; contextMenu.MenuItems.Add(exitItem); _notifyIcon = new NotifyIcon { Visible = true, Text = AppName, ContextMenu = contextMenu }; _notifyIcon.DoubleClick += delegate { // Show window _mainWindow.Show(); _mainWindow.WindowState = WindowState.Normal; _mainWindow.ShowInTaskbar = false; }; SetNotifyIcon(State.Off); Log.Instance.Info("Application initialized!"); }
static SmsRestApi() { string connectionString = MQTT_URL; string username = MQTT_USER; string password = MQTT_PASSWORD; var clientId = MQTTManager.BuildClientId(); if (smsMqttManager == null) { Console.WriteLine("Open MQTT"); smsMqttManager = new MQTTManager(connectionString, clientId, username, password); smsMqttManager.Start(channel); smsMqttManager.Publish(channel, $"@@@ New SMS rest api instance running on {Environment.MachineName} {Environment.UserDomainName} {Environment.UserName}"); } }
static TodoRestApi() { string connectionString = "tcp://m15.cloudmqtt.com:10989"; string username = MQTT_USER; string password = MQTT_PASSWORD; var clientId = MQTTManager.BuildClientId(); if (mqttManager == null) { Console.WriteLine("Open MQTT"); mqttManager = new MQTTManager(connectionString, clientId, username, password); mqttManager.Start(channel); mqttManager.Publish(channel, $"New todo rest api instance running on {Environment.MachineName} {Environment.UserDomainName} {Environment.UserName}"); } }
static void Main(string[] args) { string connectionString = "tcp://m15.cloudmqtt.com:10989"; string username = "******"; string password = "******"; const string channel = "/frederictorres/iotdashboard"; var clientId = MQTTManager.BuildClientId(); Console.WriteLine($"Starting mqttManager Console, clientId:{clientId}"); using (var mqttManager = new MQTTManager(connectionString, clientId, username, password)) { mqttManager.NotificationEvent += MqttManager_NotificationEvent; mqttManager.MessageArrived += MqttManager_MessageArrived; mqttManager.Start(channel); mqttManager.Subscribe(channel); while (true) { Console.WriteLine("Q)uit, S)end, C)lear"); var k = Console.ReadKey(true); if (k.Key == ConsoleKey.Q) { break; } if (k.Key == ConsoleKey.C) { Console.Clear(); } if (k.Key == ConsoleKey.S) { mqttManager.Publish(channel, $"[{Environment.MachineName}, {Environment.TickCount}]Working..."); } } } }
public void TestSetUp() { manager = new MQTTManager(); manager.publishData(new string[] { "sampleClient", "Hell0", "0", "true" }); }