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

Kristoff kristoff at skypro.be
Sat Jul 24 13:06:52 PDT 2021


Hi Jason, Tom, David, all,


Thank you all the for the very long and detailed information.


Perhaps I will start with some more background information.


So far, I have found two references for aprs-over-LoRa:
- This is a website of some hams in Austria on this topic:
https://www.lora-aprs.at/

- And there is also this repo on github:
https://github.com/lora-aprs

I do not know how/if these two projects are related.


The hams in our local club use this hardware:
https://github.com/lora-aprs/LoRa_APRS_Tracker

The combination of the ESP32 and the LoRa chip is -I think- interesting 
as it offer some nice possibilities: WiFi (igate, mqtt), bluetooth (to 
talk to sensors or a smartphone) and a radio-chip (a clone of the 
sx1276) that can do both Lora and FSK (e.g. for POCSAG).  Also, the 
ESP32 is capable of running micropython (which is great for "fast 
development") (*)

The github repo has the software for a tracker and a digipeater/Igate 
(one-way), written in C that use the arduino API. It talks to the chip 
using SPI. (**)



I had some ideas in my head for this (e.g. a 'aprs-chat' or a 
aprs-to-pocsag paging gateway), but then I came to the conclusion I 
would probably need to design everything myself, including the 
"back-end" side. So it would perhaps be better to first integrate 
aprs-over-lora into other existing APRS-software that already exists 
(like xastir), and start from there on.


About the sx1276.
Like all these ISM-band radio modules, it is quite a capable chip that 
already includes some interesting features in silicon. One of these is 
the 'packet mode': you just define some modulation parameters 
(modulation-scheme, baudrate, sync-pattern, options, ...)  and hand it 
some data, and the chip does all the rest for you.

For the aprs/lora project, this means that there is no need for HDLC or 
AX.25, so it is not used.
The APRS message is sent in as plain text inside a LoRa message. You do 
need add ['>',0x00,0xff] in front of the message. (no idea why this is)
Also note that there is no compression, which is a bit strange 
considering the pretty low speed of 293 bps in this LoRa mode (125 KHz 
BW, SF12).


So, concerning integrating this into xastir,  (first of all, thanks you 
all for the extensive reply :-) )

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?



So, what I would need is am interface that 'talks' raw ASCII APRS messages.

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).


So wouldn't this be a option?

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


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?


Anybody any idea of this is doable?



Kristoff - on1arf


(*) About the tracker hardware, do note that the satnav chip is an old 
ublox NEO-6 (GPS-only!) with a pretty useless (passive) antenna!

(**) Note there are also certain LoRa modules that have a UART interface 
instead of SPI. You just send it some data of the serial line and after 
a 'timeout' of 100 ms or so, the data is packetised and transmitted.




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


More information about the Xastir-dev mailing list