Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/acvigue/smartmatrixserver

Helper application that serves generated sprites to SmartMatrix devices over MQTT
https://github.com/acvigue/smartmatrixserver

esp32 mqtt tidbyt typescript

Last synced: about 1 month ago
JSON representation

Helper application that serves generated sprites to SmartMatrix devices over MQTT

Awesome Lists containing this project

README

        

# SmartMatrixServer

[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)
[![CodeFactor](https://www.codefactor.io/repository/github/acvigue/smartmatrixserver/badge)](https://www.codefactor.io/repository/github/acvigue/smartmatrixserver)

SmartMatrixServer is a MQTT-based helper that serves as the backend for the SmartMatrix-IDF project.

## Run with Docker Compose

```yml
smx:
image: ghcr.io/acvigue/smartmatrixserver:main
volumes:
- ./tidbytcommunity/apps:/sprites
- ./devices:/devices
environment:
REDIS_HOSTNAME: redis
REDIS_USERNAME: default
REDIS_PASSWORD: redispassword
MQTT_HOST: ~~~~~~~
MQTT_USERNAME: ~~~~~~~
MQTT_PASSWORD: ~~~~~~~
DEVICE_FOLDER: /devices
SPRITE_FOLDER: /sprites
redis:
image: redis:alpine
command: redis-server --requirepass redispassword
volumes:
- ./redis_data:/data
```

## Configuration

Files should be stored in the containers attached `/devices` directory as `SmartMatrixXXXXXX.json` where XXXXXX is the last 6 characters of the ESP32's MAC address

Array of objects containing name, duration, and any required configuration parameters.

Applets must be stored in the container with the format `/sprites/[name]/[name].star`

```json
[
{
"name": "paraland",
"duration": 10,
"config": {
"image": "north_carolina_morning"
}
},
{
"name": "paraland",
"duration": 10,
"config": {
"image": "arizona_day"
}
},
]
```