Skip to content

datavisualisation

Pragmatismo edited this page Mar 28, 2023 · 18 revisions

Visualising Data

The pigrow is able to capture large amounts of data which we can use to monitor our grow, to help understand all this data there are various visualisation tools.

Info modules

Read current system information, logs, or folders and give a concise text output of useful information which can be incorporated into the gui's system panel, read vis SSH, included in datawalls or run directly on the pi itself.

Info Module Function

list of info modules

Graphs modules

Take data read from the logs and use it to create various types of graphs which can show the information in various ways such as simple line graphs of the values, rate of change, with day-night (or lamp on/off) changes overlaid, etc.

list of graph modules

Graph / Log Presets

Graph Module Function

Datawalls

These are .png images constructed with the output of datawalls and graph modules or through their own processing of logs to create a visual display of important information in an easy to view display.

Datawalls are made using two components, the datawall preset which contains the settings used to load log files, create graphs, and read info modules. This information is then handed to the datawall module which is a python script that performs any required calculations, data processing or other tasks then constructs an image placing all the elements into position - typically this uses the PIL image module but any method is acceptable as long as it creates an image file with the supplied name.

This image file can then be uploaded or displayed wherever is appropriate.

Datawall Presets

Datawall Modules

Making A Datawall on the Pi

Self hosting a webpage on the pi

Hosting a webpage on the pi lets you view it on the local network (wan hosting coming soon), to host the webpage we need to have running;

Pigrow/scripts/autorun/host_webpage.py folder=/home/<username>/Pigrow/webpage/basic 

the folder should be set to the path of the folder containing the website you want to host, this includes three subfolders;

  • templates - contains index.html which is the page to display.
  • static - folder for images, JavaScript, CSS, etc
  • handler - contains handler.py and any associated files

There's currently only one example webpage basic which demonstrates the use of the basic handler.py which allows running info modules, reading recent log entries and creating datawalls.

Once running it can be viewed via a web browser on any system connected to the local network, using the pi's ip address followed by the port, for example: http://192.168.0.178:8080/

Clone this wiki locally