Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Temperaturserver by Simon.\nBeginne mit dem Einrichtungsvorgang.");
                Thread.Sleep(3000);
                Console.Clear();

                //Serielle Schnittstelle
                Console.WriteLine("Geben Sie zuerst die erforderlichen Informationen für die Verbindung via serieller Schnittstelle ein.");
                // Einlesen der Daten
                string   portName = SerialPortReader.getPortName();
                int      baudRate = SerialPortReader.getBaudRate();
                Parity   parity   = SerialPortReader.getParity();
                int      dataBits = SerialPortReader.getDataBits();
                StopBits stopBits = SerialPortReader.getStopBits();
                // Konfiguration der seriellen Schnittstelle
                SerialPortReader.setSerialSettings(portName, baudRate, parity, dataBits, stopBits);
                Console.WriteLine("Initialisierung der seriellen Schnittstelle abgeschlossen. Weiter gehts mit der Verbindung zum SQL-Server.");
                Thread.Sleep(3000);

                // MySQL-Anbindung
                while (!dbSetup())
                {
                }                      // Stellt die Verbindung zum MySql Server her.
                Console.WriteLine("Erfolgreich! Ab jetzt werden die Temperaturwerte in der Datenbank gespeichert.");
                Thread.Sleep(3000);
                Console.Clear();

                // Empfangen der Temperaturen und Speicherung in der DB (in eigenem Thread)
                Thread readAndSave = new Thread(new ThreadStart(readTempAndSaveToDB));
                readAndSave.Start();

                // Socket Server starten
                SocketServer.startServer();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ein Fehler ist aufgetregen, drücke eine beliebige Taste, um das Programm zu schließen.\nFehlermeldung: {0}", ex.Message);
                Console.ReadKey();
                Environment.Exit(0);
            }
        }
Ejemplo n.º 2
0
        private static void readTempAndSaveToDB()
        {
            //Empfangen und speichern in DB
            int counter = 0;

            while (true)
            {
                if (counter == 9) // Nur jede 10. Messung in DB speichern aufgrund der Auslastung
                {
                    SQLConnector.insertToDB(SerialPortReader.read());
                    counter = 0;
                    Console.WriteLine("(" + DateTime.Now.ToString("hh:mm:ss") + ") Neuer Wert empfangen und in Datenbank gespeichert.");
                }
                else
                {
                    SerialPortReader.read();
                    counter++;
                }
            }
        }