Saturday, December 5, 2015

YoctoAzEl - Configure for Remote Control

First of all CLICK on any of these images to see larger versions zoomed in.

There is a Serial Command specification used to control Ham Radio Rotator Controllers from remote applications.  It's called "DCU-1" and I think was originally used in HyGain Controllers.  It's been around for years, and many 3rd party applications as well as rotor controller manufacturer's use this simple command structure to inter-communicate with hardware based Rotor Controllers.  DX Labs is one such software (for example), and an example of a rotor controller that exposes this functionality via it's serial port might be "Green Heron"s RT-21 or the HyGain DCU-1, among a raft of others.

So for example in DX Labs Suite "Spot Collector" application allows you to right click on a callsign that's been spotted, and select to turn your rotor 'short path' or 'long path' to the radio station that was spotted. ( Here's a functional DEMO of this working NOW http://blog.dxers.info/2015/12/yoctoazel-controlled-by-dx-labs-dxview.html )



I've used this feature over the years and found it to be VERY useful.  It allows the realization that a station I'm interested in has been heard by someone recently, and provides the functionality to simply right-click and select that path I want my antenna to be turned, and it just does it for me.  Freeing me up to prepare for attempting to make the contact as soon as my antenna is turned to the correct path.

Since I've used this quite frequently and found it to be a very nice feature, and since I'll be replacing my RT-21 with my own controller and using of my own software "YoctoAzEl", I thought I would try to implement a similar functionality within YoctoAzEl.

This is my first attempt at doing something like this.  And so far it's not exactly what I've described above.  BUT it's VERY COOL all the same.  And I don't think it'll require much to implement this exactly as the functionality I've noted above works now that I've completed this phase.

What I've done is this.  

First I use a FREEWARE app which creates a Virtual Serial Port "Eltima".  The software is called VSP.  It can be downloaded here: http://new.hwg.cz/files/download/sw/version/hw-vsp3-multi_3-1-2.exe

Once that's installed start it up and configure it like this (for example):


Once this is saved it creates a virtual serial port using Eltima Drivers - It will even show up in your Device Manager as the Comm Port you named it.  (In this case COM40).

Then in my own software I configure it to connect to that COM40 at start up like this:




Now we have an open Virtual Comm Port, and YoctoAzEl is connected to it, waiting for incoming commands.

I tested this on my local PC, but then I was thinking wouldn't it be cool to control my software/rotor from a really remote location?  So I accessed a remote server located on the other side of the country which I have access to, and used TELNET to connect to port 3040 (as configured in VSP) [by the way I had to add a path through my router to allow this].

Then I started to issue commands...and WAH FRIGGIN LAH!  The damned thing works!  LOL duh...like it wouldn't right?


Now here is a short video demo of this in operation from start to finish.



The next phase for this will be a lot less impressive, and I'll simply use VSP to create a virtual comm port that is used solely on the local PC that will allow inter-application access directly to YoctoAzEl via a Virtual Comm Port and this effectively replicates what I described as the goal near the top of this blog post.

More on that once I've added it, tested and demo'd it.

UPDATE: I added it :-) ( Here's a functional DEMO of this working NOW http://blog.dxers.info/2015/12/yoctoazel-controlled-by-dx-labs-dxview.html )