commit 92b5a0894d578492f35925faa42e021f1376aaf8 Author: david Date: Sun Apr 13 17:20:22 2025 -0700 first commit diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..5e58a0e --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,30 @@ +name: Meshtastic Map - See local Meshtastic Nodes + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: pirf + steps: + - name: Checkout code + run: | + cd ~/apps/mesh-map + git fetch + git checkout main + git pull origin main + + - name: Stop existing screen session, if running + run: | + if screen -list | grep -q "mesh_map_server"; then + echo "Stopping existing screen session..." + screen -S mesh_map_server -X quit + fi + + - name: Start server in screen session + run: | + cd ~/apps/mesh-map + setsid screen -dmS mesh_map_server bash -c 'python3 -m http.server 8083 > server.log 2>&1' + echo "Server started in detached screen session" diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/app.py b/app.py new file mode 100644 index 0000000..beceed4 --- /dev/null +++ b/app.py @@ -0,0 +1,36 @@ +from flask import Flask, render_template, jsonify +import meshtastic.serial_interface +import meshtastic +import threading +import time + + +app = Flask(__name__) +node_locations = {} +MY_NODE_ID = "!934f4430" +# MY_NODE_NUM = 2471445552 +iface = meshtastic.serial_interface.SerialInterface() +# iface.nodes.clear() + +@app.route("/") +def index(): + return render_template("map.html") + + +@app.route("/nodes") +def nodes(): + data = {} + nodes = iface.nodes.items() + for node_id, node in nodes: + num = node.get('num') + user = node.get('user') + position = node.get('position') + deviceMetrics = node.get('deviceMetrics') + return jsonify({ + # "myNodeNum": MY_NODE_NUM, + "myNodeId": MY_NODE_ID, + "nodes": dict(nodes) + }) + +if __name__ == "__main__": + app.run(host='0.0.0.0', port=5000) diff --git a/templates/map.html b/templates/map.html new file mode 100644 index 0000000..1322ef4 --- /dev/null +++ b/templates/map.html @@ -0,0 +1,83 @@ + + + + + Meshtastic Map + + + + + + +
+ + + + + \ No newline at end of file