Giter VIP home page Giter VIP logo

esp8266-led-matrix-mqtt-sign's Introduction

ESP8266 LED Matrix MQTT Sign Build Status

ESP8266 LED Matrix MQTT Sign

Example Hardware Setup

Software Setup

  • Using Atom or VS Code, install Platform IO

  • Once setup, install the esp8266 embedded platform

  • Build the project (Ctrl+Alt+B) and check for any errors

    If the build produces an error referencing dependencies, You will need to manually install these libraries:

Due to an issue with defining the max MQTT packet size in the main file, you will have to manually increase the size in the following step. (If someone knows a workaround for this, please let me know or make a pull request)

  • Inside the created hidden directory, find .piolibdeps\PubSubClient\PubSubClient_ID89\src\PubSubClient.h and change the line that states something like #define MQTT_MAX_PACKET_SIZE 128 to #define MQTT_MAX_PACKET_SIZE 512
  • Upload to your board of choice (Ctrl+Alt+U). This project was created specifically for the NodeMCU but can be configured to work with another WiFi board with some tinkering.

Example Home Assistant Configuration

light:
  - platform: mqtt_json
    name: "Matrix Clock"
    state_topic: "display/matrix001"
    command_topic: "display/matrix001/set"
    qos: 1

input_number:
  matrix_clock_speed:
    name: 'Matrix Clock Scroll Speed'
    mode: slider
    initial: 40
    min: 10
    max: 100
    step: 10

automation:
  - action:
      - alias: Set Matrix Clock Speed
        service: mqtt.publish
        data_template:
          topic: display/matrix001/set
          payload: '{"speed":{{ trigger.to_state.state | int }}}'
    alias: Matrix Clock Speed
    trigger:
      - platform: state
        entity_id: input_number.matrix_clock_speed

Sample MQTT Payload

Switch on with speed of 40, BST and a HASS temperature sensor

{
   "state": "ON",
   "speed": 40,
   "timeOffset": 1,
   "states": [
      {
         "state": "sensor.dht22_01_temperature",
         "measurement": "C"
      }
   ]
}

Switch Off

{
   "state": "OFF"
}

esp8266-led-matrix-mqtt-sign's People

Contributors

timmo001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

esp8266-led-matrix-mqtt-sign's Issues

Future enhancement ideas

Description of issue

  • Define shown extra via JSON
  • Scrolled extras alternate scroll speed
  • Scrolled extras stop for period of time defined in JSON object
  • Time formatting via MQTT JSON
  • Date formatting via MQTT JSON
  • Time zone from HASS
  • Dynamic sizing
  • Display extras in between time and date
  • Alternate fonts

TODO

Description of issue

  • Add missing defines to setup-template
  • Make date %02d.%02d
  • Add Extras
  • Add scrolling options from MQTT JSON payload
  • Reformat and cleanup code
  • Test All MQTT JSON options work
  • Fix deps on README
  • Add hardware setup and examples to README

Publish MQTT Message

Hello,

Thank you for this sketch, is is possible to send a MQTT msg to show on the LED Matrix?
Or is it possible to display the text from Home Assistant input_text?

regards

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.