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 (
If all requirements are met, just run
Start the menu with
pm2 start index.js -- 1
1 stands for the recipientId of the menu.
Remote Screen and Control
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.
Creating custom states and views
Use new events
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.
About this repository
The content and source code of this project itself is licensed under the Creative Commons Attribution 4.0 International license.