Go to file
2021-03-19 18:44:41 +01:00
diet Second flash script added, to compress lua on the host, not on the ESP8266 2021-02-08 19:47:35 +01:00
os Added pipe module to the firmware 2021-03-14 15:53:11 +01:00
simulation WS2812 Buffer added get-function 2021-03-19 18:36:52 +01:00
tools Documented parameter for diet tool once everything is working 2021-02-13 15:12:11 +01:00
unit Remove display_countcharacters_de and display_countwords_de 2019-04-20 21:39:50 +02:00
.gitignore Ignore locally stored configuration files 2020-12-07 20:54:46 +01:00
commands.lua Each rows background can be set 2021-01-23 19:17:30 +01:00
displayword.lua swap line gets all as parameter 2021-03-19 18:44:41 +01:00
ds18b20.lua Temperatur measurement via DS18B20 added 2021-01-23 18:10:53 +01:00
init.lua adapted code to be executable in the simulation 2021-03-17 21:52:44 +01:00
main.lua Fixed generateLEDs call 2021-03-18 21:55:10 +01:00
mqtt.lua Set connection status, if MQTT get disconnected 2021-03-14 13:44:54 +01:00
Readme.md Update Readme 2021-02-10 21:51:11 +01:00
telnet.lua used new example with pipe based telnet server 2021-03-14 16:23:33 +01:00
timecore.lua Changed architecture of lua modules 2021-02-11 21:23:32 +01:00
webpage.html Reduced html stuff 2020-02-12 20:14:01 +01:00
webserver.lua Move the complete logic of the http server into webserver.lua 2021-02-07 17:51:57 +01:00
wordclock.lua Changed architecture of lua modules 2021-02-11 21:23:32 +01:00

ESP Wordclock

Setup

Initial Setup

Install the firmware on the ESP: The ESP must be set into the bootloader mode, like this

The firmware can be downloaded with the following script:

cd os/
./flash.sh ttyUSB0

Connect to the ESP via a terminal emulator like screen using a baud rate of 115200. Then format the filesystem and reboot the ESP with the following commands:

file.format()
node.restart()

Then disconnect the serial terminal and copy the required files to the microcontroller:

./tools/initialDietFlash.sh /dev/ttyUSB0

Install the optional packages:

./tools/initialDietFlash.sh /dev/ttyUSB0 mqtt.lua
./tools/initialDietFlash.sh /dev/ttyUSB0 ds18b20.lua

Upgrade

Determine the IP address of your clock and execute the following script:

./tools/remoteFlash.sh IP-Address

Hardware Setup

Mandatory:

  • GPIO2 LEDs
  • GPIO0 Bootloader (at start)
  • GPIO0 factory reset (long during operation) Optinal:
  • ADC VT93N2, 48k light resistor
  • GPIO4 DS18B20 Temperatur sensor

MQTT Interface

Status

  • basetopic/brightness Current brightness in percent
  • basetopic/background Current background color
  • basetopic/row1 Current background color
  • basetopic/temp Temperatur

Commands

  • basetopic/cmd/single
    • ON Set brightness to 100%
    • OFF Set brightness to 0%
    • 0-100 Set brightness to given value
    • #rrggbb Background color is set to hex representation of red, green and blue
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue
  • basetopic/cmd/telnet
    • ignored Stop MQTT server and start telnetserver at port 23
  • basetopic/cmd/row1
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue
  • basetopic/cmd/row1
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue
  • basetopic/cmd/row2
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue
  • basetopic/cmd/row3
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue
  • For all rows...
  • basetopic/cmd/row10
    • 0-255,0-255,0-255 Background color is set to decimal representation of red, green an blue

OpenHAB2

Tested MQTT with binding-mqtt 2.5.x

Configuration

Thing mqtt:topic:wordclock "Wordclock" (mqtt:broker) @ "MQTT"  {
  Channels:
   Type dimmer : dim "Dimming" [ stateTopic="basetopic/brightness", commandTopic="basetopic/cmd/single" ]
   Type string : cmd "Command" [ commandTopic="basetopic/cmd/single" ]
   Type switch : active "Active" [ commandTopic="basetopic/cmd/single" ]
   Type colorRGB : background "Background" [ stateTopic="basetopic/background", commandTopic="basetopic/cmd/single", on="28,0,0", off="0,0,0" ]
}