GithubHelp home page GithubHelp logo

betamoojw / esp32-led-controller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hoene/esp32-led-controller

0.0 0.0 0.0 3.59 MB

An embedded matrix LED controller for the ESP32 platform

License: GNU Affero General Public License v3.0

CMake 0.71% HTML 12.61% JavaScript 5.08% C 78.32% Makefile 0.08% Shell 0.20% Assembly 1.91% C++ 1.09%

esp32-led-controller's Introduction

LED Controller

This a software for the ESP32 chip, which can control multiple LED matrix displays. The LED displays must be based on smart LEDs such WS2813, GS8218, neopixels, or others. Up to eight serial data interfaces are supported.

The LED controller provides a web interface, available via ethernet, a wifi access point, or via wifi client. Via the web interface, the displays, colors format, and display order can be controlled.

A video streaming interface is available via UDP port 1616. The image format must be RTP/MJPEG.

Alternative, different testing patterns can be started on the web page of the LED controller.

Required Hardware

Please use one of the following ESP32 hardware modules:

However, it should not be too difficult to add support other modules.

If you use 12V LEDs, you might need a TTL level converter to convert the output from a 3.3V level to higher, e.g. 5 or 12V.

For example, you may setup your test hardware such as the following

Required Software

The ESP32 development environment is required. Download and install it from [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/].

Programming

To set up your ESP32 controller with this software, please the github repository with

git clone https://github.com/hoene/esp32-led-controller

You may want to reconfigure the hardware. Please either copy an existing '''sdkconfig''' file, e.g.

cd esp32-led-controller

cp sdkconfig.OLIMEX_ESP32_EVB_B sdkconfig

or configure your particular hardware via

idf.py menuconfig

to the setting you need. In the menu CONTROLLER you find the settings needed.

You compile the LED controller software with

idf.py build

Connect your ESP32 via USB to get a serial programming interface, which you need to flash the ESP32. To flash the ESP32 call

idf.py flash

Usage

Connect your PC the LED controller via Ethernet or Wifi. The default Wifi AP password is "controller". Then, go to the web page, e.g. http://192.168.4.130/. You should see something like:

In the LED Panel card, you can select the size and type of your LED displays.

The Color Control card allow to change brightness or color of all displays.

With the Network card, you can change the wifi settings.

The administration is for maintainces:

And finally, the Status card give you an overview on the entire system. Its is only for testing and maintaince. It provides you information about the ESP32 system.

Video Streaming

On Linux, to stream from your desktop to the LED controller call - after adapting the parameter - the command:

ffmpeg -f x11grab -framerate 2 -i :0.0+0,0 -vf scale=32:32 -vcodec mjpeg -huffman 0 -pix_fmt yuvj420p -f rtp rtp://192.168.4.130:1616/

Or if you want to play a movie, call

ffmpeg filme.mp4 -framerate 2 -vf scale=16:8 -vcodec mjpeg -huffman 0 -pix_fmt yuvj420p -f rtp rtp://192.168.4.130:1616/

Disclaimer

The file ws2812fx.c is based on the work of Harm Aldick (kitesurfer1404). The remaining source code is by [email protected], Symonics GmbH, and available under AGPL V3 license. The inital work has been funded by German Federal Ministry of Education and Research within the Fastmusic project.

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.