Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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}");
            }
        }
Beispiel #5
0
        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...");
                    }
                }
            }
        }
Beispiel #6
0
        public void TestSetUp()
        {
            manager = new MQTTManager();

            manager.publishData(new string[] { "sampleClient", "Hell0", "0", "true" });
        }