app | ||
content/www | ||
custom_modules | ||
.clang-format | ||
.gitignore | ||
build.config.example | ||
build.sh | ||
DejaVuSans.ttf | ||
HEADS | ||
LICENSE | ||
main.cpp | ||
migrate.sh | ||
publish_data.sh | ||
publish_random_data.py | ||
Readme.md | ||
run.sh | ||
SConstruct | ||
ti.bmp |
RPI player
Will be a simple media player frontend for raspberry pis based on SDL2. Think like oldschool mp4 players.
The idea is to make it super simple and efficient so that it can be used on a pi zero with small lcd screens.
Compilation
Will only work on linux! Works on the rasberry pi.
Dependencies
Arch/Manjaro:
pacman -S --needed scons pkgconf gcc yasm libevent
Debian/Raspian:
sudo apt-get install build-essential scons pkg-config libudev-dev yasm libevent libevent-dev
Optionally if you install MariaDB/MySQL and/or PostgreSQL the compile system should pick it up. Make sure to get a version whoch contains the development headers (A bunch of .h files).
Initial setup
clone this repo, then call scons
, it will clone rcpp cms into a new engine directory. Run this every time you update the project.
You don't have to run it before / between builds.
# git clone https://github.com/Relintai/rcpp_sample_simple_data_collector_app.git rcpp_sample_simple_data_collector_app
# cd school_industrial_comm_2021
# scons
Now you can build the project like: scons bl
. ([b]uild [l]inux)
Adding -jX to the build command will run the build on that many threads. Like: scons bl -j4
.
# scons bl -j4
- or -
# ./build.sh
Now you can run it.
First run migrations, this will create the necessary database tables:
# ./engine/bin/server m
- or -
# ./migrate.sh
Now you can start the server:
# ./engine/bin/server
- or -
# ./run.sh
Make sure to run it from the project's directory, as it needs data files.
Now just open http://127.0.0.1:8080
You can push floats to the "a/b" MQTT topics, and the new values will be save in the database.sqlite
file, and will appear
in your browser.
If you have mosqitto installed you can use the publish_random_data.py
or publish_data.sh
scripts to automatically
push things into the proper MQTT topic.
Structure
The main Application implementation is app/ic_application.h
.
The main.cpp
contains the initialization code for the framework.
The content/www
folder is the wwwroot.