Giter Club home page Giter Club logo

pi-observer's Introduction

pi-observer

A system for remote control, data acquisition and visualization for Raspberry Pi.

WIP: Moving from PHP based web stack to Pyton Flask.

pi-observer's People

Contributors

maciejzj avatar mmaccho avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

mmaccho bmelim

pi-observer's Issues

Somethings wrong with mobile site

Everything is kinda "wrongly scaled" and zoomed by default on mobile devices. I have to zoom out every time to fill the screen of my phone properly.

Create event log

For now I have decided to leave two separate dbs, but it is open to debate.

Fix charts

For any reason they don't work now. They are just blank wrapper with no content. Examine the way they are included. Check if the drawing function should be refactored. Especially the one that renders chart with two datasets (temperature). Also currently it works only if both thermometers have exact same x data. This is dumb and be better fixed.

Rework Google maps javascript

Now the map doesn't work and not sure why. Examine this, ask me when you find why. This may be because the google maps key expired or something like this. If so I may regenerate it.

Fix GPIO js/css and consider refactor

This is a complicated one because it's hard to test without hardware. The GPIO buttons worked previously without any problems when they were based on simple img buttons. When moving them to svg something was messed. Now they don't show the state of GPIO correctly after loading the page and they don't update the state after clicking. They should be blue when GPIO is off and red when on. Since no backend was changed when moving from img to svg this must be a frontend issue. Please examine php and js GPIO files they are rather short.

Clean logs database periodically

We need a mysql script that will be run once a week by cron and clean database before it takes all flash space. The script should delete all data older than a week.

Draft of final stying 1.11.18

  1. Use <hr> tag (with no margins) for horizontal separating
  2. Make common class for border design and shadows, move border radius and shadow to variables
  3. New header with separator
  4. New buttons with new color style
  5. Place for description

Rework data tables css

Move from less css to something more sensible. Also this was done in kinda wanky way, ensure that it is refactored to work properly.

Mobile platforms layout

Tablet

Activates when Google Maps is squeezed to be higher than wider, in this mode:

  • live stream is 100% width and matching height
  • gpio control panel is 100%
  • locations table is 100% (cols based on %)
  • log times and longer log vals are wrapped

Phone

Activates when temp chart is higher than smaller

  • every card is 100%

Shrink limit

The site can not be more narrow than the loc table requires

Add loading animation

A loading circle spinning at the center. Also if you want to play with it you can make the background or the loading wheel change colors gradually from the blue to red and back.

Present log data in tables

Steps ta accomplish:

  • display temperature log in table
  • basic css to achieve overflow: scroll;
  • place table making in separate .php function in file
  • call the function for each log in universal way

Store log data in mysql

Should be logged to sql db:

  • external and internal temperature
  • humidity
  • pressure
  • altitude
  • location

Fix permission problem for GPS serial connection

Error code:
Can not connect with GPS using uart[Errno 13] could not open port /dev/serial0: [Errno 13] Permission denied: '/dev/serial0'
Permissions for ttyAMA0:
lrwxrwxrwx 1 root root 7 lis 3 2016 /dev/serial0 -> ttyAMA0
crw--w---- 1 root tty 204, 64 paź 14 15:27 /dev/ttyAMA0

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.