This repository is the frontend and main logic for the BeagleBoom project. Because of the browser based frontend, the beagle boom supports smartphones and computers as additional screens and remote controls.
- NodeJS >= 10
- Yarn (
npm install -g yarn
) - PM2 (
npm install pm2
)
- Yarn (
- FFmpeg
- mplayer
If all requirements are met, just run
yarn install
Start the menu with pm2 start index.js -- 1
The 1
stands for the recipientId of the menu.
By default, a webserver is started on port 8080
and two pages are exposed.
- http://[BEAGLE_BOOM_IP]:8080/index.html => A non interactable rendering of the screen. Used internally by the BeagleBoom on the LCD.
- http://[BEAGLE_BOOM_IP]:8080/remote.html => The screen in conjunction with all rotary encoders and buttons (in form of html buttons). Additionaly a textbox is present for fast text input.
The BeagleQueue library is not used directly and events added to it have to be added to the Menu as well. This can either be done by adding the event name at the same position as in the enum in the file lib/QueueEventEnum.js or by automatic generation. The generation is done by the script node src/EventTypes
. The script will parse the C++ enum and output the code which can be put into the lib/QueueEventEnum.js file.
This repository is part of the BeagleBoom-Sampler project developed by the academic working group "Creative Technologies AG" (ctag) at the University of Applied Sciences Kiel.
The content and source code of this project itself is licensed under the Creative Commons Attribution 4.0 International license.