Go to file
2021-06-05 17:01:41 +02:00
app Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
content/www Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
custom_modules Added my tutorial engine's code as a basis for an sdl module. 2021-06-05 17:01:41 +02:00
.clang-format Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
.gitignore Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
build.config.example Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
build.sh Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
HEADS Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
LICENSE Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
main.cpp Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
migrate.sh Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
publish_data.sh Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
publish_random_data.py Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
Readme.md Update the readme for this project. 2021-06-05 16:53:57 +02:00
run.sh Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00
SConstruct Initial commit. (from the data collector sample app) 2021-06-05 16:41:54 +02:00

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.