I like my lovers like I like my coffee: open source
![drawing](https://private-user-images.githubusercontent.com/2357370/326279562-d96b879c-cc73-4bdd-8d4b-e44f2ba1b3a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Mzk2NjQsIm5iZiI6MTcyMDUzOTM2NCwicGF0aCI6Ii8yMzU3MzcwLzMyNjI3OTU2Mi1kOTZiODc5Yy1jYzczLTRiZGQtOGQ0Yi1lNDRmMmJhMWIzYTAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDlUMTUzNjA0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmU1ZTBiYTM2ZjIyZWE1MTFlODY5NzdhZDk4NWQ0Y2M0ZWMyMmZlOTUzZGZlMDRkZWYwZGZlYThlNjYyYjExYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.P7OhALiln6tDTv6eK_20KjIvL-0flcYMnMZWuhNaQ8U)
This is the software needed for the electron app that powers the Like My Coffee scoreboard! There are some requirements:
- A Raspberry Pi 3 or higher (I happened to have a 3 to spare; it SHOULD work without any issues otherwise?)
- An X-Box 360 Scene It? Infrared Receiver and corresponding controllers
- Do your normal Pi updates/upgrades/whatever.
- Install https://github.com/micolous/xbox360bb and follow the instructions there for Raspberry Pi (you do not need to download the kernel bits; these are part of the updates/upgrades from above)
- Install nodejs, npm, joystick (for testing) and samba (for writing code on another computer if you want your Pi headless while developing) via
apt-get install nodejs npm joystick samba
- Run
npm install electron
in whatever folder you want the project to be in - Copy and paste the files from this repo into there and then run
npm install
again. Voila!
- This needs to be run as root. I know, it's ugly, but the Big Button drivers are legacy, and that's locked down like crazy, so you'll need
sudo npm run
to get it to detect.- This means that WebUSB by itself is not an option, as even when running with
sudo
it doesn't detect. It only detects with legacy drivers, so keep that in mind. - This is why
xhost +
is in the start script; this is required for it to have access.
- This means that WebUSB by itself is not an option, as even when running with
- You'll notice that electron is being run with
--disable-gpu-compositing
; this is not required if you have your Pi plugged into a monitor, but headless, there's a known issue with Electron.
I'd love to get a newer Raspberry Pi; the original goal was to write this in Electron and React, but trying to install that on a Raspberry Pi 3 was too taxing. Perhaps when I have room in my budget! Mayhaps, even!
That's...that's it I believe!