Solved

How to access serial port on Remote Machine

Posted on 2008-10-30
3
1,643 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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

747 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

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now