Scripts for Yaesu Wires-X node software
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
templates
.gitignore
README.md
wires2aprs.pl
wires2html.pl

README.md

wires-scripts

Scripts to mine information from the Yaesu Wires-X software and do useful things with it. These are scripts written in Perl. The scripts have been tested on Windows 7 (32bit) using the Strawberry Perl. To be precise, at the time of writing the installed version of Strawberry Perl was 5.24.0.1 32bit.

Getting Started

You will need the have a node running Yaesu Wires-X software up and running. You will also need to have login information for the APRS-IS to run the wires2aprs.pl script and a FTP account somewhere to use the wires2html.pl script.

Prerequisites

Unfortunately the Microsoft Windows 7 Operating System does not ship with a Perl interpreter. Download Strawberry Perl from http://strawberryperl.com and install.

Once installed, some additional Perl modules are needed. Those are available from CPAN. Many good things can be found there, but let's focus on the task at hand.

Open a Command Prompt (Start Menu -> Search Box -> type 'cmd' folled by the enter key) and enter the following commands. Wait for each to complete before proceeding with the next command.

cpanm install HTTP::Tiny
cpanm install Config::Tiny
cpanm install IO::Socket::Timeout

The Wires-X web server is needed for wires2html.pl to be able to access information about the node status. To enable and run the web server follow these steps:

Tool(T) > Plugin set
  AddModule
    WiresWeb.dll
Tool(T) > WIRES WebServer
  Access password    :    jones
  Port No.           :    46190
  Remote Control     :    check

Installing

Clone or download the current version of these scripts and place in a convenient location. I like to put them into the Documents folder. This should be right alongside (not inside) the Wires-X created WIRESXA folder.

In order to run the scripts some configuration files are needed. The scripts, when executed with the -s command line option will dump an example configuration to the screen. Best is to capture this output to a file and edit each appropriately. To do this, open a command prompt again, or reuse the command prompt from the earlier Strawberry Perl installation step.

To get the example configurations for wires2aprs.pl:

cd %HOMEPATH%\Documents\wires-scripts
wires2aprs.pl > wires2aprs.cfg

To get the example configurations for wires2html.pl:

cd %HOMEPATH%\Documents\wires-scripts
wires2html.pl > wires2html.cfg

Now edit these files to your liking. Having a FTP account somewhere can be tremendously helpful to make good use of wires2html.pl. Having an amateur radio callsign and the appropriate APRS-IS password will make wires2aprs.pl potentially useful.

Running the scripts

Open the wires-scripts folder in Windows Explorer and double-click either wires2aprs.pl or wires2html.pl. Each script will run and execute in a continuous loop. The default settings for timing seem to be reasonable to me. But the timing can be adjusted by specifying command line options or specifying options in the configuration file. The example configurations created will have all available options contained within.

To have these scripts run when the system starts, add them to the Startup folder.

Configuration

Hopefully the configuration files are self-explanitory.

wires2aprs.cfg

#
# The sample configuration file for wires2aprs.pl
#

#
# The following path substutions are supported:
#
# %HOMEPATH%    current users home directory
#

# Wires webserver access
[wiresx]
accesslog   = %HOMEPATH%/Documents/WIRESXA/AccHistory/WiresAccess.log

# APRS-IS login
[aprsis]
server      = noam.aprs2.net
port        = 14580
callsign    = N0CALL-YS
password    = 12345
comment     = via Wires-X

# Script paramters, command line takes precedence
#
# expire    - how old is too old for wires log entries in seconds
# beacon    - minimum delay between repeated beacons in seconds
# interval  - interval to read the log file in seconds
[script]
expire      = 180
beacon      = 120
interval    = 60

# Call signs that we filter
#
# See symbol table
# http://wa8lmf.net/miscinfo/APRSsymbolcodes.txt
# http://wa8lmf.net/aprs/APRS_symbols.htm
#
# overlay = which overlay of symbols to use, should be either / or 
# symbol  = symbol to use from symbol table
#
# Coordinates can be entered.  This is useful for stations that do not
# transmit coordinates, such as the FTM-3200, and are fixed stations.
#
[N0CALL-0]
iscall      = yes
overlay     = /
symbol      = -
latitude    = 43.806111
longitude   = -81.273889

[N0CALL-7]
iscall      = yes
overlay     = /
symbol      = [

[N0CALL-9]
iscall      = yes
overlay     = /
symbol      = >

[N0CALL-14]
iscall      = yes
overlay     = /
symbol      = k

wires2html.cfg

#
# The sample configuration file for wires2html.pl
#

#
# Enabling the Wires-X web interface:
#
#    Tool(T) > Plugin set
#      AddModule
#        WiresWeb.dll
#
#    Tool(T) > WIRES WebServer
#      Access password    :    jones
#      Port No.           :    46190
#      Remote Control     :    check
#
#    Now accessible via 
#      http://127.0.0.1:46190/?wipassword=jones
#
# The following path substutions are supported:
#
# %HOMEPATH%    current users home directory
#

# Wires webserver access
[wiresx]
host        = 127.0.0.1
port        = 46190
password    = jones
accesslog   = %HOMEPATH%/Documents/WIRESXA/AccHistory/WiresAccess.log

# Node location
#
# For now manually configured and not pulled web interface (yet)
#
[node]
latitude    = 43.806111
longitude   = -81.273889

# FTP target
#
# FTP login information
# 
[ftp]
host        = ftp.qsl.net
username    = n0call
password    = topsecretpassword

# HTML and text templates
#
# To see what each html style produces change the configuration file
# and evaluate the output generated.
#
# trim          number of lines to keep in trim(med) log output
# dir           local directory to look for template files
# binary        file extensions exempt from substitutions
# mapstyle      how to display markers on the map
#       plain       plain map
#       plainage    plain map with aging panel
#       cluster     cluster markers
# maplink       how to link coordinates in heardlog
#       plain       plain map
#       plainage    plain map with aging panel
#       cluster     cluster markers
#       google      link to Google maps URL instead of own map
#       none        don't display map link
# liststyle     how to construct the lists, valid values:
#       br          list wrappen in <div> using <br> with each line
#       div         table styled using <div> containers
#       simple      simple line breaks using <br> html tags
#       table       table styled using <table> tags
#       ul          simple unordered list using <ul> and <li> tags
# seperator     string used as seperator between elements when using
#               list styles 'br' or 'ul'
#
[html]
trim        = 6
dir         = templates
binary      = png gif jpg jpeg pdf js
mapstyle    = plain
maplink     = plain
liststyle   = table
seperator   = &nbsp;

# API Key for Google Maps
#
# See https://developers.google.com/maps/documentation/javascript/get-api-key
#
[google]
apikey      = google-maps-api-key

# Script paramters, command line takes precedence
#
# interval  - interval to read the log file in seconds
[script]
interval    = 60

Built With

  • Perl - The Perl 5 programming language
  • Strawberry Perl - Perl for Windows
  • HTTP::Tiny - HTTP::Tiny - A small, simple, correct HTTP/1.1 client
  • Config::Tiny - Config::Tiny - Read/Write .ini style files with as little code as possible
  • IO::Socket::Timeout - IO::Socket::Timeout - IO::Socket with read/write timeout

Contributing

Any suggestions, comments, improvements are welcome.

Authors

License

This project is licensed under the GPLv3 License - see the GNU General Public License for details