Send APRS RF message on system events

199 views
Skip to first unread message

Matthew Miller

unread,
Apr 17, 2018, 1:43:22 AM4/17/18
to Aprx software
I've encountered issues where my digipeater either loses connectivity or experiences a power failure and I'd like to receive notification about it.

I have watchdog scripts that monitor and attempt to reinitialize the wireless card and I have a UPS daemon which monitors for power failures and attempts to do a graceful shutdown but currently these only send out notifications to a local terminal (without power the internet also drops after a short time).  I can have both of these execute a terminal command or script when an event ocurrs.

Is there any way to have an external application tell APRX to send out status packets or a new message to another APRS station (via RF so it could be picked up by my handheld or another APRS iGate to reach me) upon trigger of an external event?

kd0...@gmail.com

unread,
Apr 17, 2018, 6:04:44 PM4/17/18
to Aprx software
This should be easy enough.

First modify your /etc/aprx.conf configuration file to add a beacon section that looks like this:

<beacon>
        beaconmode    both   
        cycle-size    1m
        beacon dstcall APRS file /tmp/somefile
</beacon>


In the above example, the single line of text contained in /tmp/somefile is sent to both aprs-is and radio at one minute intervals. If /tmp/somefile does not exist, aprx will not generate an error.  Keep in mind that the packet may not be sent the instant the file appears, but should go out within a minute, assuming the cycle size is one minute.

Next, create a shell script similar to this:

#!/bin/sh
echo ":KD0YUJ-9 :Power Failure-Digipeater" > /tmp/somefile
sleep 3m
rm /tmp/somefile


The script above creates a file in the proper messaging format.  The file is kept for 3 minutes so that the packet is sent 3 or 4 times, then deleted.  The call sign between the colons must be 9 characters to conform with the messaging spec.  Pad with spaces if the call sign + SSID combination is less than 9 characters.  The message itself should be less than or equal to 67 characters.




Matthew Miller

unread,
Apr 17, 2018, 11:13:57 PM4/17/18
to Aprx software
Just want to make sure I correctly understand - so in your example it would send "KD0YUJ-9" a message directly, not just a beacon?

Also, could that file have multiple lines (say if I want to attempt to send it to more than one destination, just repeat the line with different destination "addresses"?

Thanks,
Matt / KK4NDE

Matthew Miller

unread,
Apr 17, 2018, 11:20:09 PM4/17/18
to Aprx software
Also, would it be possible to have both a "station status" beacon AND also send the message to me directly?

I'm guessing if I understand this to do that I'd add a line in the config "beacon file /tmp/anotherfile" and have the script write a status message to the specified file so general "anyone in range" would see it?


On Tuesday, April 17, 2018 at 6:04:44 PM UTC-4, kd0...@gmail.com wrote:

kd0...@gmail.com

unread,
Apr 18, 2018, 6:15:13 PM4/18/18
to Aprx software


Not quite sure what you're asking here, but only a message packet is sent in the above example. The position packet with your digipeater information is handled by your existing <beacon> section.


Just want to make sure I correctly understand - so in your example it would send "KD0YUJ-9" a message directly, not just a beacon?


You can place multiple beacon lines in the <beacon> section, just make sure the filenames are different for this particular project.
They will all be sent sequentially throughout the one minute cycle, but won't necessarily begin at the top of the list.
        beacon dstcall APRS file /tmp/somefile0
        beacon dstcall APRS file /tmp/somefile1
        beacon dstcall APRS file /tmp/somefile2

kd0...@gmail.com

unread,
Apr 18, 2018, 6:28:31 PM4/18/18
to Aprx software

A status packet begins with a greater-than sign and would looks something like this:

echo ">Digipeater Power Fail" > /tmp/somefile4


Also, would it be possible to have both a "station status" beacon AND also send the message to me directly?


You can use the call sign ALL, CQ, or QST according to the spec to send to everyone.  This may not be appreciated by mobiles and portables receiving the packet however.  A better idea would be to use a group name, such as HOOES, so that only those interested will receive the group message.  The Yaesu FTM-400 is capable of group messaging, however I'm not sure about others.
 

Bill Arthur

unread,
Nov 28, 2020, 5:17:41 PM11/28/20
to Aprx software
I like this idea. In fact, it's quite easy to set up with apcupsd.
So I have it now set up, I'm waiting for a power outage to see how well it works.

BUT...  It puts out an error message every minute, 24/7 :     00:03:05 OpiQ-3 aprx: Failed to load anything from beacon file /var/tmp/pwrbcn

Is there a way to stop all the error messages?

Thanks!

Bill

Bill Arthur

unread,
Dec 8, 2020, 4:27:52 PM12/8/20
to Aprx software
I would REALLY like to implement this, but having 24/7 error messages stops me.
"kd0...@gmail" had been a great in this thread and I would like to contact him for help.
I do not have permission to contact authors in threads, is there a way to contact a moderator for help on this?

73,
Bill

Reply all
Reply to author
Forward
0 new messages