[Xastir-dev] interface xastir to aprs-over-lora

Tom Russo russo at bogodyn.org
Sat Jul 24 13:25:14 PDT 2021


On Sat, Jul 24, 2021 at 10:06:52PM +0200, we recorded a bogon-computron collision of the <kristoff at skypro.be> flavor, containing:
> Hi Jason, Tom, David, all,
> 
> 
> As I understand it correctly, the interfaces in xastir are designed for
> AX.25, so I guess that is a problem.
> Am I correct to assume that, even if I would implement the KISS protocol
> (which is the easiest one to do), that still would not work as xastir still
> expect AX.25 data on top of that.
> Is this correct?

Probably not.

If you can write something that masquerades as a KISS interface, then strips
off the KISS frame data that Xastir sends to it and just write that to the Lora,
then on receive repackage what the Lora gets back into something that looks 
like a KISS frame, I think you're at least going to be able to get tracking 
and messaging working so long as you need no digipeaters.

Sounds like David had a path to doing that.

> Question,
> The xastir "internet" interface does "talk" ASCII APRS-messages, no?
> (I just did a wireshark trace of the TCP session from xastir to the aprs-is
> service, and it looks like all plain-text APRS messages to me).

It sends straight APRS payloads to an internet server, yes.  There is no 
framing cruft added, though there are a handful of server control lines
sent (such as to define a filter or authenticate).  You could just ignore 
anything that doesn't look like an APRS packet.

> Perhaps create a dummy "aprs-is" like service on the local machine that acts
> as "bridge" between xastir and a aprs-over-LoRa modem?

Yes, that would probably work, too.  I'd not considered that, and it seems
like the least difficult approach if you're able to code up a little dummy
server.

> Is xastir able to handle two "internet" interfaces at the same time (i.e.
> one to the aprs-is servers and one to the LoRa modem)?
> Will this work?

Yes, it can handle as many as you define.  It is generally considered bad form
to connect to more than one real internet feed with transmit enabled, but 
that's just guidance --- so if you have a fake-out server that doesn't actually
send over the internet but instead just blats it out to the Lora, that
would 

> Anybody any idea of this is doable?

I think that the fake APRS-IS server approach that simply sends the packets
out over LoRa instead of the interwebz is a fine, doable idea.

It would basically be like sending out APRS-IS data over UDP.

In fact, you might simply be able to leverage Xastir's "server" port for this
use case.

When Xastir has the "Enable Server Ports" option enabled (under the Interface
menu), it acts as a very simplistic fake APRS-IS server that dumps all of the
traffic Xastir hears to port 2023 in straight APRS format, and if you send
any data to it (after authenticating with "user <callsign> pass <callpass>")
it'll accept that data.

All you'd have to do is write a little program that sat between Xastir's
server port and the LoRa and sends that authentication line to the port.

After you're connected and authenticated, it should be easy-peasy: ignore any 
lines that come from Xastir that start with "#" (these are informational 
comments) and pass anything else that comes from Xastir to the LoRa.  And if 
LoRa receives anything, just dump it over your TCP connection to port 2023 and 
Xastir should decode it.

Yeah, I think *that* may be the very simplest thing to write, and it's all
a little glue program that knows how to send and receive over TCP port 2023.



> On 24.07.21 02:35, Jason Winningham wrote:
> > lots of good information in Tom???s response.
> > 
> > The answer depends on what your goal is. A fully integrated LoRa APRS network bridged/routed to a standard AX.25 network would be a challenge.  Doable, but certainly not trivial. If the goal is to use LoRa to import data from the oft-maligned ???dumb tracker??? or some sort of sensor for display in xastir, the problem is a bit simpler.
> > 
> > I haven???t used LoRa, but I have used Xbee 900MHz data radios in a way that sounds similar toy what you are describing.
> > 
> > These xbee radios are point-to-point or broadcast.  I configure dumb trackers (for tracking rockets) in broadcast mode, and the code is written to time-slot the transmissions to avoid collisions. The digital side of the radio is a simple serial interface. The tracker prints a TNC2 format string to the radio, which is received by the ground station radio and transmitted via RS232 to an xastir port configured as a "serial TNC???.
> > 
> > The TNC2 format has the advantage of being human readable, so I can hand a radio+usb/rs232 adapter to a student with a windows laptop and a simple terminal program, and they can easily see the coordinates in the position report. Not as nice as a map, but in the past everyone had HyperTerm on a windows laptop, and putty is a free substitute. It is also possible to use multiple receivers, e.g. a simple dipole on one receiver and a yogi on another, to allow for different distances. This is helpful since the distance can change quite quickly during a rocket???s flight.
> > 
> > Getting this data retransmitted (digipeated) is problematic because digi software is not designed to accept TNC2 format packets for multiple legitimate reasons.  In my attempt to accomplish this I experimented with modifying the code of a popular digi software	package whose name escapes me at the moment. The modification was not as simple as I understood the author to imply, and I lost the hardware where that code lived.
> > 
> > 
> > If you are starting from the ground up and have digipeating to an AX.25 network as a requirement, I???d probably use a KISS mode packet. If you requirements, like mine, are a bit simpler, TNC2 may do the job.
> > 
> > -Jason
> > 
> > 
> > 
> > 
> > > On Jul 23, 2021, at 11:17 AM, Kristoff<kristoff at skypro.be>  wrote:
> > > 
> > > Hi all,
> > > 
> > > 
> > > A quick question.
> > > 
> > > A few people in our local radioclub have become interested in aprs over lora, mainly using the LilyGo T-beam devices. This is in essence an ESP32 running arduino-code + a 'lora32' module (which is a clone of of the sx1276).
> > > I have been tinkering with the kit, mainly using micropython to get to understand the sx1276 chip.
> > > 
> > > So,
> > > If I would would want to use that device as an interface for xastir, what would be the most easy way to do this?
> > > 
> > > I guess just use the serial interface and create some kind of "bridge" between the serial packets and the Lora "air-interface"?
> > > 
> > > What is the difference between the "Serial TNC", "Serial KISS TNC" and the "Serial Multi-Port KISS TNC"?
> > > Where can I find the documentation for this?
> > > 
> > > Or does this already exist?
> > > 
> > > 
> > > Note, I am on linux (of course :-) )
> > > 
> > > 
> > > 
> > > 
> > > BTW.
> > > I have been discussion with a fellow ham on the use of 'UART pass-through' devices on LoRa. These are very simple, once they are configured, you just send data and receive data as it is a transparent serial path, ... except that it is 'multicast'.
> > > 
> > > What would be the best way to connect this kind of device to xastir?
> > > 
> > > 
> > > Many thanks in advance.
> > > 
> > > Kristoff - on1arf
> > > 
> > > _______________________________________________
> > > Xastir-dev mailing list
> > > Xastir-dev at lists.xastir.org
> > > http://xastir.org/mailman/listinfo/xastir-dev
> > _______________________________________________
> > Xastir-dev mailing list
> > Xastir-dev at lists.xastir.org
> > http://xastir.org/mailman/listinfo/xastir-dev
> _______________________________________________
> Xastir-dev mailing list
> Xastir-dev at lists.xastir.org
> http://xastir.org/mailman/listinfo/xastir-dev

-- 
Tom Russo    KM5VY
Tijeras, NM  

 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]



More information about the Xastir-dev mailing list