Giter VIP home page Giter VIP logo

pixoo-bridge's Introduction

Pixoo Bridge

Small docker image to communicate with a network enabled pixoo LED dot matrix.

Conventional Commits GitHub License GitHub Workflow Status (with event) GitHub release (with filter) GitHub issues GitHub Repo stars

Configuration

Pass key as environment variable the docker container.

Key Default value Description
PIXOO_HOST localhost IP of the pixoo in the network
PIXOO_SIZE 64 screen size of the pixoo
PIXOO_HEALTH_FORWARD true Ping pixoo during image health check
PIXOO_DOCS_ENABLED true Enable API documentation
PIXOO_ANIMATION_SPEED_FACTOR 1.4 Factor to adjust animation speed of uploaded gifs
PIXOO_MAX_IMAGE_SIZE 2MB Image size for uploads and remote images. Format like 128KB or 5MB
PIXOO_LOG_LEVEL INFO Possible values OFF, DEBUG, INFO, WARN, ERROR

Run the image

replace the ip of your pixoo and run

docker run -p 4000:4000 -e "PIXOO_HOST=xxx.xxx.xxx.xxx" ghcr.io/simplyroba/pixoo-bridge:latest

or use the docker-compose.yaml

docker compose up -d

API

Documentation

Generated API documentation can be reached under

http://localhost:4000/swagger-ui/index.html

Swagger Screenshot

Limitations

The Channel control API of the Pixoo will not be implemented. Use the App for these functionality.

Further resources

Official product page

Pixoo64

Pixoo API

Official Divoom API documentation

pixoo-bridge's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar simplyroba avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pixoo-bridge's Issues

add ktfmt for formatting

https://github.com/diffplug/spotless

plugins { id("com.diffplug.spotless") }

repositories { mavenCentral() }

spotless {
  format("misc") {
    target("**/*.yml", "**/*.yaml", ".gitignore",)
    targetExclude("**/build/**/*", "**/.idea/**")
    trimTrailingWhitespace()
    endWithNewline()
    indentWithSpaces(2)
  }

  kotlin {
    target("**/src/**/*.kt", "**/src/**/*.kts", "**/buildSrc/**/*.kts")
    targetExclude("**/build/**/*.kts", "**/build/**/*.kt")
    ktfmt().googleStyle()
    indentWithSpaces(2)
  }

  kotlinGradle {
    target("**/*.gradle.kts")
    targetExclude("**/build/**/*.gradle.kts")
    ktfmt().googleStyle()
  }

  freshmark { target("*.md") }
}

Upload image function with url

Is your feature request related to a problem? Please describe.
Uploading an image needs always to download the image to the client first.

Describe the solution you'd like
Pass a url to the bridge, so the image can be downloaded there get resized and uploaded to the pixoo.

publish image to github packages

User Spring layers in dockerfile

Faster startup

https://spring.io/guides/topicals/spring-boot-docker/#a-better-dockerfile
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#container-images.dockerfiles

FROM eclipse-temurin:17-jre as builder
WORKDIR application
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract

FROM eclipse-temurin:17-jre
WORKDIR application
COPY --from=builder application/dependencies/ ./
COPY --from=builder application/spring-boot-loader/ ./
COPY --from=builder application/snapshot-dependencies/ ./
COPY --from=builder application/application/ ./
ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]

make project public

TODOs before

  • add CODEOWNERS โœ… #42
  • improve readme.md
  • badges (package downloads, stars, release version)
  • check branch protection
  • check rights on repo (pushing other branches than main, ..)
  • add contributing.md
  • add issue template

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.