VE3SUN APRS Monitor
Triggering Events with APRS
APRS Monitor is a small APRS-IS client for Windows which can monitor APRS packets for a specific callsign, a geographical area, or other filter parameters and trigger actions based on the contents of the packet.
For example, whenever my callsign appears on the air, the program accesses an IFTTT Maker link which can be programmed to send an email, an SMS, a phone notification, a twitter message, or even call a phone number or adjust a thermostat.
Although the example uses IFTTT the link can be to your own server, or one of the many similar services now being offered to connect web events and IoT devices to other devices and services.
Why would I want to do this?
1. We are on a well system that is far from the house. When something goes wrong, we have no water. I needed a system to tell me when our water tank level is low due to a failure of the pump or float switch. Since there may be no power and the tank is a good hike up the hill, I decided there might be an APRS solution.
I installed a $100 AP510 self contained APRS Tracker Radio on top of the tank with a float switch to turn it on if the water level falls below the normal range. Fortunately, there are several digipeaters and igates near me, so reception is very reliable. As soon as a packet is sent, it is forwarded to the APRS-IS network. If it matches the APRS_Mon filter, it is sent to APRS_Mon. If the packet matches the trigger filter an alert is sent by SMS that tells me to check out the water system. Normally, when there is adequate water in the tank, the radio does not use any power, so the battery should last a long time.
2. After testing the above system, I realized that I received the alert within seconds. The second application is a "doorbell" for our very long driveway. When a car passes a motion sensor, the alert is sent and APRS_Mon sounds the doorbell. I can be at the door before the UPS guy gets here.
3. The range filter can trigger an alert when an APRS equipped vehicle enters the target area. For example, when your friends get within 200 meters of the local meeting place. Or, you can trigger an alert when a ham passes through your village.
4. The motion detector combination could easily be used as an alarm on remote repeater sites or elsewhere out of range of normal communications.
5. An alert can be sounded when the battery in the transmitter gets below the normal range of charging and discharging, indicating a power failure or problem with the charger.
6. Got suggestions for more uses? I would love to hear them. If new features are needed, I can add them to the program.
APRS_Mon requires no special installation. Download the file and unzip it to a folder and run it. Settings are saved in APRS_Mon.ini so it can be moved easily to a USB stick. It should run with all versions of Windows from W95 to W10. You will probably have to give it permission to run and allow it to access the internet. You may have to run it as administrator and in a different folder from the c:\Program Files, depending on your security settings and version of Windows.
APRS_Mon is in the alpha stage of testing. Expect bugs and incomplete features. Your feedback will help to make the program better and more useful. Please be patient.
Owner Callsign. (e.g. AB6WM-03) The first time you run APRS_Mon, you will be asked for the owner callsign. This is your identification on APRS-IS, the internet APRS service. This identification must be unique over the entire APRS network. Do not use the same SSID as you use in your vehicle or on your digipeater. Do not make up a callsign or use anyone else's callsign. Currently, there are no facilities in this program to send messages, so non-licensed users can make up a unique identifier and hams can use an SSID suffix like -MN for monitoring only. Sending messages can be added if this is a desirable feature.
PassCode. If you are already a user of APRS-IS with another client, you can use the same passcode in this program. At this time, the program has no features that send data from the program to the network, so a PassCode is not necessary. If you use a PassCode, your ID will show as verified on the server response. Otherwise, leave it as -1 or blank.
File Menu - Autosave Log File. If checked, a log of all data received is saved to the same folder the program is running in. A new log file is started for each day.
Settings - Server. Choose the appropriate server for your geographical location: noam.aprs2.net for North America, soam.aprs2.net for South America euro.aprs2.net for Europe & Africa, asia.aprs2.net for Asia, aunz.aprs2.net for Oceania.
Settings - Port. Choose the Port to connect to. This will almost always be 14580. More information is on the Server Page. If connecting to a different server, check the information on Port 14501 for current status. Once you have entered a server name, the Web - Server Status menu item will open the status page in your browser.
Settings - Callsign to Monitor. (e.g. VE3SUN* or AE5PL-09) Enter the callsign you wish to monitor. A wildcard * may be used to monitor all of the SSIDs at once. You can minimize traffic by selecting a narrow filter, such as VE3SUN-13, so that only packets from that particular transmitter will be forwarded.
Action - Enable. When checked, the actions are enabled when the trigger criteria is met.
Action - Trigger - Trigger String. A string which must be present in the packet to trigger an action. A specific callsign can be used to monitor specific transmissions. Alternatively, a specific code string can be put in a message or in the comment field of a location beacon packet. The trigger is not case sensitive. A numeric value can be used if telemetry is included in the comment field. Leave blank if any packet meeting the radius or filter criteria is good enough.
Action - Trigger - Range Filter will filter messages by location. The filter is in the format Latitude(N)/Longituge(E)/Range(km). An example would be 37.04/-122.50/1.0 to watch a 1 km radius circle around a point in California. If your friends have APRS in their car, this can be used to monitor when they show up at the local coffee shop.
Action - Trigger - Custom Filter allows the construction of any filter acceptable to the APRS-IS network. The method for constructing filters is shown on the Server Side Filter Commands page. You do not need to include the word filter. Radius and weather filters are added to the custom filter if they are present, so you don't have to have both.
Action - Frequency. How many minutes to wait after triggering an action before triggering another one. This prevents the program from sending too many emails or notifications.
Action - URL. This is the URL that will be contacted when an action is triggered. It could be a special URL on your own web site, such as the test URL: http://ve3sun.com/APRS/test.php?action=log, which will just log your action to the log file and acknowledge it. Or, it can be used with services such as the IFTTT Maker Channel, to trigger an email, a phone call, a text message, or log your status to a cloud server file.
IFTTT Maker Channel URLs are assigned when you set up an account and first use the Maker channel. They are simply of the form: https://maker.ifttt.com/trigger/APRS/with/key/yourownkey. It is very easy.
Leave the URL blank if you do not need to trigger a web service.
Play Sound. Play an alert sound when an event triggers an action. You can change the sound file by editing APRS_Mon.ini.
Once you have the settings in place it is time to test the connection.
Settings - Autoconnect. When checked, the program will automatically connect to the server when run. It will also automatically reconnect if the connection is dropped.
Minimize to Tray. If the window is minimized, a new icon will be added to your tray. The program will continue to run and perform actions when triggered.
Frequently Asked Questions
Ask and I will answer.
Hosted by BenLo Park