Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1927
  • Last Modified:

How to access serial port on Remote Machine

Hi Experts,

I have written a small program that listens on a serial port (COM2). Upon DataReceived (event), I write the info to a DB for reporting. The program works well when installed locally. Is it possible to point the SerialPort class to a remote machine so I can run it from my desktop?

Thanks,

Matt
/*
 * File:        PhoneMonitor.cs
 * Author:      Matt Skelton
 * Date:        October 29, 2008    : Created
 *              October 30, 2008    : Updated
 * 
 * Description: The PhoneMonitor program listen to the COMx port (serial) 
 *              of a machine. On DataReceived (event), the info is written to DB.
 *              COMx can be changed to the desired serial port.
 */
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
 
namespace PhoneMonitor
{
    public partial class PhoneMonitor : Form
    {
        #region Attributes
 
        private SerialPort port = new SerialPort();
 
        #endregion
 
        #region Constructors
 
        public PhoneMonitor()
        {
            InitializeComponent();
 
            try
            {               
                if (port.IsOpen)
                {
                    port.Close();
                }
 
                port.PortName   = "COM2";
                port.BaudRate   = 19200;
                port.Parity     = Parity.None;
                port.DataBits   = 8;
                port.StopBits   = StopBits.One;
 
                if (port.IsOpen)
                {
                    port.Close();
                }
 
                port.Open();
                port.DtrEnable = true;
 
                port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
            
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
 
        #endregion
 
        #region Event Handlers
 
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {           
            textboxOutput.Text += port.ReadLine();
        }
 
        #endregion
    }
}

Open in new window

0
brodaseating
Asked:
brodaseating
1 Solution
 
grayeCommented:
I don't think you can run an application on your PC to monitor the serial port on a remote PC.
Having said that, you could create a classic "client server" application where a part of the app runs on your PC, and the part runs on the remote PC.   The two parts would use standard TCP/IP communication techniques to talk between the two.
Take a look at the following example:  http://www.codeproject.com/KB/IP/tcpclientserver.aspx
0
 
brodaseatingAuthor Commented:
Thanks, I thought that might be the case.
0
 
HalfAsleepCommented:
You could also map a com port to another host, with the "net use" command.

net use com5 \\client\com1
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now