GithubHelp home page GithubHelp logo

sjaks / esp32-tempmonitor Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 45 KB

A simple temperature monitoring station based on the ESP32 board with a barebones chart.js web interface

HTML 20.05% Shell 0.38% JavaScript 62.97% CSS 4.32% C++ 12.28%
esp32 temperature-sensor

esp32-tempmonitor's Introduction

Source code for my homepage

Accessible at https://sjaks.iki.fi/.

Development

In the root directory of this repository, you can run

python -m http.server

to serve the website with a simple http server.

esp32-tempmonitor's People

Contributors

sjaks avatar

Stargazers

 avatar

Watchers

 avatar  avatar

esp32-tempmonitor's Issues

Acually utilize temp sensors

The switch from RPi to ESP32 introduced a major bug; just dummy data is sent to the backend. Find a way to send actual data...

Rewrite backend

Use some microframework for the backend. Currently Nodejs HTTP(s) module is used and it makes the implementation complex and ugly.

Express should work but it might be too bloaty...

Use timezone offset

The ESP program uses GMT and this time is shown directly in the UI. The UI should offset the ESP time correctly to the user's timezone.

Allow custom timezones in the ESP32 program

Current the timezone offset is set to some 0 value (GMT?) Maybe create a constant so that user can easily alter this.

Also check whether summer time changes are handled correctly...

Simplify frontend

  • Streamline HTML
  • Move all CSS to .css files
  • Utilize jQuery more
  • Utilize JS functions more
  • Split the chart.js chart class into smaller parts
  • Remove unnecessary chart.js config

Save data into a database

Use a database instead of the barebones json file method for saving data.

Maybe use SQLite since it saves data into a file and this program doesn't really need db authentication.

ESP32

Use ESP32 board for fetching data because RPi is overkill as a temperature reader.

Let the server handle all datetime stuff

Currently the ESP board sends the temperature fetch time to a server. ESP relies on a simple Arduino ntp library to get the time which doesn't have automatic timezone support. To simplify things, reimplement the API can API calls so that only temperature values are sent to the endpoint and the server attaches the current server time to the data.

Rel: #8

Move `.env` under `server/`

There is no point in storing the env file in the root anymore as the ino program cannot read it. Place it under the server dir since it is related to that stuff...

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.