t0mg / wordclock Goto Github PK
View Code? Open in Web Editor NEWESP32 based DIY word clock project
License: Apache License 2.0
ESP32 based DIY word clock project
License: Apache License 2.0
Hi,
I flashed the code to a Wemos D1 mini ESP32. I was able to connect to the Webserver and integrate it into my local WIFI Network. However, the only thing that changes is the LED color (if changed over the Webserver page). All other changes (show am/pm, changing the time manually or retrieving it over a time server) remain without any effect. Always the same 3 LEDs light up.
What could be the issue here?
Great project, i like it a lot
I can't get it to compile though... I get the following when i try to compile the provided code.
I am probably missing something and not seeing it.
In file included from /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/wordclock.ino:9:0: /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:64:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter ntp_enabled_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:69:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter timezone_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:74:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter manual_date_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:79:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter manual_time_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:84:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter show_ampm_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:89:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter ldr_sensitivity_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:94:3: error: 'IotWebConfParameter' does not name a type IotWebConfParameter color_param_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:99:3: error: 'IotWebConfSeparator' does not name a type IotWebConfSeparator time_separator_; ^ /Users/rilindnuka/Documents/personal/wordclock/software/wordclock/src/Iot.h:100:3: error: 'IotWebConfSeparator' does not name a type IotWebConfSeparator display_separator_; ^ exit status 1 Error compiling for board ESP32 Dev Module.
If the user has not selected a timezone, instead of choosing Paris make the default timezone depend on language, e.g. English=London
Is it possible to hide the network box or to collapse it if the network is already set up? or at least place it at the bottom.
Hi,
I am in the process of making a clock. I took your version with the "paint" functionality and the mqtt options because I think it opens up interesting perspectives!
I was thinking about a function to display scrolling text using the LEDs as a matrix.
It would thus be possible to display the IP address of the clock at startup, for example. It would be really very practical to know if it is in AP mode or if it is connected to the local network and in the latter case, to have the IP address to connect to it without having to plug in a USB cable to know it with the serial monitor or having to look for it on the box.
The function could also be used to display a scrolling message sent via an mqtt request. We could imagine programming messages on Home Assistant for events (happy birthday, merry Christmas, etc.)
But I admit that I am not comfortable enough with programming to implement this development...
When executed, code crashes in Iot::updateClockFromParams_()
Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.
Fix is to add return value;
to setSensorSensitivity()
in Display.h
. I have submitted a pull request.
// Sets the sensor sentivity of the brightness controller.
int setSensorSentivity(int value)
{
_brightnessController.setSensorSensitivity(value);
return value;
}
Timer.cpp line 32 tries to create timer 3 but the ESP32C3 only has two.
Suggest changing the line to
timer_ = timerBegin(1, 8000, 1); // div 80
Sometimes (in my experience, only when a full brightness color is selected), a color change isn't taken into account until reboot, or, which is weird, if we first switch to a dimmer color or to full black, which seems to consistently "unblock" the color. Reproduced on the original wroom esp32 and esp32c3.
Seems related to the brightness controller, as I could not reproduce the issue when auto brigthness is set to 0 (disabled).
Hello,
I can't get the code to work on an esp32-Wroomer-32. There is no error message when compiling, the transfer also works without problems. However, I always get the following message via the serial monitor:
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1100
ho 0 tail 12 room 4
load:0x40078000,len:12280
ho 0 tail 12 room 4
load:0x40080400,len:3076
entry 0x400805ec
[ 17][E][ESPmDNS.cpp:65] begin(): Failed starting MDNS
[ 18][E][ESPmDNS.cpp:148] addService(): Failed adding service http.tcp.Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400d3d07 PS : 0x00060130 A0 : 0x800d3d02 A1 : 0x3ffb2760
A2 : 0x00000000 A3 : 0x0000000a A4 : 0x00000005 A5 : 0x3ffc2b30
A6 : 0x3ffb2740 A7 : 0x3ffb2750 A8 : 0x00000000 A9 : 0x3ffb2730
A10 : 0x00000000 A11 : 0x3ffb275c A12 : 0x0000000a A13 : 0x3ffc236c
A14 : 0x3ffc23b4 A15 : 0x00000072 SAR : 0x00000019 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x40084b65 LEND : 0x40084b6d LCOUNT : 0x00000027Backtrace:0x400d3d04:0x3ffb27600x400d3cff:0x3ffb2780 0x400d3e49:0x3ffb27c0 0x400d2980:0x3ffb2800 0x400e1cc7:0x3ffb2820
ELF file SHA256: 0000000000000000
Rebooting...
The problem occurs regardless of whether I use Platform.io or the Arduino IDE. I have also tried different versions of the libraries. I am currently using the following libraries under Platform.io:
prampec/[email protected]
adafruit/RTClib
makuna/[email protected]
To rule out a possible defect in the microcontroller, I have now used 3 different esp32. The same error pattern occurs with all three.
I would be pleased if you could give me a tip. I have already searched the net desperately for possible solutions, but have found nothing.
src/src/ClockFace.cpp: In member function 'uint16_t ClockFace::map(int16_t, int16_t)':
src/src/ClockFace.cpp:64:3: warning: control reaches end of non-void function [-Wreturn-type]
default:
^~~~~~~
src/src/ClockFace.cpp: In member function 'uint16_t ClockFace::mapMinute(ClockFace::Corners)':
src/src/ClockFace.cpp:91:3: warning: control reaches end of non-void function [-Wreturn-type]
default:
^~~~~~~
I think it would be cool to have an animation like boot animation when a new hour happens, like before saying it's twelve o'clock we have an animation. Obviously able to enable or disable it and maybe select from a range of animation? Would be awesome!
This is a feature request .
Is there a possibility to add either a REST api or a Mqtt client to your project.
I would like to be able to change at least the color, the brightness from home assistant.
Case use would be to switch off the leds when no one is in the room or dim when the tv is on etc. Also the color could be changed for instance when someone is ringing or the temperature is under 0โฆ
I checked the IotWebConf project and it seems that it can handle these features.
Is it something you would consider?
Hi Tom, I finished upload your code to ESP32,
my mobile cannot find AP name "wordclock"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.