Trying to send an APRS message using LoRa #2
Replies: 6 comments 2 replies
-
|
I'm afraid I know almost nothing about LoRA. However, after taking a quick look at the LoRaRF package, I think you need to be converting and sending the data in a slightly different manner. I'd suggest trying this: # Convert AX.25 frame to bytes
data_to_send = message.pack()
LoRa.beginPacket()
LoRa.put(data_to_send)
LoRa.endPacket()Note the use of |
Beta Was this translation helpful? Give feedback.
-
|
Wrapping the frame with the FCS and flag bytes is a very low-level activity, and nothing I've seen in terms of AX.25 services and so forth requires the client to do that; it's part of the protocol implementation that takes the packet (without those), wraps it, and sends it out. Even using the native Linux AX.25 API doesn't require the caller to do that. If you look at the LoRa_simple_node.py example that's part of the LoRaRF-Python package, that example takes a structure, packs it into a byte string, and ships it out using https://github.com/chandrawi/LoRaRF-Python/blob/main/examples/network/LoRa_simple_node.py#L71 All that said, as I noted before, I don't know anything about LoRA. I don't see any AX.25 related examples in the LoRaRF-Python package, so I'm unclear as to how it's supposed to work. In particular, it's not clear to me how the recipient of one of these packets would know what's in it and therefore how to decode it. (The structure in the example is clearly not an AX.25 packet, so the question is, if you adapted that example so that the payload is an AX.25 packet, how would the recipient know to decode it as an AX.25 packet and not the structure given in the example? There's no 'type' field to indicate the difference.) Sorry I can't be more help. I noticed that you opened an issue against LoRaRF-Python, so hopefully you'll get some more helpful feedback there. |
Beta Was this translation helpful? Give feedback.
-
|
I had a quick dig around on the web, and this site led me to some code that indicates there's more to it than sending a raw AX.25 packet. Here: https://github.com/lora-aprs/LoRa_APRS_Tracker/blob/master/src/LoRa_APRS_Tracker.cpp#L312 you can see that several bytes are sent before what's referred to as "APRS Data". The data appears to be coming from an Perhaps the website and / or code at the above links can lead you closer to a solution. |
Beta Was this translation helpful? Give feedback.
-
|
A little more digging (I got curious 😄 ) found me this post on StackExchange that, in part, states that the data is text, and not an AX.25 encoded packet. Note in particular this paragraph in the answer:
So I believe what you need is the 3-byte header I mentioned before (and also noted in the above post), followed by the APRS message in text format. For examples of the text format, see the test messages in this example file. |
Beta Was this translation helpful? Give feedback.
-
|
I see you took this to StackExchange, where someone confirmed what I noted before, that what you need is the 3-byte header, followed by the APRS message in text format. Hopefully you have everything sorted out now. For later readers, here's the StackExchange confirmation. |
Beta Was this translation helpful? Give feedback.
-
|
Unfortunately I wasnt able to get it going. I am not sure if the issue is with the SX1278, but anytime I tried transmitting a message I would not see it appear on the LoRa APRS network. I had a LoRa APRS gateway maybe 3 feet away but it never saw a packet. I am not sure what I am doing wrong. Here is the most updated code I was using: https://github.com/strobesactual/SABER_/blob/main/LoRa_APRS_5.py |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello. I am building a tracking & telemetry system for a stratospheric balloon. I want the balloon to transmit an APRS message using a 433MHz LoRa transmitter (SX-1278 chip). To test the components and architecture, I wrote some code to send an APRS message from a Raspberry Pi via LoRa to an APRS LoRa I-Gate at my house. I hear the device transmitting, but I do not see the message appear on APRS.fi
I THINK this might be because there is no flag at the beginning of the message, as indicated on line 499 in ax25 / init.py
Does anyone see something I am doing wrong? Is there a better way to encode an APRS message for transmission?
I am pasting my code below:
This is the output when I print the message variable: <ax25.Frame object at 0x7fa8b4cc50>
Thank you for your help!
Beta Was this translation helpful? Give feedback.
All reactions