Solved

How to access serial port on Remote Machine

Posted on 2008-10-30
3
1,728 Views
Last Modified: 2013-12-17
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
Comment
Question by:brodaseating
3 Comments
 
LVL 41

Accepted Solution

by:
graye earned 250 total points
ID: 22842738
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
 
LVL 1

Author Closing Comment

by:brodaseating
ID: 31511686
Thanks, I thought that might be the case.
0
 
LVL 7

Expert Comment

by:HalfAsleep
ID: 24058412
You could also map a com port to another host, with the "net use" command.

net use com5 \\client\com1
0

Featured Post

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question