-- Leo's gemini proxy

-- Connecting to bbs.geminispace.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

Gemini over LoRaWAN?


I'm fascinated by the idea of running a smolweb over LoRaWAN. Imagine a decentralized network of FLOSS-hardware devices, solar-powered, each running a gemini capsule and a relay (HAM radio style) to transmit data on to other points on the LoRaWAN mesh network. It's not a fast way to communicate, but smolweb gemini doesn't need to be. If LoRaWAN can reach 56.6kbps, it'd feel like the days of dialup, but... decentralized, solar-powered, and resistant to censorship.


Has anyone tried anything like this? Strap a raspberry pi zero to a solar panel and a LoRaWAN radio, and run a mesh network of smol protocol on it.


I realize that I'm dreaming and that this is likely way more difficult than I make it sound. Meshtastic is a (proprietary) LoRaWAN device that can already make the mesh network. pi / SBC computers and solar powered servers have been done already. Why not put those together?


Posted in: s/permacomputing

🌲 Half_Elf_Monk

May 01 · 3 weeks ago · 👍 stack, norayr, requiem, Cotteux


22 Comments ↓


💀 requiem · May 01 at 17:02:

This is a pretty cool idea. I have been wondering about this exact same thing. I would love to explore it.


💀 requiem · May 01 at 17:05:

Oh btw Meshtastic can be flashed on lots of things. ESP32’s are really cheap, (£3), LoRa modules can be bought for roughly the same price. TTGO also sell relatively inexpensive LoRa modules. AliExpress is great for things like this.


🚀 Geer3The · May 01 at 17:13:

I really like this idea. It would be also nice to incorporate something like syncthing to share text documents. I really want a way to have a mesh that doesn't depend on the existing grid.


⛵️ olav · May 01 at 22:15:

Inspired by this idea, I looked around and found Reticulum, which can form networks based on LoRa (not LoRaWAN) and might be a good basis for serving Gemini contents.


🐙 norayr · May 02 at 01:53:

olav, thank you for finding reticulum.


i would like to carefully express a concern that lora is not open source, and mention

— dash7


is. still i don't know if it is even feasible to buy dash7 devices.


🚀 Geer3The · May 02 at 02:12:

Dash7 - quote, "D7A fills the gap between the Short and the Large Area Networks. D7A excels in urban and industrial network installations connecting actuators and messaging applications (sensors, alarms, states) with ranges up to 500 m."


🐙 norayr · May 02 at 14:55:

Geer3The, thank you, for some reason i thought that distance is comparable.


🌲 Half_Elf_Monk [OP] · May 02 at 16:20:

@norayr - I share your concern about having as much open source as possible. idk what to do if the majority of workable devices are proprietary. Maybe some genius out there can figure out solutions.


🌲 Half_Elf_Monk [OP] · May 02 at 16:22:

@requiem - I've followed some guides and flashed a few devices, but I've never worked with sbc's before. How difficult is it to get these things cooperating with one another?


🌲 Half_Elf_Monk [OP] · May 02 at 19:17:

Based on this link that someone ran across below, I wonder how useful any of the Dash7 frequencies would be for this application.


— gemi.dev/cgi-bin/wp.cgi/view?DASH7


Notably, several of these are ultra-narrow band frequencies, which (if I'm reading it rightly) means that you'd have to AIM the modules somewhere.


I was thinking of a module you could build/buy and set up wherever you wanted, and it'd operate as a node in a mesh network of LoRa/LoRaWAN devices, carrying smolweb traffic. That means it should be able to send/receive signals in all directions.


(I'm envisioning myself climbing a tree near where I live so I could install a solar panel and a SmoLoRa node. I'd access THAT via wifi, but the device itself just... chills happily in a tree.


🐙 norayr · May 02 at 19:39:

when i was trying to understand how lora works (now i don't remember many things) i was surprised it doesn't operate as wifi, it is not a physical layer on top of which you can assign ip addresses.


it has some netword id and devices that share that network id can see each other.


the devices that run meshtastic can see each other and then transfer the data to the smartphone via wifi, but my understanding is it is a custom case and custom app.


i don't know of a more generic solution.


🐙 norayr · May 02 at 19:40:

another possibility is to use wifi antennas for a longer range, people around me used that solution as a cheap alternative to radio modems.


🚂 MrSVCD · May 03 at 10:01:

Back in the day before DSL my brother in law got Internet via WiFi broadcasted from a grain silo. 802.11b I think it was. So making the backbone out of WiFi gear is one option.


💀 requiem · May 03 at 17:32:

Mind the frequencies are different for LoRa and WiFi so I don't know whether WiFi antennas would work. But large ones seem relatively inexpensive.


🚂 MrSVCD · May 03 at 19:33:

2.4GHz and 5GHz antennas would not work well since LoRa uses ISM bands around 433MHz and 900MHz but they are common frequencies so it is easy to find antennas for those frequencies.


💀 requiem · May 03 at 20:16:

I was looking into longer range LoRa antennas and they are cheap, really. AliExpress has some for £3-£5. Even a large, 110cm 8dbi antenna can be had for £18. You can get decent range out of those, especially if you have direct line of sight. The simpler, 2dbi antennas do look a bit like WiFi antennas, but they are for a different wavelength.


👾 fab · May 05 at 10:02:

As far as I know LoRa has some VERY low bandwidth (250bit/s - 11kbit/s) and there are some regulations at least here in germany that you may only use 1% of the capacity.


1% means that you may only send one second out of hundred. LoRa is mainly for sending short GPS positions or some other sensor data.


I did my research because I wanted to use LoRa for the next ROOPHLOCH challenge, but it seems it's too low bandwidth even for gemini.


☯️ Cotteux · May 05 at 13:56:

I did it in python with the ignition and meshtastic librairies, i build a simple gateway who split the gemini page in smaller messages (200 characters) because of limitation.

I configure lora device at mediumfast (3.5 kbps). Take somes time to transfert but feasable. I did it without a gopher client and also without optimisation, just a proof of concept. Need a lot more test in different environment and need gemini capsule with less text by page.

I'm working on it !!!!!!


🐙 norayr · May 07 at 02:41:

Cotteux, very interesting!

what limitation do you mean: speed? size? why do you need to split the page to 200 byte pieces?


☯️ Cotteux · May 07 at 12:56:

The meshtastic protocol is limited to 230 characters to send and receive a message. I also made some test at longfast and it's working good. A small page take around 30 to 120 secondes without optimisation.


🌲 Half_Elf_Monk [OP] · May 17 at 17:26:

@Cotteux - that is SO COOL. Do you have the code uploaded anywhere (github, etc)? 3.5kbps isn't much, but again as a proof of concept that's excellent. A 200 character message size sounds (to me) like a pretty large "packet" of information. How resistant are each of these messages/packets to data loss along the way? Any updates since you've last tried? I'd love to see a video or something of how it worked.


@norayr - Thank you for the generous remembering of what LoRa/meshtastic does. fwiw, I was wondering whether such a physical layer could be built/written on top of those radios. The OSI lists seven "layers," on which the internet is built. I'm wondering if a mesh of LoRa radios can be made to replace the bottom two (maybe three) layers. If each of the devices can mesh by: 'serving' data to reqestors, 'locating' (data-request-wise) specific devices, or 'relaying' requests/responses to devices they can't find, then couldn't that become something like IP addresses?


From there, existing code could be plugged in to make layesr 4-7 work. Because LoRa is inherently slower (I was assuming 56.6k equivalent, though it looks like that's optimistic), the web that would run on that hardware/mesh/layers would have to be slower. That's not a bad thing. You'd connect to the capsules that were physically closer to you a lot faster than the stuff far away.


— gemi.dev/cgi-bin/wp.cgi/view?OSI%20model


@olav - reticulum.network looks really interesting, thank you! From what I can tell, it's a chat/comms application for the sort of mesh networks I was thinking of. Perhaps their model is a bit more realistic in that it doesn't rely on only one kind of radio. I was hoping to host/serve smol capsules over that same kind of mesh.


@fab - wow that's unfortunate. 1% really won't work for this application. :/


@requiem - This is good to know. I'd not heard of ESP's, and I didn't realize antennae were so cheap. Out of curiousity, what kind of speeds are you getting on average with your LoRa devices?


🐉 gyaradong [mod] · 1 hour ago:

I feel like "Gemini" (by Gemini I really mean the set of smolweb protocols which are aligned to Gemini) needs a sort of "reverse mail" mode, where servers co-operate to fetch data which might be available intermittently. Once that's the case, I think LoRa works well for that use case. Maybe something Gossip-related?

-- Response ended

-- Page fetched on Sun May 19 13:23:23 2024