Monday, April 27, 2015

APRS & GPS Software

I continue to explore different software packages to aid in balloon payload tracking using APRS.

I came across two applications that may be useful:







The extModem application is a command line tool that implements a software packet modem. What's interesting is that it supports the KISS protocol via a TCP port. I have used SoundModem which is very good but only supports the AGW Packet engine API. With extModem and the Virtual Serial Port Emulator I can connect the modem to APRS applications that use KISS modems over COM ports.





The NMEA GPS application is an iPhone application that allows me to send GPS data to other applications over the local network. In this case I can again use the Virtual Serial Port Emulator to connect my iPhone GPS to legacy APRS applications that need to use a COM port.


Below are some notes of how I connected the extModem and NMEA GPS to UI-View32 using the Virtual Serial Ports:













Here is my Virtual Serial Port Emulator configuration











Sunday, April 19, 2015

VOIP Audio Tools for Ham Radio

I like to operate my FT-817 remotely over my local LAN and have been using IPSound to carry the audio for many years. This has worked great using Ham Radio Deluxe 5.x to control the radio tuning, etc. however I was thinking there must be something out there that will work with my iPad by now since IPSound is a Windows only application.

I figured I would look for a Open Source Voice Over IP (VOIP) application and found one called Linphone. Linphone is one of many SIP telephone applications available. What interesting is I have seen Hams using Wifi Mesh applications like Broadband-Hamnet and connecting ATA phone adapters like a Grandstream HT701 so they can talk over the mesh. They of course are using a analog phone and to dial each other you just use the IP address of each station, but why do that when you can just use a softphone like Linphone. You can setup the contacts and you will not need to remember IP addresses, etc. I guess depending on the analog phones they use with the ATA adapters they could have memories in the phones. The analog phone do make it simpler to use if it were needed in some emergency communication situations.

Anyway, I did successfully get Linphone running on my Windows XP PC that I use to control my FT-817 and another copy on my iPad. The only thing I discovered is that I could not achieve the same audio quality as IPSound. I tried all the Linphone CODECs and the best one was the G722. For standard HF radio use this is fine. There may be better CODECs available as plugins but I have not yet pursued that direction.

Since Linphone is multi-platform it makes it very handy (e.g. Andriod, IOS, Linux, Windows, etc.) There is also a command line mode that I have not tested yet. All in all this seems like a usable solution and I will use it to monitor some of the HF nets for the next few weeks.

Sunday, April 12, 2015

Balloon Tracking Simulation Experiment

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=,  

Thursday, April 9, 2015

Club Balloon Launch (no payload)

Last Saturday was our planned Club Balloon launch. Everything was going very well until we discovered our APRS payload was not working. After we spent more than 2 hours trying to resolve the issue we had to abort, however we had already filled the balloon partially so we ended up just releasing the balloon with no payload attached. Lesson learned was don't start filling the balloon until the complete payload chain is operational!

That lesson cost us a $40 balloon and $60 of helium.