This is the repository for a protogen software application.
Follow these steps in order.
Go here and read this: https://learn.adafruit.com/adafruit-rgb-matrix-bonnet-for-raspberry-pi/driving-matrices
Run step 6 at the home directory of your pi.
Run sh setup.sh
at the root of this repository. This will build the led matrix library that this repo depends on which allows this project to access the led matrices. It also installs packages which allow for the compilation of utilities in the led matrix library.
At the root of this repository, run mkdir build
. This will be your build directory. Run cd build
.
Run cmake ..
and then cmake --build .
to build the protogen software. If it does not build, open an issue if it does not yet exist.
If the build is successful, there should be an executable named protogen
in your build directory.
To run it, you may need sudo
: try running as sudo ./protogen
in your build directory. The sudo
is needed
to be able to drive the led matrices.
Run sudo cmake --install .
in your build directory. This will place the executable and resources in your standard
install location and should be accessible via your PATH variable by default on most unix/linux systems.
To test if your install worked, try running sudo protogen
. If changes are made to your local repository, running
cmake --build .
then sudo cmake --install .
will install the latest changes.
Often, one just wants the protogen software to start when the device is booted. This repository has scripts to manage just that.
To enable, at the root of this repository, run sh scripts/for_server/enable_protogen_service.sh
.
To disable, at the root of this repository, run sh scripts/for_server/disable_protogen_service.sh
.
How to use a small MEMS mic and I2C sound sensor module to measure loudness: https://pcbartists.com/product-documentation/accurate-raspberry-pi-decibel-meter/
- Plugin feature that allows other developers to develop apps for the protogen.
- This would use shared libraries and resources that are then installed in a specific directory.
- Plugins will add the following: new http endpoints, state, and static resources.
- SDL for seeing imagery on desktop environment.
- Party games: trivia, battleship, guess the e621 tag, etc.
- Vowel detection and switching between mouth-frame sets based on vowel sound.
- Protogen-to-Protogen interaction/communication.
- If connected to internet and have gps-like module, each protogen can publish their lat/lon continuously.
- If protogen has some kind of NFC or bluetooth-like connectivity, maybe that could work.
- Voice-modification with mic and speaker.