Пример #1
0
 /// <summary>
 /// Connect the serial port at the specified speed.
 /// </summary>
 /// <param name="baudRate">Baud rate.</param>
 /// <param name="stopBits">Stop Bits.</param>
 /// <param name="parity">Parity.</param>
 ///
 public bool Connect(int baudRate, StopBits stopBits = StopBits.One, Parity parity = Parity.None)
 {
     serialPort.MessageReceived         += SerialPort_MessageReceived;
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     serialPort.SetPort(portName, baudRate);
     return(serialPort.Connect());
 }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="W800Rf32Lib.RfReceiver"/> class.
 /// </summary>
 public RfReceiver()
 {
     serialPort = new SerialPortInput();
     serialPort.SetPort(portName, 4800);
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     serialPort.MessageReceived         += SerialPort_MessageReceived;
 }
Пример #3
0
        public bool startService()
        {
            if (this.StartedService)
            {
                return(false);
            }

            mMechanicalConn = new SerialPortInput();
            mCodec          = new MotionCodec();
            mMechanicalConn.SetPort(mConnPort, mBaudrate);
            mMechanicalService = new MechanicalService(mMechanicalConn, mCodec);
            mMechanicalService.passingMessageEvent += new PassingMessageHandler(handleResponseMessage);
            if (!mMechanicalService.startService())
            {
                this.StartedService = false;
                return(false);
            }

            this.StartedService = true;
            this.ReadyMotion    = false;
            this.mReadyFlag     = true;
            this.enableMotion();
//            this.controlHomeMotion();
            if (this.mTimerCheckReady == null)
            {
                this.mTimerCheckReady = new DispatcherTimer();
            }
            this.mTimerCheckReady.Interval = TimeSpan.FromSeconds(1);
            this.mTimerCheckReady.Tick    += this.onTimerTick;
            this.mTimerCheckReady.Start();
            return(true);
        }
        public HongoComPort__()
        {
            bool end = false;

            serialPort = new SerialPortInput();
            serialPort.SetPort("COM3", 1740800);
            serialPort.Connect();

            serialPort.MessageReceived += delegate(object sender, MessageReceivedEventArgs args)
            {
                string testStr = Encoding.ASCII.GetString(args.Data);
                if (testStr.StartsWith("~"))
                {
                    sReceive.Clear();
                    testStr = testStr.Substring(1);
                }
                if (testStr.EndsWith("!"))
                {
                    end     = true;
                    testStr = testStr.TrimEnd('!');
                }
                lock (sReceive)
                {
                    sReceive.Append(testStr);
                }

                if (end)
                {
                    dataReceived(serialPort, sReceive.ToString());
                }
            };
        }
Пример #5
0
        public static void Main(string[] args)
        {
            var servicesProvider = BuildDi();

            using (servicesProvider as IDisposable)
            {
                serialPort = servicesProvider.GetRequiredService <SerialPortInput>();
                serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
                serialPort.MessageReceived         += SerialPort_MessageReceived;

                while (true)
                {
                    Console.WriteLine("\nPlease enter serial to open (eg. \"COM7\" or \"/dev/ttyUSB0\" without double quotes),");
                    Console.WriteLine("or enter \"QUIT\" to exit.\n");
                    Console.Write("Port [{0}]: ", defaultPort);
                    string port = Console.ReadLine();
                    if (String.IsNullOrWhiteSpace(port))
                    {
                        port = defaultPort;
                    }
                    else
                    {
                        defaultPort = port;
                    }

                    // exit if the user enters "quit"
                    if (port.Trim().ToLower().Equals("quit"))
                    {
                        break;
                    }

                    serialPort.SetPort(port, 115200);
                    serialPort.Connect();

                    Console.WriteLine("Waiting for serial port connection on {0}.", port);
                    while (!serialPort.IsConnected)
                    {
                        Console.Write(".");
                        Thread.Sleep(1000);
                    }
                    // This is a test message (ZWave protocol message for getting the nodes stored in the Controller)
                    var testMessage = new byte[] { 0x01, 0x03, 0x00, 0x02, 0xFE };
                    // Try sending some data if connected
                    if (serialPort.IsConnected)
                    {
                        Console.WriteLine("\nConnected! Sending test message 5 times.");
                        for (int s = 0; s < 5; s++)
                        {
                            Thread.Sleep(2000);
                            Console.WriteLine("\nSEND [{0}]", (s + 1));
                            serialPort.SendMessage(testMessage);
                        }
                    }
                    Console.WriteLine("\nTest sequence completed, now disconnecting.");

                    serialPort.Disconnect();
                }
            }
        }
Пример #6
0
 public DataPortal()
 {
     _serialPort = new SerialPortInput();
     _serialPort.SetPort(PortName, Baudrate);
     _serialPort.MessageReceived += SerialPortOnMessageReceived;
     _dataFrameSubject            = new Subject <DataFrame>();
     Messages = _dataFrameSubject;
 }
 public bool Connect(int baudrate)
 {
     _serialport.MessageReceived       += _serialport_MessageReceived;
     _serialport.ConnectedStateChanged += _serialport_ConnectedStateChanged;
     //
     _serialport.SetPort(_portname, baudrate);
     return(_serialport.Connect());
 }
Пример #8
0
 private void readRadioConfiguration_Btn(object sender, EventArgs e)
 {
     _sp = new SerialPortInput();
     _sp.SetPort("COM3", 9600);
     _sp.Connect();
     _sp.MessageReceived += OnMessageReceivedHandler;
     SendCommandsToRadio();
 }
Пример #9
0
 /// <summary>
 /// Connect the serial port at the specified speed.
 /// </summary>
 /// <param name="baudRate">Baud rate.</param>
 public bool Connect(int baudRate)
 {
     serialPort.MessageReceived       += serialPort_MessageReceived;
     serialPort.ConnectedStateChanged += serialPort_ConnectedStateChanged;
     //
     serialPort.SetPort(portName, baudRate);
     return(serialPort.Connect());
 }
Пример #10
0
        public static void OldMain(string[] args)
        {
            // NOTE: To disable debug output uncomment the following two lines
            //LogManager.Configuration.LoggingRules.RemoveAt(0);
            //LogManager.Configuration.Reload();

            serialPort = new SerialPortInput();
            serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
            serialPort.MessageReceived         += SerialPort_MessageReceived;

            while (true)
            {
                Console.WriteLine("\nPlease enter serial to open (eg. \"COM7\" or \"/dev/ttyUSB0\" without double quotes),");
                Console.WriteLine("or enter \"QUIT\" to exit.\n");
                Console.Write("Port [{0}]: ", defaultPort);
                string port = Console.ReadLine();
                if (String.IsNullOrWhiteSpace(port))
                {
                    port = defaultPort;
                }
                else
                {
                    defaultPort = port;
                }

                // exit if the user enters "quit"
                if (port.Trim().ToLower().Equals("quit"))
                {
                    break;
                }

                serialPort.SetPort(port, 115200);
                serialPort.Connect();

                Console.WriteLine("Waiting for serial port connection on {0}.", port);
                while (!serialPort.IsConnected)
                {
                    Console.Write(".");
                    Thread.Sleep(1000);
                }
                // This is a test message (ZWave protocol message for getting the nodes stored in the Controller)
                var testMessage = new byte[] { 0x01, 0x03, 0x00, 0x02, 0xFE };
                // Try sending some data if connected
                if (serialPort.IsConnected)
                {
                    Console.WriteLine("\nConnected! Sending test message 5 times.");
                    for (int s = 0; s < 5; s++)
                    {
                        Thread.Sleep(1000);
                        Console.WriteLine("\nSEND [{0}]", (s + 1));
                        serialPort.SendMessage(testMessage);
                    }
                }
                Console.WriteLine("\nTest sequence completed, now disconnecting.");

                serialPort.Disconnect();
            }
        }
Пример #11
0
        public SerialPort(string portName, bool isVirtual)
        {
            Name            = portName;
            serialPortInput = new SerialPortInput(portName, isVirtual);
            serialPortInput.SetPort(portName, 9600);

            serialPortInput.ConnectionStatusChanged += OnConnectionStatusChanged;
            serialPortInput.MessageReceived         += OnMessageReceived;
        }
Пример #12
0
 public void Create()
 {
     sw.Start();
     fpssw.Start();
     serialPort.SetPort("COM3", 115200, readerTaskTime: 25);
     serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
     serialPort.MessageReceived         += SerialPort_MessageReceived;
     serialPort.Connect();
 }
        public Task Initialize()
        {
            _logger.LogInfoMessage($"Serial port initializing on => portName:{_portName}, portSpeed:{_portSpeed}");
            _serialPort.SetPort(_portName, _portSpeed, StopBits.One, Parity.None, DataBits.Eight);
            var connectResult = _serialPort.Connect();

            if (!connectResult)
            {
                _logger.LogError($"Initializing: Serial port Connect - fail");
            }
            return(Task.CompletedTask);
        }
Пример #14
0
        // SeriPortForm Eventlari
        private void SeriPortForm_VisibleChanged(object sender, EventArgs e)
        {
            SerialPortForm seriPortForm = (SerialPortForm)sender;

            if (!seriPortForm.Visible)
            {
                string comName = seriPortForm.ReturnText;
                string comVal  = comName.Substring(comName.IndexOf("(COM") + 1, comName.IndexOf(")") - (comName.IndexOf("(COM") + 1));
                serialPort.SetPort(comVal, 115200);
                serialPort.Connect();
                seriPortForm.Dispose();
                if (lblStatus.InvokeRequired)
                {
                    lblStatus.Invoke(new Action(() => lblStatus.Text = "Status: Trying to connect..."));
                }
                else
                {
                    lblStatus.Text = "Status: Trying to connect...";
                }
                Helper.stopWatch.Start();
                Helper.threadIsConnect = new Thread(IsConnect);
                Helper.threadIsConnect.Start();
            }
        }
Пример #15
0
        public void Open()
        {
            _motorPort.MessageDataAdapterObject = new MotorControlDataAdapter();
            _motorPort.SetPort(SuperObject.Config.GoPort, 115200, System.IO.Ports.StopBits.One, System.IO.Ports.Parity.None, -1, -1);
            _motorPort.MessageReceived += _motorPost_MessageReceived;

            try
            {
                _motorPort.Connect();
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.ToString());
            }
        }
Пример #16
0
        private async Task <bool> TryConnect([NotNull] string portName)
        {
            _serialPort.SetPort(portName, 57600);
            _currentPort = portName;
            _serialPort.Connect();
            await Task.Delay(TimeSpan.FromMilliseconds(500));

            var timer = Observable.Timer(TimeSpan.FromMilliseconds(1000));

            timer.TakeUntil(_serialDataStream).Subscribe(_ => Close(null));
            _serialPort.SendMessage(Encoding.ASCII.GetBytes("get info"));
            await timer;

            return(_serialPort.IsConnected);
        }
Пример #17
0
        // Initialize biometric on serial port
        public static void Init(string port)
        {
            sp = new SerialPortInput();
            // Serial connection event handler
            sp.ConnectionStatusChanged += (s, e) => Connected = e.Connected;
            // Serial message event handler
            sp.MessageReceived += (s, e) =>
            {
                // Decode message
                string msg = Encoding.Default.GetString(e.Data);
                // Classify each message for each event handlers
                switch (msg)
                {
                case "OK1\r\n":
                    onSetFinger1?.Invoke();
                    break;

                case "OK2\r\n":
                    onSetFinger2?.Invoke();
                    break;

                case "OK3\r\n":
                    onSetFinger3?.Invoke();
                    break;

                case "ERR\r\n":
                    onSetError?.Invoke();
                    break;

                default:
                    onGet?.Invoke(msg.Replace("\r\n", ""));
                    break;
                }
                Console.WriteLine("Received message: " + msg);
            };
            Port = port;
            // Initialize port with 9600 baud rate
            sp.SetPort(port, 9600);
            // Start serial communication
            sp.Connect();
            // Set biometric on standby state
            Standby();
            // Disconnect biometric on application exit
            Application.ApplicationExit += delegate
            {
                sp.Disconnect();
            };
        }
Пример #18
0
        public static void InitSerialPort(string device, bool isVirtual)
        {
            _serialPort = new SerialPortInput(isVirtual);

            //_serialPort.SetPort(device, 38400);
            _serialPort.SetPort(device, 9600);
            _serialPort.ConnectionStatusChanged += SerialPort_ConnectionStatusChanged;
            _serialPort.MessageReceived         += SerialPort_MessageReceived;

            OpenConnection();

            _timerDataFlush          = new System.Timers.Timer();
            _timerDataFlush.Elapsed += new ElapsedEventHandler(OnTimerDataFlushEvent);
            _timerDataFlush.Interval = 250;
            _timerDataFlush.Enabled  = false;
        }
Пример #19
0
        private void Form1_Load(object sender, EventArgs e)
        {
            _serialPort = new SerialPortInput();

            // Listen to Serial Port events

            _serialPort.ConnectionStatusChanged += delegate(object sender2, ConnectionStatusChangedEventArgs args)
            {
                SetStatus("Waiting for connection", Color.Green);
                Log(txt);
            };

            _serialPort.MessageReceived += delegate(object sender2, MessageReceivedEventArgs args)
            {
                var binaryData = BitConverter.ToString(args.Data);
                var strData    = FromHex(binaryData);

                txt += strData;
                Log(txt);

                if (strData.Contains("WAITING"))
                {
                    SetStatus("Device connection on COM3", Color.Green);
                    ShowWifiConfigPanel();
                }
                else if (strData.Contains("READY"))
                {
                    deviceIpAddress = strData.Replace("READY", "");
                    SetStatus("Device connected on " + deviceIpAddress, Color.Green);
                    ShowConcordiaConfigPanel();
                }
            };

            // Set port options
            _serialPort.SetPort("COM3", 115200);

            // Connect the serial port
            _serialPort.Connect();
        }
Пример #20
0
        private void connectPort()
        {
            String SP = null;

            try
            {
                SP = cListPort.SelectedItem.ToString();
                if (SP != "")
                {
                    serialPort = new SerialPortInput();
                    serialPort.SetPort(SP, 9600);
                    serialPort.MessageReceived += SerialPort_MessageReceived;
                    serialPort.Connect();
                    lblStatus.Text = "Connect";
                }
                else
                {
                    MessageBox.Show("Please select COM Port !");
                }
            }
            catch (Exception e)
            {
            }
        }
Пример #21
0
        public HttpServer()
        {
            #region 初始化串口
            int    baudRate = 38400;
            string portName = "COM1";
            try
            {
                baudRate = Convert.ToInt32(ConfigurationManager.AppSettings["BaudRate"]);
            }
            catch (Exception)
            {
                Console.WriteLine("波特率获取失败");
                return;
            }

            if (Environment.OSVersion.Platform.ToString().StartsWith("Win"))
            {
                portName = ConfigurationManager.AppSettings["WinPortName"];
            }
            else
            {
                portName = ConfigurationManager.AppSettings["LinuxPortName"];
            }

            if (string.IsNullOrWhiteSpace(portName))
            {
                Console.WriteLine("串口获取失败");
                return;
            }

            serialPortInput.ConnectionStatusChanged += SerialPortInput_ConnectionStatusChanged;
            serialPortInput.MessageReceived         += SerialPortInput_MessageReceived;
            serialPortInput.SetPort(portName, baudRate);
            serialPortInput.Connect();

            Console.Write($"等待串口{portName}连接");
            while (!serialPortInput.IsConnected)
            {
                Console.Write(".");
                Thread.Sleep(1000);
            }
            Console.WriteLine($"\n串口{portName}连接成功");

            serialPortInput.SendMessage(new byte[] { 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x01, 0x00 });
            #endregion

            #region 初始化服务器
            var listener = new System.Net.Http.HttpListener(IPAddress.Any, 8081);
            try
            {
                listener.Request += async(sender, context) =>
                {
                    var request  = context.Request;
                    var response = context.Response;

                    //如果是GET请求
                    if (request.HttpMethod == HttpMethods.Get)
                    {
                        string content = @"<h2>提供POST方法测试</h2>
                                <form method=""POST"" action=""http://192.168.123.166:8081/login"">
                                    <input name=""data""></input>                                   
                                    <button type=""submit"">Send</button>
                                </form>";

                        await response.WriteContentAsync(MakeDocument(content));
                    }

                    //如果是POST请求
                    else if (request.HttpMethod == HttpMethods.Post)
                    {
                        var data = await request.ReadUrlEncodedContentAsync();

                        //登录
                        if (request.Url.LocalPath.ToLower().Contains("login"))
                        {
                            ProcessLogin(data, response);
                        }

                        //获取数据
                        else if (request.Url.LocalPath.ToLower().Contains("getdata"))
                        {
                            ProcessGetData(data, response);
                        }

                        //控制开关
                        else if (request.Url.LocalPath.ToLower().Contains("control"))
                        {
                            ProcessControl(data, response);
                        }

                        //登出
                        else if (request.Url.LocalPath.ToLower().Contains("logout"))
                        {
                            ProcessLogOut(data, response);
                        }
                        else
                        {
                            //请求出错
                        }
                    }
                    else
                    {
                        response.MethodNotAllowed();
                    }
                    response.Close();
                };
                listener.Start();

                Console.WriteLine("服务器已启动...");
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.ToString());
                listener.Close();
            }
            #endregion
        }
Пример #22
0
 public bool connect()
 {
     serialPort.SetPort(globalData.serialPort, 115200);
     return(serialPort.Connect());
 }
Пример #23
0
        public async Task <bool> Setup()
        {
            var serialPort = new SerialPortInput();

            // Listen to Serial Port events

            serialPort.ConnectionStatusChanged += delegate(object sender, ConnectionStatusChangedEventArgs args) {
                Debug.WriteLine("Connected = {0}", args.Connected);
            };

            serialPort.MessageReceived += delegate(object sender, MessageReceivedEventArgs args) {
                var msg = Encoding.UTF8.GetString(args.Data, 0, args.Data.Length);
                Debug.WriteLine($"Received message: {msg}");
            };

            serialPort.SetPort("COM4", 57600);

            // Connect the serial port
            serialPort.Connect();

            UInt32 _pid = 0x0042;
            UInt32 _vid = 0x2341;


            ////USB\VID_2341&PID_0042&REV_0001
            ////USB\VID_2341&PID_0042

            var aqs = UsbDevice.GetDeviceSelector(_vid, _pid);

            //string aqs = SerialDevice.GetDeviceSelector();
            var dis = await DeviceInformation.FindAllAsync(aqs);

            var myDeviceInfo = dis[0];

            ////SerialPort serialPort = null;

            //foreach (var di in dis) {
            //    if (di.Id.Contains("VID_2341")) {

            //        try {
            //            var serialPort = await SerialDevice.FromIdAsync(di.Id);

            //            if (serialPort != null)
            //                Debug.WriteLine($"serialPort: {di.Id} {serialPort.PortName}");
            //            else
            //                Debug.WriteLine($"serialPort: -");
            //        } catch (Exception ex) {

            //            Debug.WriteLine(ex);
            //        }



            //        //Debug.WriteLine($"Device: {device.Properties["FriendlyName"]}");
            //    }

            //}

            //_serialTransport = new SerialTransport {
            //    CurrentSerialSettings = { PortName = $"COM4", BaudRate = 57600, DtrEnable = false } // object initializer
            //};

            //_cmdMessenger = new CmdMessenger(_serialTransport, BoardType.Bit32);

            //_cmdMessenger.Attach(OnUnknownCommand);
            //_cmdMessenger.Attach((int)Command.Acknowledge, OnAcknowledge);
            //_cmdMessenger.Attach((int)Command.Error, OnError);
            //_cmdMessenger.Attach((int)Command.TempChange, OnTempChange);
            //_cmdMessenger.Attach((int)Command.KettleResult, OnKettleResult);
            //_cmdMessenger.Attach((int)Command.SsrChange, OnSsrChange);
            //_cmdMessenger.Attach((int)Command.Message, OnMessage);
            //// _cmdMessenger.Attach((int)Command.HeaterChange, OnHeaterChange);

            //_cmdMessenger.NewLineReceived += NewLineReceived;
            //_cmdMessenger.NewLineSent += NewLineSent;

            ////IsConnected = _cmdMessenger.Connect();



            //if (IsConnected) {
            //    await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
            //        _eventAggregator.GetEvent<ConnectionStatusEvent>().Publish(new ConnectionStatus { Type = ConnectionStatus.EventType.Connected });
            //    });

            //    RequestStatus();
            //}

            return(IsConnected);
        }
Пример #24
0
 public AIUIConnection(string comPort, int baudrate)
 {
     _serialPort = new SerialPortInput();
     _serialPort.SetPort(comPort, baudrate, System.IO.Ports.StopBits.One, System.IO.Ports.Parity.None, 100, -1);
     _serialPort.MessageReceived += _serialPort_MessageReceived;
 }