Comments (7)
Hi,
I initially used the RadioHead mesh routing algorithm which worked but is pretty suboptimal because really almost all of my packets are better sent as broadcasts. So I have that commented out right now.
See the second heading here for ideas I have been considering (also I've been trolling through a bunch of libs and papers): https://github.com/geeksville/Meshtastic-esp32/blob/master/docs/sw-design.md
As a side effect of the hackaday post some kind person pointed me at this: sudomesh/LoRaLayer2#10 which looks super promising (and they are just across the bay from me ;-) )
I think the current broadcast solution will work fine for initial usage, but we'll want to have mesh turned back on sometime in the next couple of months.
from firmware.
Mesh networking is now basically fixed, but keeping this open for a few enancements should do:
- When doing mesh flooding we should include a random delay before each rebroadcast.
- Implement DSR for unicast messages (currently we are just flooding broadcasts)
- See remaining work items listed in comment at top of Router.cpp
from firmware.
Mesh networking is now basically fixed, but keeping this open for a few enancements should do:
- When doing mesh flooding we should include a random delay before each rebroadcast.
- Implement DSR for unicast messages (currently we are just flooding broadcasts)
- See remaining work items listed in comment at top of Router.cpp
I did read the files. Nice job @geeksville!
Unfortunately, I did not find information (most likely just didn't understand..) of what components the packet header is built of? Are the components, in the headers, kept same in every packet/message type?
The mesh is intended to work, correct me if I'm wrong, by these steps:
- set channel settings from the app
- send user information to the mesh by flooding
- receive answers from the mesh of other nodes (change our node ID if necessary)
- update our node database of other nodes (of all messages "heard")
- send location update to the mesh (periodically or by request)
- flood all messages to the mesh (in future, flood only messages with not only one recipient?)
- switch to DSR to unicast messages (not yet in use), using the node database information
- if a node is not in our node database, send a DSR route request (not yet in use)
- update our node database per answers (not yet in use)
- continue unicast messages per DSR and our node databases (not yet in use)
from firmware.
This is all new to me, but this was a study done by Ram Ramanathan et al involved in the GoTenna device, "Long-Range Short-Burst Mobile Mesh Networking:Architecture and Evaluation"
https://cdn.shopify.com/s/files/1/0046/7524/0005/files/goTenna_Long-Range_Short-Burst_SECON.pdf?8213
from firmware.
@ohcdh just because I'm scared about patents I don't think I'll read that one ;-)
from firmware.
This issue has been mentioned on Meshtastic. There might be relevant details there:
https://meshtastic.discourse.group/t/next-work-items-in-my-queue/153/1
from firmware.
closing issues. this is a question rather than a bug of feature request.
from firmware.
Related Issues (20)
- GPS coordinates
- [Bug]: T-Beam S3 Supreme OLED "Shutting down..." HOT 4
- [Bug]: messages between contacts are relayed to mqtt without an opt-in to uplink that destination HOT 2
- [Bug]: Too much traffic in an area causes hardware failure error HOT 9
- [Bug]: immediate resume after shutdown HOT 11
- [Bug]: GPIO output gpio_num error HOT 5
- [Bug]: RAK18001 buzzer causes RAK19003 boot failure HOT 2
- [Feature Request]: Anemometer support HOT 9
- [Feature Request]: Keyboard shortcuts documentation for t-deck. HOT 4
- [Feature Request]: Input lock for t-deck
- [Feature Request]: use internal ESP32, NRF52, RP temperature sensor of RTC HOT 8
- [Feature Request]: Add Scan thresholds to libpax for range control
- [Bug]: No PSRAM reported for RAK11200 (ESP32-WROVER) HOT 2
- [Bug] [V3 fix] slotTimeMsec is constant but should be recalculated on startup based on spreading factor and bandwidth
- since 15.05.2024 midnight (CEST) 500kbit/s MQTT traffic HOT 2
- [Bug]: GPS on Portduino works on first application start, subsequent GPS checks fail indefinately. HOT 52
- [Feature Request]: Battery Chemistry Type Selection
- [Feature Request]: Option to swap between channels with navigation switch or rotary encoder
- [Bug]: MQTT JSON message are not encrypted if Encrpyted is on HOT 1
- [Bug]: Unable to build firmware for lora_isp4520
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firmware.