Giter VIP home page Giter VIP logo

meshtastic-rpi-dashboard's People

Contributors

audric avatar iz1kga avatar pinoynerdherder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

meshtastic-rpi-dashboard's Issues

Include a footer on every html page

I suggest to have an html file included on every page.

First thing I would wirte on the footer is the url of the original repository. Maybe this will help new developers find the code.

Attempted to run this in 2023, here's what happened

TL;dr it doesn't run correctly.

The service starts and processes serial data.
However the service errors after a request to the webserver, like going to http://localhost:5000/

Using python3.9 and latest modules, here are steps I went thru to get the service running.

$ sudo vim /usr/local/lib/python3.9/dist-packages/flask/__init__.py
  ~~~ Line 14: from jinja2 import escape
  --- Line 15: from jinja2 import Markup

  ~~~ Line 14: from markupsafe import escape, Markup
  
$ sudo vim /usr/local/lib/python3.9/dist-packages/flask/json/__init__.py
  ~~~ Line 15: from itsdangerous import json as _json
  ~~~ Line 16: from jinja2 import Markup

  ~~~ Line 15: import json as _json
  ~~~ Line 16: from markupsafe import Markup

$ sudo vim /usr/local/lib/python3.9/dist-packages/flask/json/tag.py
  ~~~ Line 49: from jinja2 import Markup

  ~~~ Line 49: from markupsafe import Markup

$ sudo vim /usr/local/lib/python3.9/dist-packages/iMeshDashboard/__init__.py
  self.interface = meshtastic.SerialInterface()
  self.interface = meshtastic.serial_interface.SerialInterface()
  


# to fix error "Cannot import name 'BaseResponse' from 'werkzeug.wrappers'"
# use version werkzeug==2.0.3
$ sudo pip install werkzeug==2.0.3

Move index.html to private/index.html

I suggest to move the actual index.html to private/index.html and move the REST routing logic accordingly.

Doing so we would then have a new short public landing page available.

Creation of a statistic page

Mesh statistics:

  • the number of nodes in time
  • average, minimum, maximum signals among all nodes in the mesh

Node statistics:

  • top ten nodes with higher number of heard nodes
  • top ten nodes with lowest number of heard nodes
  • nodes with higher average signal
  • nodes with less average signal

Duty cicle statistics:

  • top ten nodes with higher duty cicle
  • most/less talkative nodes

Instructions to create a systemd service for iMeshDashboard

These infos could be either automated with the install or simply added to the documentation.
Keep it mind that while the service is running no commandline meshtastic **** can be run as the communication with the board is locked.

Anyway here are the instructions..

As root, create /etc/systemd/system/iMeshDashboard.service

[Unit]
Description=iMeshDashboard service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "/usr/local/bin/iMeshDashboard"
ExecStop=/bin/sh -c "killall -9 iMeshDashboard"
[Install]
WantedBy=multi-user.target

As root enable the new service
systemctl enable iMeshDashboard

The start it
systemctl start iMeshDashboard

You might wnat to ctrl+c after a few seconds

You can control its status via
systemctl status iMeshDashboard

And stop it with
systemctl stop iMeshDashboard

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.