Giter VIP home page Giter VIP logo

hector9000's Introduction

Chat: Join the Chat at Discord

Quality Gate Status

Branch Status
Master Build Status(Master)
Development Build Status

HECTOR 9000

Minimal Requirements

- RaspberryPi 3
- Debian bases Linux (to use installscript)
- Python 3.8

Prepare Raspberry

Activate I2C:

sudo raspi-config 

Here go to "Interfacing Options" and Activate/Enable I2C

Install on RaspberryPi

First you have to clone the github repo of Hector

git clone https://github.com/H3c702/Hector9000.git

This repository doesn't contain a frontent. To get the original Hector9000 frontend see:

https://github.com/H3c702/Hector9000WebUI

To start the Hector software first move into the directory:

cd Hector9000

Then run this command to setup all necessary tools:

./setup.sh

Or run it with the option "-c" to preset the mqtt preconfigure for the WebUI

./setup.sh -c

To start the software run:

./start.sh

Add Drinks

To add a new Drink you have to modify the drinks.py file and add a new item into the drink_list array formatted as followed:

{
    "name": "NAME OF DRINK",
    "recipe": [
        ("ingr", "INGREDIENT1", AMOUNT1),
        ("ingr", "INGREDIENT2", AMOUNT2)
    ]	
}

All strings in UPPERCASE are placeholders, all lowercase strings have to be used literally in the definition. The INGREDIENTx names are not cleartext but are identifiers referencing into the ingredients list below in the same file. The AMOUNTx values are numerical values of the corresponding ingredient's amount in grams.

At the moment there are only some ingredients but feel free to put in some new. You can add them in src/Hector/conf/database.py . Or you can use the WebUI when it is implemented.

A future extension might allow multi-language UIs.

Add Ingredients

To edit the Ingredients that can be used you can edit the database.py or use the tool in the tools folder.

python3 Hector9000/tools/Editingredients.py

Assigning valves

The available ingredients are also moved to the db and can initial be edited in the databas.py or over the WEB UI in the future.

For the meantime you can use the script "SetValveIng.py".

python3 Hector9000/tools/SetValveIng.py

Calibration of Loadcell

HOW TO CALCULATE THE REFFERENCE UNIT To set the reference unit to 1. Put 1kg on your sensor or anything you have and know exactly how much it weights. In this case, 92 is 1 gram because, with 1 as a reference unit I got numbers near 0 without any weight and I got numbers around 184000 when I added 2kg. So, according to the rule of thirds: If 2000 grams is 184000 then 1000 grams is 184000 / 2000 = 92.

After you have calculate your reference then go to Hector9000/conf/HectorConfig.py and set the

"hx711": {
    "ref": 2145  # REFERENCE VALUE
    }

Development on non-Hector hardware :

In the HectorServer.py you have to comment line :

#from HectorHardware import HectorHardware as Hector

and uncomment:

from HectorSimulator import HectorSimulator as Hector

Info

If you have some ideas or a fix or something else to make Hector better, don't be afraid to send us a pullrequest ;-)


Special thanks to

hector9000's People

Contributors

cadm1um avatar dependabot[bot] avatar devtown avatar kater--s avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hector9000's Issues

shiboken2 lässt sich nicht installieren

Mahlzeit,

leider habt ihr in eurer requirements.txt noch folgendes Modul drin:

shiboken2==5.12.1

diesen lässt sich aber nichtmehr installieren und führt dadurch bei vielen Nutzern zu Fehler in der setup.py

Grüße,
Dennion

WebUI

Hello,
I wanted to ask when the configuration via the WEB interface will be possible.

I'm just about to build the case.
And are there already German speakers who have successfully completed the project?

With best regards
Manuel

Integrate and automate maintenance/service procedures

Currently we have a bunch of standalone Python scripts, e.g. for cleaning and drying the hoses or for adjusting the valves. Care has to be taken to treat Hector's hardware correctly with them.
These procedures should all be made more "intelligent" and finally be integrated into the Setup/Service part of the UI.

Add ml of Cup for scale drink

The normal Drinks will be scaled for 400ml.
For some events it will be nice to have 300 oder 200 ml.
So there has to be a DB-Field that holds the info and the drinks has to scale .

Problem with Stepmotors

Heyho,

i have a Problem with my step motor in den Last Release Version. The step motor just jerks back and forth instead of moving in and out properly. It is also relatively loud in the latest version. But only there.

Greets,
Dennion

Create a RPI Image for Download

It would be nice if every release would contain a RPI Image with the latest Code and WebUI.

There for we need a CI/CD pipeline that will create a new RPI Image , pull in the sources , update the system and change configs (mqtt, webui) .
After all of that the image has to be packed and shrink.

Scale drinks

Set the default drink value and a scale to set it to 200ml up to 400ml drink output

Implement LED_API and create responsive LED_Animations

There is already an LED_API in the 36c3 branch. It needs to be properly implemented into HectorRemote. LED_Controller and Server from the 36c3 branch need to be overhauled to be more responsive and implement the LEDStrip API accordingly.

Predefine DB

Implement Ingredients and ServoConf(Aval Drinks) to DB (SQLITE)

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.