コード例 #1
0
ファイル: ThreadWork.cs プロジェクト: g23988/holyshit
        public bool Start()
        {
            bool success = false;
            SerialPort serialPort;
            try
            {
                SendCommand newCommand = new SendCommand(config);
                serialPort = new SerialPort(threadSerialPort, baudRate, Parity.None, 8, StopBits.One);
                serialPort.Open();
                while (true)
                {
                    string message = serialPort.ReadLine().Trim();
                    string[] submessage = message.Split(':');
                    switch (submessage[0])
                    {
                        case "Lock":
                            if (submessage[1]=="open")
                            {
                                newCommand.openlock();
                            }
                            if (submessage[1]=="close")
                            {
                                newCommand.closelock();

                            }
                            break;
                        case "Toilet":
                            if (submessage[1]=="in")
                            {
                                newCommand.occupy();
                            }
                            if (submessage[1]=="out")
                            {
                                newCommand.release();
                            }
                            break;
                        case "beep":
                            newCommand.beepRFID(submessage[1]);
                            break;
                        default:
                            Console.WriteLine("什麼都沒做。");
                            break;
                    }

                }
            }
            catch (Exception)
            {
                success = false;
            }
            return success;
        }
コード例 #2
0
 //測試用的程式
 private static bool testModeTick(bool open,SendCommand newCommand)
 {
     //testmode
     while (config.testMode && open == true)
     {
         Console.WriteLine("======================================");
         Console.WriteLine("1.發出廁所占用事件。\n2.發出廁所釋放事件。\n3.發出廁所鎖門事件。\n4.發出廁所開鎖事件。\n5.發出RFID事件。\n6.發出活體感應。");
         string command = Console.ReadLine();
         switch (command)
         {
             case "1":
                 newCommand.occupy("test");
                 Console.WriteLine("已發送廁所占用事件。 toilet");
                 break;
             case "2":
                 newCommand.release("test");
                 Console.WriteLine("已發送廁所釋放事件。 toilet");
                 break;
             case "3":
                 newCommand.closelock("test");
                 Console.WriteLine("已發送廁所鎖門事件。 lock");
                 break;
             case "4":
                 newCommand.openlock("test");
                 Console.WriteLine("已發送廁所開鎖事件。 lock");
                 break;
             case "5":
                 newCommand.beepRFID("test","test");
                 Console.WriteLine("已發送RFID事件。 beep");
                 break;
             case "6":
                 newCommand.bathHOT("test");
                 Console.WriteLine("已活體感應事件。 bathHOT");
                 break;
             default:
                 open = false;
                 Console.WriteLine("不在動作清單中的命令。");
                 break;
         }
     }
     return open;
 }