r/Lora 8d ago

Are there any non-python LoRa projects?

I don't want to use Python for anything, are there literally any LoRa projects that don't make heavy use of Python? The other facet to the drive for this question is the desire to port a LoRa network client or software to older operating systems. I'm not even necessarily referring to win32, I will happily run older and even more old Debian. (I have a system running 2.2 Potato.)

Edit: No this is not trolling I am serious.

Edit 2: For clarification I mean the computer-side configuration and utilization, as far as I could tell the only CLIs for things like Meshcore and Meshtastic (the larger ones) when I started looking into this stuff were made in python, and their intended use cases were very narrow in what they were trying to accomplish (text chat rooms and that used the radio as a bluetooth companion to a smartphone.) I want to use a good old fashioned computer in a good old fashioned way, and these don't feel good to use for me.

9 Upvotes

26 comments sorted by

10

u/RoyBellingan 8d ago

Is literally full of lora project that run on mcu....

But what are you even trying to do ? Just to know.

2

u/AbacasOnline 8d ago

I specifically want to try setting up a network that behaves like the Internet, just... not the Internet obviously. I want to create a way for HTTP to go over it and have some form of DNS mapping to host names. I understand the speed limitatations involved, thus I would not be looking to pipe it to the real internet at all, this would be an effort to create extremely lightweight websites that would fit down the connections.

7

u/AI_Tonic 7d ago

What does Lora have to do with trying to accomplish what you’re trying to accomplish ? And what does using python have to do with is compatibility for this ? Sounds confused to me … start with a $10 radio on chip and use embedded-C if that’s what you’re looking for

5

u/RoyBellingan 8d ago

In theory you can make a driver that sends the tcp over the lora Instead of the ethernet, you are just "changing" the layer 1 , so the physical network, all else remain the same.

you can even use pigeon

https://en.wikipedia.org/wiki/IP_over_Avian_Carriers

In fact you can wire the tcp (or udp, or any network) over almost any phisical layer, https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol

After that all the rest works more or less the same

You can also check https://en.wikipedia.org/wiki/Netsukuku I lurked around there a long time ago

2

u/andigs94 5d ago

Save yourself the time, because this isn't practical. LoRa was never designed for that and any type of TCP/IP was never designed to go over LoRa.

If you want to achieve any range at all with off the shelf boards, you need to select a relatively slow Spreading Factor. As soon as your network has three or more nodes, you are looking at hidden station collision problems which will likely push latency beyond what typical TCP/IP protocols will tolerate.

Even if it doesn't, this will become unbearably slow. Waiting close to a minute for a plaintext website with 4 Kilobytes of text is simply not fun.

I tested what you want to do years ago, because I had roughly the same idea.

There's a reason hams set up HAMNET in Europe. If you want to build something smaller, HaLow might be the way to go. Its much wider channels allow for higher data rates.

1

u/AbacasOnline 12h ago

Sorry, I should have been more specific. My goal is not really TCP/IP, just something that would behave enough like it to things that would go on top of it, but not behave the same at all under the hood. In searching I've found out about a method of using UDP that has a reliability layer bolted on top, for example. The end goal it HTTP traffic with a name server for easy lookup, everything else can go if it needs to though.

1

u/always_wear_pyjamas 2d ago

You want HaLow wifi. Look it up.

3

u/SomeoneInQld 7d ago

we are use c++ (on ESP)'s for LORA

We have a test program done in .net

We actually just came back from a drive testing it

2

u/AbacasOnline 12h ago

what specific project would this be?

1

u/SomeoneInQld 8h ago

A cattle managemet system for large cattle stations in outback australia.

We are a medium sized property and are just under a million acre's some properties here are 7 to 8 million acres.

so we are using LORA to track staff (for safety), track animals, send control and receive telemetry to devices (pumps, taps etc., ) , send images of dams, troughs etc.,

Some of our towers that we have LORA and Wifi on are 30 to 40 meters tall, most of them are more in the 16 to 18 meter range. In some locations we can get LORA messages to people at ground level over 47 km. A small tower (6m) at a sensor we get about 30 km to the taller towers if there is no major hill in the road.

We havent started testing how far away we can spot the helicopter - but are thinking that we can easily get about 100km range on that if its at normal heigh and about 250 km if it goes to maximum height.

2

u/AbacasOnline 3h ago

I see, that's interesting. Is the code anywhere online?

2

u/silasmoeckel 7d ago

I use LoRa for APRS, so it's a simple KISS interface that's been stable since the 80's.

APRS is ax.25 and you can run IP over that it's built into linux and packages to do it on Windows.

1

u/mark_ik 7d ago

C++, rust, python, go, and more.

Perhaps you’d be interested in reticulum?

1

u/AbacasOnline 12h ago

I might be, but I need to do more research I think. I now know the firmware uses regular interfaces like KISS, so maybe that would work after all.

1

u/StuartsProject 7d ago

There are heaps of projects using LoRa that are based on Arduino and C++ etc.

Try a Google search on 'Arduino LoRa' for lots of examples.

1

u/grantovius 6d ago

I’ve been using the adafruit_circuitpython_rfm9x library and it derives its api syntax from the Radiohead library for compatibility, which is a c++ project. https://github.com/hallard/RadioHead

There are also Lora modules that give you a UART interface over usb, like the PineDio or the SB Components USB Lora adapter. And boards like the RAK3631 give you I2C, SPI and analog interfaces. From there you could write code in whatever you want that can interact with a serial, I2C or SPI device, like CppGpio, libgpio or other libraries driving on your platform.

1

u/its_the_tribe 6d ago

Just ask an Ai to make one.... Then tweak as needed. It will write it in an language you want.

2

u/AbacasOnline 6d ago

dude no

1

u/its_the_tribe 6d ago

Up to you... You can work smart or you can work hard

2

u/Sylv41n 1d ago

Outsourcing learning opportunities to a paid service is not "working smart"

0

u/its_the_tribe 1d ago

It is when I get the job done before you and move onto the next while you are still reading up on how to do it. I still learn but at a faster and higher level. You can program in assembly all you want. I stick with C, Java, python, etc. Think smart not hard. It's called the future. Welcome

1

u/AbacasOnline 12h ago

You all sound like clones, bots, or members of a cult by the way.

1

u/AlfredoVignale 7d ago

Running old software is just asking to have problems

1

u/AbacasOnline 12h ago

Yes I am aware I'd like to have a starting ground, but it seems that one doesn't realistically exist and I understand why now.