meshaddicts / meshinfo Goto Github PK
View Code? Open in Web Editor NEWRealtime web UI to run against a Meshtastic regional or private mesh network.
Home Page: https://svm1.meshinfo.network
Realtime web UI to run against a Meshtastic regional or private mesh network.
Home Page: https://svm1.meshinfo.network
Somehow emojis are just translating to an empty unicode char
We currently have JSON based decoding from MQTT, but we should add support for handling protobuf messages as well.
The main.py
has bloated significantly, which was expected since this first started as an exploration but as become a real project since. We need to refactor it so that things are more modular and potentially testable.
I've started this, but we need to refine it.
Need to make this more friendly for users.
Caddyfile
to Caddyfile.sample
Caddyfile
to .gitignore
README.md
with cp Caddyfile.sample Caddyfile
and instructions to edit during setup stepsOn the map page, it currently does not extend to the full height of the browser, nor does it resize.
Links in responses of Mesh Bot directs to https://svm1.meshinfo.network/ instead of source / intended network.
Add the option to use MapBox. This might be challenging to maintain two map implementations, but the value is that the host can benefit from more premium map features if willing to pay for MapBox (though the free tier offers a ton of value, especially for small sites, which these Meshtastic mesh sites should be).
@daviesgeek I will coordinate with you when this becomes a need in the React app (and can help a lot).
We want to be able to comment in configurations, but you can't with JSON. This configuration format is convenient, but not user friendly.
if node and chat['text'].contains('TC2 BBS') and chat['text'].contains('Available commands')
Log attached:
Right now config is defined in config.py
as a dict, but realistically this is not ideal.
We probably need something that combines a standard JSON/YAML plus some additional dynamic massaging.
Initial capability to backup data.
This is probably more along the lines of a BBS, but the ability to send out a message to which people must DM a check-in would be great for building a network map
Some of the pages will use the hardware info of the nodes in order to display an image of the hardware. Preferably these should all go in public/images/hardware
and be named based on their corresponding hardware integer ID (defined at https://buf.build/meshtastic/protobufs/docs/main:meshtastic#meshtastic.HardwareModel), thus a Heltec V3 is 43.png
.
The images should have the following requirements:
NUM.png
public/images/hardware/
Specifically add neighbors (both heard and heard by).
Right now the save()
functionality (which persists to JSON files and/or renders HTML files) is blocking and will interrupt the MQTT queue/stream, and also will block API requests. We need to make this an async operation.
We will likely need to make not only the method call async, but also do a .copy()
on the objects so that other operations do not modify the contents of the references while it iterates.
Current default client_id
is meshinfo
, which is totally fine if only a single client with this ID will connect to a MQTT server. If it collides with another, it disconnects that client. Therefore, we should make client_id
in the Config
be renamed to client_id_prefix
and then have it generate a dynamic (or saved) suffix, perhaps a UUID (one with the timestamp decodable perhaps).
We will want a redis component to cache some fragments and/or even pages to improve general performance, eventually. The API and the main loop would make the most use of this, but the bot might as well.
From time to time, without any (for me) apparent reason, meshinfo crashes.
There appear to be several errors. The log file is attached.
Nodes that exclusively use encrypted channels and therefore only send encrypted messages will not be included in the database.
Hey, this is cool, thanks.
I have the desire for unicode but the arduino json currently does not support it. I was going a different path with a preprocessing solution of sorts.
Anyway i quickly knocked this up from what I've found and thought I'd share.
https://gist.github.com/quimnut/c5ae707c627ed5434b300f6e8a40ccf7
We need to create some kind of an app icon for MeshInfo. And then we need to put it in place for:
Totally fine to put something quick and random as a temporary stopgap.
We need some tests, it's only right for us to do this when there's more than 1 dev. First dev to implement some tests gets 3 cookies.
I have some values like -4.47034800288293e-08% for relative humidity will make round(2) fail in the template.
Now that we are looking to start moving to the SPA using React, we want to expose the data via an API. This API could also be used by the community of users that a MeshInfo is serving, perhaps to help power other projects.
Initial batch of endpoints considered are:
/v1/nodes
- Paginated array of all known nodes (or with some params, a filtered array of nodes)/v1/nodes/:id
- Gets a node info (intelligently between hex and int ids)/v1/nodes/:id/texts
/v1/nodes/:id/telemetry
/v1/nodes/:id/traceroutes
/v1/server/config
- The server's configuration (useful for showing server details on UI)/v1/telemetry
- Paginated array of telemetry (filterable)/v1/traceroutes
- Paginated array of traceroutes (filterable)A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.