Lightning powered beer tap
This project consists of multiple parts. To make things easier the
application.sh provides a frontend
to control everything. The different parts of the project are documented below.
The following diagram provides a general overview on how all the components work together
- Basic Setup is done by running the
application.shshell script. (start Chromium in Kiosk mode, displays the Zeus self-service web application in the browser, starts the WebSocket Bridge
- User scans and pays invoice
- Zeus gets notified that payment was successful
- Zeus sends a stomp event to the websocket
- WebSocket bridge runs the GPIO Handler with parameters about the product eg. small|large beer
- GPIO Handler switches the relay for a certain amount of time (small beer 5 seconds, large beer 7 seconds) Important: enjoy your beer, lightning pioneer!
The Zeus Application as well as lnd and bitcoind are not part of this project. Details about those can be found under https://github.com/puzzle/zeus
the final Lightning powered beer tap looks like this:
Beer Tap in Action Video
To build your own lightning powered beer tap you'll need the follwing parts. We got most of our parts from distributors located in switzerland, but you can get them anywhere you want.
|Part name||Part number||Price / CHF||Distributor|
|Raspberry Pi 3 B+||10760||39||pi-shop.ch|
|32GB MicroSD Card||6613018||29.9||digitec.ch|
|Original Rpi 7" Touchscreen||10266||79.9||pi-shop.ch|
|PiggiPi 7’’ Display Mount||10399||48.9||pi-shop.ch|
|Raspberry Pi Relay Board||10398||24.9||pi-shop.ch|
|24V AC Source (24W/50Hz)||169-84-752||22.7||distrelec.ch|
|Beer tap with solenoid valve||08.00125||247.3||schankanlagenhandel.eu|
|Bent faucet for beer tap||08.00128||22.51||schankanlagenhandel.eu|
This is straightforward. If you bought an empty micro-sd card, just download the latest Raspbian image.
- Fire up
ddto load the image to your card.
sudo raspi-configto extend your partitions, start openssh and enable the gpios.
- Follow the guide on how to secure you raspberry pi
- Once you've deployed your ssh key and secured your access, clone this repo.
- Install the necessary software to your pi by executing the following commands:
sudo apt-get update sudo apt-get install -y openjdk-8-jre openjdk-8-jdk unclutter vim
- Add your user to the group
- You're all set and ready to go
- Clone the repository on your Raspberry Pi
application.sh start script
This script is used to start, stop or rebuild the application. Simple as that.
The websocket bridge will be automatically built if you run
start without a
You might need to change the URL of your running ln-self-order-pos in the
application.sh and dashboard
$ ./application.sh start # starts the dashboard and websocket bridge $ ./application.sh stop # stops everything $ ./application.sh build # rebuilds the java websocket bridge
To execute this python module the user has to be part of the group
- RPi-GPIO (pre-installed on all raspberry pi distributions)
how to run
$ python gpio_handler.py --product=[large,small] [--test, --memo="asdf"] $ python gpio_handler.py --help