Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/acvigue/smartmatrixserver
- Owner: acvigue
- License: gpl-3.0
- Created: 2022-12-13T19:05:13.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T17:37:12.000Z (2 months ago)
- Last Synced: 2024-10-24T22:07:24.759Z (2 months ago)
- Topics: esp32, mqtt, tidbyt, typescript
- Language: TypeScript
- Homepage:
- Size: 31.5 MB
- Stars: 7
- Watchers: 2
- Forks: 5
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
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"
}
},
]
```