Git Product home page Git Product logo

esp-rgb-led-matrix's Introduction

PIXELIX

PIXELIX

Full RGB LED matrix, based on an ESP32 and WS2812B LEDs.

License Repo Status Release Build Status

pixelix pixelix

Motivation

I want to have a remote display to show multiple kind of information, running 24/7 reliable. Connected over wifi to the local network, it can be controlled via REST API or websocket.

Some impressions
TimePlugin DatePlugin
IconTextLampPlugin IconTextPlugin
WifiStatusPlugin ...

Overview

Very First Startup

If the device starts the very first time, the wifi station SSID and passphrase are empty. To be able to configure them, start the device and keep the button pressed. The device will start up as wifi access point with the default SSID "pixelix" and the default password "Luke, I am your father.". The display itself will show the SSID of the webserver.

Connect to the captive portal and configure via webinterface the wifi station SSID and passphrase. Restart and voila!

User Interface

  • The user button activates always the next slot.
  • If the display is at a place, which is hard to reach, the virtual user button can be used. It is controllable via REST API and perfect for remote buttons like the Shelly Button 1.
  • If a LDR is connected, the display brightness is automatically adapted.
  • The web interface provides the possibilty to install plugins, control their duration in the slots and etc.
  • Some plugin's spawn a dedicated REST API, see the web page of the plugin or have a look to the REST API documentation.

Note, the websocket interface is currently only used as a service in the web interface.

Documentation

For more information, see the documentation.

Used Libraries

  • Arduino - ESP32 Arduino framework - Apache-2.0 License
  • NeoPixelBus - Controlling the LED matrix with hardware support (RMT) - LGPL-3.0 License
  • ESPAsyncWebServer - Webserver - LGPL-2.1 License
  • AsyncTCP - TCP library - LGPL-3.0 License
  • ArduinoJson - JSON handling - MIT License
  • StreamUtils - Stream utilities - MIT License
  • Bootstrap - CSS Framework - MIT License
  • POPPER JS - POPPER JS - MIT License
  • jQuery - Javascript librariy for DOM handling - MIT License
  • DHTesp - An Arduino library for reading the DHT family of temperature and humidity sensors. - GPL-3.0 License

FAQ

Where to change panel topology?

First adapt in ./src/HAL/Board.h the width and height according your LED matrix.

In the ./src/Gfx/LedMatrix.h file you have to change the member variable m_topo according to your physical panel topology. Take a look how your pixels are wired on the pcb and use the following page to choose the right one: https://github.com/Makuna/NeoPixelBus/wiki/Layout-objects

Issues, Ideas And Bugs

If you have further ideas or you found some bugs, great! Create a issue or if you are able and willing to fix it by yourself, clone the repository and create a pull request.

License

The whole source code is published under the MIT license. Consider the different licenses of the used third party libraries too!

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.

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.