Dieser kleine BarMixVah-Verschnitt ist unsere Bar an der Bar, und ist ein waschechtes IoT-Projekt. Ein kleiner Arduino Nano steuert ein paar Peristaltikpumpen, um verschiedene Flüssigkeit in einem Becher zu vereinen. So entsteht dein Lieblingsdrink (natürlich nicht geschüttelt oder gerührt). Ein NodeJS-Server mit MongoDB steuert das Ganze. Wir nutzen dazu eine kleine Ubuntu-VM, die dann auf einem Notebook läuft:-) Entstanden ist die Cocktail-Bar bei uns im Jahr 2018 und 2019.
- Erfinder: Yu Jiang Tham, 2014
- Genutzter Fork: https://github.com/chenlevy/barmixvah
- Hardware
- 5xPeristaltikpumpe 12V
- Arduino Nano
- RS232 zu USB Connection
Die Original-Anleitung ist bei http://yujiangtham.com zu finden.
Reinigen der Maschine
jede Pumpe einzeln nacheinander reinigen!
Variante Manuelles Reinigen:
- Peristaltikpumpe von Motor abziehen
- Spritze mit Reinigungsmittel (Säure → Philipp Nitsche fragen!) an Schlauch ansetzen und durchspritzen
- Wiederholen, bis sauber
Variante Automatisches Reinigen:
- Reinigungsmittel in eine Tasse geben und Schläuche einhängen
- Pumpen laufen lassen (via Software) → es können maximal 3 Pumpen (besser nur zwei!) gleichzeitig laufen. Ab der vierten geht das System in die Knie!
Software
Variante 1: Festinstallation auf fairy-pi → Doku: BarMixVah Server
- Variante 2: Virtuelle Maschine nutzen
Vorbereitungen auf dem Hostsystem
- Install VirtualBox
- Install VirtualBox Extension Pack
Vorbereitungen in der virtuellen Maschine (HowTo Install)
Die virtuelle Maschine usbip-oracle-vm dient zur Nutzung der Cocktailbar im lokalen Modus: Installiert ist ein Ubuntu 18.04 LTS mit Desktop und dem Standardnutzer "flcmanage" (Administrator).
cd /media mkdir cdrom mount /dev/cdrom /media/cdrom cd /media/cdrom apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r) ./VBoxLinuxAdditions.run apt-get install linux-tools-common linux-tools-generic mkdir /usr/share/hwdata ln -sf /usr/share/misc/usb.ids /usr/share/hwdata/usb.ids #some fix to prevent error when typing "usbip list -l" on Ubuntu 18 sudo apt install ubuntu-desktop
Die weitere Installation basiert auf der Server-Variante cocktails.fablabchemnitz.de → https://fablabchemnitz.de/display/FCI/BarMixVah+Server
(Auto)start BarMixVah Server und Autostart FireFox
BarMixVah startet automatisch mit, wenn die VM gestartet wird.
vim /home/flcmanage/.config/autostart/RunBarMixVah.desktop #!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=true Exec=/home/flcmanage/restart-barmixvah.sh Name=Restart BarMixVah Comment=Restart BarMixVah #Icon=/snap/linux.png vim /home/flcmanage/.config/autostart/firefox.desktop
Starten der VM und Autostart der inbegriffenen Dienste
Start der VM via Desktop-Verknüpfung
oder via Virtual Box Manager
Arduino Nano in VM routen
Damit der Arduino Nano von Ubuntu erkannt wird, muss die USB-Verbindung vom Gast-System in die VM geroutet werden
Bar bedienen
Es muss nichts weiter unternommen werden. Es passiert alles automatisch! Falls es Fehler gibt, dann ggf. den BarMixVah Server neustarten, oder den Browsertab neuladen.
- Der Nutzer "flcmanage" wird beim Starten der virtuellen Maschine automatisch eingeloggt
- beim Start der VM wird automatisch der service "barmixvah" gestartet
- Der FireFox-Browser ist im Autostart des Nutzers "flcuser" definiert und lädt automatisch die lokale NodeJS Instanz http://127.0.0.1:3000
- Die wichtigsten URLs zur Bedienung der Applikation sind in der Lesezeichenleiste zu finden
- Hinweis zur Config: Die BarMixVah läuft nicht im sog. "Multi Glass Mode"
FireFox im Vollbild Modus
F11 drücken!