30
Sep 2014
Marko

Cocktailmaschine, die Software steht (cocktailUi)

Unter dem Namen cocktailUi habe ich gestern die erste Version meiner Cocktail-Maschinen-Software auf github gepuscht.

Die Software ist größten Teils in coffee-script geschrieben. Für alle die nicht so geübt mit coffee-script sind habe ich die kompilierten javascript-Dateien auch dazu gelegt.

Das Projekt ist also nach dem Checkout lauffähig. Es wird keine Datenbank benötigt.
Ihr braucht nur einen php fähigen Webserver. Einzig für den Ordner „configurations“ müsst Ihr S^ gewähren.

coctailui

Was muss eure Cocktail-Maschine mitbringen?

Um die Kompatibilität möglichst groß zu halten habe ich mich dafür entschieden die Pumpen der Cocktail-Maschine mit Web-Calls zu steuern.

Eure Cocktail-Maschine benötigt also pro Pumpe zwei Web-Schnittstellen. Eine um die Pumpe zu starten und eine weitere um die Pumpe zu stoppen.

Das könnte für die Pumpe 1 z.b so aus sehen:
http://url_oder_ip_der_cockrailmaschiene/?pumpe=1&action=on und
http://url_oder_ip_der_cockrailmaschiene/?pumpe=1&action=off

Die Software besteht in der ersten Version aus zwei Bereichen in dem ersten nehmt Ihr die Konfiguration vor und stellt die Cocktails zusammen. Der zweite ist dafür da die eingestellten Mix-Programme zu starten.

Die Konfiguration

Im Linken Menü findet Ihr den Knopf „Create New Setup“, worüber Ihr eine neue Cocktail-Maschinen-Konfiguration anlegen könnt.

cocktailui.onkeloki.de_2014-09-30_14-21-40

Im Beispiel seht Ihr dass ich bereits eine Konfiguration mit dem Namen „Maschine“ angelegt habe. Außerdem sind bereits 8 Pumpen (bzw: Flüssigkeiten) festgelegt und 4 Rezepte.

Konfigurationen dienen dazu, verschiedene „Flaschen-Setups“ zu erstellen. Es währe aber auch möglich mehrere Cocktail Maschinen (falls vorhanden) zu Konfigurieren.

Ihr müsst nun einen Namen vergeben. Start und Stop all pumps kann ignoriert werden, es wird momentan nicht benötigt.

MS per CL

Dieser Wert ist sehr wichtig, er gibt an wie lange eine Pumpe der Cocktail-Maschine benötigt um einen CL zu fördern. Ich habe den Wert von 3750 ms / cl mit einer handelsüblichen Küchenwaage und Wasser ein gemessen.
Dazu habe ich die Küchenwaage unter das zu befüllende Glas  gestellt und dann 10cl gepumpt während ich die Zeit gestoppt habe. Die gemessene Zeit haben ich dann einfach durch 10 geteilt. (Ich hätte natürlich auch einfach 1 cl pumpen können und nicht teilen) Die Pumpen meiner Maschine benötigen also ca 3,7 sec ein CL zu Pumpen.

cocktailui.onkeloki.de 2014-09-30 14-23-30

Unter „Add Liquid“ könnt Ihr nun die Getränke eintragen die an den entsprechenden Pumpen angeschlossen sind. Hier ist außerdem die Stelle, an der Ihr die Pumpen-Web-Services wie oben beschrieben angebt.

Nach dem Speichern geht es in den Bereich „add Cocktail“. Wo ihr euren ersten Cocktail anlegen könnt.

Neben dem Namen ist der „Your Recipe“ Abschnitt auf dieser Seite der wichtigste.
Hier könnt ihr nun via Klick Zutaten hinzufügen und die Mengen festlegen.

cockrail_5

Seit ihr damit Fertig, das Speichern nicht vergessen.

Das Mix-Program Starten

Nun öffnet Ihr die /app.html in eurem Browser. Hier werden zuerst einmal alle vorhandenen Konfigurationen gelistet. Nachdem Ihr eine ausgewählt habt erscheint die Liste der verfügbaren Cocktails. Ein Klick auf „Start Mixing“ fährt das Programm ab

app.html 2014-09-30 19-35-17


9 Kommentare zu "Cocktailmaschine, die Software steht (cocktailUi)"

  1. Christian schreibt:

    Hallo, ich gehe recht in der Annahme dass ich hierfür wiringPi installiert haben muss?

    Welchen Gpio pin steuert der befehl ip_der_cockrailmaschiene/?pumpe=1&action=on an?
    Bzw. Pumpe 2? usw.

  2. Marko schreibt:

    ja zum schalten der pumpen nutze ich wiringPi
    wie das genau funktioniert habe ich hier beschrieben:
    https://onkeloki.de/2013/12/23/relais-mit-dem-raspberry-pi-schalten/

    zu deiner zweiten Frage:
    ich habe ein php script erstellt, welches wiederum den wiringPi Befehl ausführt.
    z.b, so:

    < ?php if($_GET[“pumpe“] == 1 && $_GET[“mode“] == „on“){ shell_exec("gpio -g write 23 0“); } if($_GET[“pumpe“] == 1 && $_GET[“mode“] == „off“){ shell_exec("gpio -g write 23 1“); } ?>

    dieses script lässt sich dann via Http aufrufen und schaltet entsprechend die pumpe (in diesem fall an gpio 23)

  3. Christian schreibt:

    Danke dir, jetzt bin ich auch ein gutes Stück weiter gekommen.
    Eine Frage habe ich aktuell noch:
    Meine Gpio ´s sind beim Start immer auf Lesen eingestellt ich möchte sie aber dauerhaft als schreiben nutzen, wie kann ich das ändern.
    Bzw. muss ich immer erst die gpio per zb. gpio Export 2 out aktivieren kann ich das dauerhaft einstellen?

    Über .sh und Eintrag in die rc.local bekomme ich es nicht zum Laufen.
    DANKE

  4. Marko schreibt:

    Das problem habe ich auch. Ich führe einfach das gpio export x out vor dem shell_exec auch via php aus. Es wir zwar dann jedes mal aufgerufen aber das ist dem gpio egal 😉

  5. Rocko schreibt:

    Marko, ich bin begeistert von deinem script. Nun bin ich dabei, eine LED-Leiste von rot auf grün zu schalten, während der Cocktil in Arbeit ist. Hast du eine Idee, wo ich meinen Codeschnipsel in deiner Software einbauen kann, der beim Click auf MIX auf rot schaltet, bis der Cocktail fertig ist und dann auf grün wechselt. Kopple ich es an das script der Pumpe wechselt es mir zu häufig zwischen rot und grün…

  6. Marko schreibt:

    https://github.com/onkeloki/cocktailUi/blob/master/coffee/compiled/MixRemote.js

    106 — da startet er
    139 — da muß ein ELSE hin und dann enstrpechend was getan werden muß, wenn keine weitere zutat vorhanden ist

  7. Siegfried schreibt:

    Hai,
    ich hab selbst vor einigen Jahren mich in so einem Projekt verrannt….
    Könnten wir uns evtl. mal Austauschen? Email über GitHub?

  8. Marko schreibt:

    Klaro, einfach melden

  9. Brauny schreibt:

    Ich bin neu auf dem Gebiet und weis nicht was ich mit den Coffee Dateien machen soll

Kommentar verfassen