jmkristian / node-agwpe

Communicate via AX.25 in the style of node net, using an AGWPE-compatible TNC.
Apache License 2.0
2 stars 0 forks source link

Beacons? #2

Open sgofferj opened 8 months ago

sgofferj commented 8 months ago

I'm not really deep in the AX.25/KISS stuff yet but is it possible to send beacons with this library? I tried to read through the code but it's a little bit above my weight-class.

jmkristian commented 8 months ago

When you say 'beacon' I suppose you mean an AX.25 Unnumbered Information (UI) frame that's not associated with an AX.25 connection. For example, many BBS stations transmit such a frame periodically, to announce they're available and summarize their capabilities.

node-agwpe versions <= 1.0.5 don't support this. I could add such a feature, without much effort. Would you use it?

There is already a feature enabling a station operating with a tactical call sign to transmit its legal call sign at the end of a connection. If a connection or server is created with an "ID" property in the options, then when the connection ends it will transmit the ID value in a UI frame addressed to the pseudo-call sign "ID".

sgofferj commented 8 months ago

As I said, I'm not really deep in the AX.25 topic technically. I actually tried to write a KISS over TCP packager but didn't get it working and then found your project while googling. What I mean are transmissions that can be e.g. configured in Direwolf via the PBEACON, OBEACON or CBEACON directive. My use case would be weather and possibly object beacons for variable position objects. I have my own weather station and I'm transmitting a weather beacon. I have set up an http endpoint in NodeRED which will pull the sensor data from my weather station, format them as a weather message and replies with that as plain text to an http request. In Direwolf I have set up a PBEACON with commentcmd="curl -s endpoint-address". That works but is not straightforward and if NodeRED would fail for some reason, I don't know what Direwolf would do then. I'd rather have NodeRED contact Direwolf and submit the beacon, so if NodeRED is dead for some reason, just nothing is transmitted.

jmkristian commented 8 months ago

I suggest executing kissutil to transmit UI frames. kissutil is a program packaged with Direwolf. Its usage is described in the Direwolf User Guide section 14.6.

sgofferj commented 8 months ago

I'll check that, thanks.