Git Product home page Git Product logo

weightybeer's Introduction

WeightyBeer

The WeightyBeer project is a beer keg volume monitor system. Monitor the approximate remaining volume of your kegs and display it on a tablet by your taps. With the elm-client web app you can manage all your brews and taps. Just add the number of taps you have, and select the brew currently hooked up to each tap. The weighthub app automatically aggregates the real-time readings from each load cell sensor so that only relevant changes are propagated to the web client app. Use the weightsim app for testing purposes if you need to simulate load cell sensors during setup.

Requirements

  • Load cell (readable by software)
    • E.g. Modified package scale hooked up to an arduino and use the included weightsensor app
  • (Cheap) Tablet and somewhere to mount it
  • Computer to connect the arduino to and run the WeightyBeer project

Physical setup

TODO

Setup

  1. Install git, docker and docker-compose
  2. Clone the project
  3. Verify that WeightyBeer/weightsensor/config.json works for you, or update it accordingly
  4. Use docker-compose to build and run WeightyBeer
  5. cd WeightyBeer
  6. docker-compose -f docker-compose.yml build
  7. docker-compose -f docker-compose.yml run -d

Contribute

If you want to contribute then styling is in dire need. Also a better aggregation algorithm for the weighthub app would be nice. Just give me a pull request and I'll look into it. Thanks :D

License

This project is licensed under the terms of the MIT license.

weightybeer's People

Contributors

mapster avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar

weightybeer's Issues

General Questions

This is a really great project and exactly what I was looking for as I have been interested in setting up something to monitor the levels of my kegs. I have several questions and concerns that I have listed below for your consideration:

  1. It's possible to connect multiple scales by using an HX711 for each one, connecting each of those to the Arduino, and then adding a sensor for each in the weightsensor/config.json file to define the pins used, correct? I have 4 kegs that I would like to track, so I would have four scales and HX711 connected to various pin paris on the Arduino.
  2. Is an Arduino Uno R3 mainboard sufficient?
  3. The Arduino gets connected to the Raspberry Pi via USB and the Pi is running the weightsensor component?
  4. Is a Raspberry Pi Zero W (1 Ghz single core, 512MB) sufficient?
  5. Is it possible to run all of the components (weightsensor, weighthub, client) from the same Pi Zero?
  6. How is scale drift due to temperature and constant weight load on the sensors being handled?
  7. How often is the weight being sampled and sent to Firebase for storage? A very large concern is exceeding the free level of read/writes/data for Firebase and Firestore and getting billed for it. This concern increases as the number of kegs (currently 4) increases. Any information on how the measurement data is limited to prevent this would be appreciated.
  8. Since it has been 2 years since the last update, is this project still being maintained? How has everything held up over time?

I look forward to your response. Thank you and keep up the great work!

Elasticsearch cluster with Kibana

Have you considered adding an option to use a Elasticsearch cluster with Kibana running locally rather than sending external to Google Firebase? Thanks!

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.