I was thinking about how to prepared for a balloon launch carrying an APRS payload without actually launching a balloon and thought that if the APRS data could be simulated and transmitted from the ground anyone receiving the APRS packet would interpret it as if it where real and coming from a balloon. This would allow us to create a simulated balloon flight profile and then transmit it from the same area it would be flying from but it would not be in the air, but instead from a mobile vehicle. We could have two groups (e.g. one tracking team and one simulated balloon team) go out and exercise the equipment and verify they could recover the payload by succesfully finding the simulated payload. This method should also be picked up via the APRS IGATEs and on the Internet APRS-IS network so the folks supporting us from their home QTH could monitor
APRS.fi and track it as well.
I searched the Internet for various solutions and settled on the following:
- UI-View32 --> LINK
- NMEA Generator --> LINK
- Virtual Serial Port Emulator --> LINK
UI-View32 is a very popular APRS applications and I have spent many hours exploring it and I still find new things it can do (like this!). It has the ability to connect a GPS to it via a COM port. When a GPS is connected to UI-View it basically becomes a tracker like you would use in a balloon, but it is running on a PC. The next component is the NMEA Generator. I found the link to this on
WA8LMF site which is a great resource for all things APRS. The NMEA Generator is the key and it basically can generate the serial strings that come from a GPS and send them to a COM port. This makes UI-View think it is receiving GPS location data. So now I need to connect the NMEA Generator to UI-View32. To do this I use a Virtual Serial Port emulator. This allows both applications to run on the same PC and talk to each other. The nice feature of the NMEA Generator is its ability to take a .INI file that you have created and drag and drop onto the application (read the docs) and it will load a set of points that you have created for the flight or trip into the generator. See below for a file I created ti simulate a flight. I created the flight profile using real wind data and balloon weights, etc. using
Balloon Track for Windows another outstanding application. Balloon Track can export in many formats but I used CSV .because I need Lat, Lon, Altitude, and speed (mind your units!). Then I used Excel to format it to work in the INI file (Note: you need a sequence number D1, D2, D3, etc.)The key thing I discovered was unless you want the NMEA Generator to loop and repeat your data points, the last record should have a blank speed value. In addition, if you don't want the simulated balloon to continue to drift forever on the ground, the second to last speed value should be set to zero '0'.
I did all the experiments connected the APRS-IS and have not transmitted any of the packets on the air which is the next step and the final goal. I will need to see how this setup will run on a 800 Mhz Windows XP laptop.
[Option]
SpeedUnit=0
Version=Ver1.18
EngCharset=0
EngFontName=Arial
EngFontSize=8
JpCharset=1
JpFontName=Tahoma
JpFontSize=8
TrackMax=50
TimeDiff=
MagVari=
MainTop=36
MainLeft=28
[Track]
D1=33.75176235,-118.0567753,85,2
D2=33.75188794,-118.0565514,106,20.37468822
D3=33.75331956,-118.0536856,323,24.08305198
D4=33.75508722,-118.0504115,542,27.7701033
D5=33.75649766,-118.0470814,768,25.93723385
D6=33.75714538,-118.0441726,999,20.37468822
D7=33.757194,-118.0424913,1235,11.10377883
D8=33.75679214,-118.0421775,1478,3.708363756
D9=33.75572611,-118.0429181,1729,9.249596954
D10=33.75412309,-118.0443713,1983,14.81214259
D11=33.75231754,-118.0461303,2246,16.66632447
D12=33.75014851,-118.0479573,2514,18.52050634
D13=33.74745902,-118.0495352,2791,20.37468822
D14=33.74472201,-118.0502351,3075,18.52050634
D15=33.73888334,-118.0503581,3667,18.52050634
D16=33.73346457,-118.048734,4297,16.66632447
D17=33.7281628,-118.0484004,4971,14.81214259
D18=33.72100578,-118.0522323,5694,20.37468822
D19=33.71070127,-118.0585446,6477,27.7701033
D20=33.69364442,-118.0672461,7332,40.74937644
D21=33.66465533,-118.079235,8275,61.12406466
D22=33.62329029,-118.0992921,9329,79.64457101
D23=33.59469352,-118.1175273,9999,90.74834984
D24=33.5864404,-118.1227875,9329,90.74834984
D25=33.57353805,-118.1290326,8275,79.64457101
D26=33.56386113,-118.1330223,7332,61.12406466
D27=33.55781541,-118.1360955,6477,40.74937644
D28=33.55396045,-118.1384479,5694,27.7701033
D29=33.55114968,-118.1399464,4971,20.37468822
D30=33.54897387,-118.1398074,4297,14.81214259
D31=33.54665698,-118.139112,3667,16.66632447
D32=33.54406341,-118.1391638,3075,18.52050634
D33=33.54282553,-118.1394783,2791,18.52050634
D34=33.54158725,-118.1402014,2514,20.37468822
D35=33.54057153,-118.1410532,2246,18.52050634
D36=33.53971191,-118.141887,1983,16.66632447
D37=33.53893682,-118.1425865,1729,14.81214259
D38=33.53841359,-118.1429483,1478,9.249596954
D39=33.53821353,-118.1427921,1235,3.708363756
D40=33.53823878,-118.1419447,999,11.10377883
D41=33.53857184,-118.1404583,768,20.37468822
D42=33.53930566,-118.1387338,542,25.93723385
D43=33.54023695,-118.1370163,323,27.7701033
D44=33.54100122,-118.1354928,106,24.08305198
D45=33.54132354,-118.1349205,7,20.37468822
D46=33.54134483,-118.134878,0,0
D47=33.54134483,-118.134878,0,
[DGPS]
Invalid=,
SPS=,