Meshview
This project watches a MQTT topic for meshtastic messages, imports them to a
database and has a web UI to view them.
An example of a currently running instace for the San Francisco Bay Area mesh runs at https://meshview.bayme.sh
Requires python3.11 or above.
Preparing
Clone the repo from github with:
git clone --recurse-submodules https://github.com/pablorevilla-meshtastic/meshview.git
Note
It is important to include the
--recurse-submodulesflag or the meshtastic protobufs won't be included.
Create a python virtual environment:
cd meshview
python3 -m venv env
Install the environment requirements:
./env/bin/pip install -r requirements.txt
You also need to install graphviz:
sudo apt-get install graphviz
Copy sample.config.ini to config.ini:
cp sample.config.ini config.ini
Edit config.ini and change the MQTT server, and Web server settings as necsessary.
nano config.ini
[server]
bind = *
port = 8081
tls_cert =
acme_challenge =
[mqtt]
server = mqtt.bayme.sh
topics = ["msh/US/bayarea/#", "msh/US/CA/mrymesh/#"]
port = 1883
username = meshdev
password = large4cats
[database]
connection_string = sqlite+aiosqlite:///packets.db
Running Meshview
Start the database connection.
./env/bin/python startdb.py
Start the web server.
./env/bin/python main.py
Now you can hit http://localhost:8081/ (if you did not change the web server port )
You can specify the path to your config.ini file with the run command argument --config
./env/bin/python main.py --config /path/to/config.ini