Solved

How to access serial port on Remote Machine

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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Suggested Solutions

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

810 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