Send serial to Comtrol Devicemaster with Arduino

In my professional life I deal with serial devices Ad Nauseum. Sometimes they're remotely located. This makes remote control easier!

Similar projects worth following
Okay, you there. You're a hacker. You work in a place where you need to do serial control of various vendor devices. Sure, any number of terminal based software packages will work. But only locally. So if the device is in a remote location, accessible only via IP, what can you do?

There are a number of devices on market that allow serial tunnels (I know, I've used a few)....but sometimes the messages you need to send are repetitive, or used by inexperienced users, and sometimes ergonomics plays a role.

So, being a proper designer, you look for a solution that simplifies the interface, makes the system fairly foolproof, and if you get lucky saves quite a few bucks over other alternatives.

Some time ago (about 2 years at this point) I wanted to learn how to program an Arduino. I'm not up to the level of some of you guys (and ladies) out there when it comes to this stuff. I'm self taught. What little I've learned has allowed me a career that is quite rewarding.

For me, just grabbing an arduino and making the LED blink was insufficient. I've seen a number of projects done with the thing on this site, and knew I could make it do more. So I look for something at work I can improve with the system I'm working to learn. Control of a serial device remotely became that goal.

I began with using the serial shield and using existing Comtrol Devicemaster units to use a serial tunnel to control the units. That part was fairly straightforward. This solution did not satisfy me because after reading the specifications of the Comtrol units I was sure that I could do the tunnel without a unit being on my local end.

I knew this much (fingers barely spaced apart) about IP socket requests. But I could read data streams in Wireshark, and knew I could figure it out with a little work. Turns out it wasn't difficult at all...just never found anything online that ever attempted this before.

Details in the next entry.

  • 1 × Arduino Uno
  • 1 × Wiznet Arduino ethernet shield
  • 1 × Arduino breakout board
  • 1 × Arduino LCD 16x2 with buttons shield
  • 1 × Comtrol DeviceMaster RTS Or an equivalent Serial tunnel device from Comtrol

View all 6 components

  • 1
    Step 1

    Normally used DeviceMaster product.

    This is the device I most commonly use. Normally I use it to provide a serial tunnel across my networks (both public and VPN) to control devices remotely. Works very well in those cases and I urge those of you looking for an off the shelf solution to look to these devices. Not a spammer here mind you, just a good product that does what it promises.

  • 2
    Step 2

    So, the devicemaster works with the tunnel, which is where my journey began, UDP signaling, where I went first when trying to use this with an arduino, and finally with TCP socketing. The TCP sockets are how it achieves the tunnel. This information is not very well documented anywhere from what I can tell.

  • 3
    Step 3

    What I was trying to achieve was learning arduino. I'm a fast learner, but I prefer to have a product or problem to solve prior to learning a new system.

    Where I work, I have a very controllable unit at a remote site for adjusting audio levels. It responds to GPIO to trigger macros, Serial to do more complicated things, and with one version I have deployed it will take Telnet commands in about the same format as a serial command sent. I did try Telnet protocols with the other unit, but Arduino didn't seem to end the connection cleanly enough to be reliable.

    So, back to serial....

View all 13 instructions

Enjoy this project?



RoboMonkey wrote 01/06/2017 at 21:05 point

BTW, it's been over 8 months since I deployed this equipment and the system works incredibly well.  thanks for watching.  this is one I'm quite pleased with.

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates