mwood77 / winderoo Goto Github PK
View Code? Open in Web Editor NEWWinderoo - Supercharge your Open Source Watch Winder (OSWW) build!
Home Page: https://winderoo.com
License: Creative Commons Attribution Share Alike 4.0 International
Winderoo - Supercharge your Open Source Watch Winder (OSWW) build!
Home Page: https://winderoo.com
License: Creative Commons Attribution Share Alike 4.0 International
I'm basically seeing this issue - any idea if there's an easy fix?
There's a possibility more than one powered unit will be on the network. Therefore, each winder should search the network to discover if there are other active winders already on the network & available at http://winderoo.local.
If there are, it should try to find an 'available 'domain' on the network.
The code could be something like:
// pseudo code..
int domainNumber;
// winder exists
if (PING winderoo.local (status code) == 200) {
// find incremented mDNS address to use
for (int i = 0; i < 10; i++) {
if (PING winderoo[i].local (status code) != 200) {
domainNumber = i;
break;
}
}
MDNS.begin("winderoo"+domainNumber);
}
It's a mess - make it a bit nicer.
https://docs.platformio.org/en/latest/advanced/static-code-analysis/tools/clang-tidy.html
There are a large number of requests for a physical button to change on/off state. This would stop all activity when pressed.
A couple nice features could come out of this:
winderEnabled
either true
or false.
ruh roh raggy....
Android cannot resolve .local
mDNS domains. Browsers offload mDNS resolution to the OS, which cannot resolve the request due to "security concerns" (google).
ip
for now.Android 12 SQ1A220105.002
Winderoo must be physically reset after successfully connecting to a user's WiFi network; this is inconvenient.
Investigate whether a callback exists that can trigger the webserver & mDNS to start after successfully changing wifi networks.
i18n & localization should be supported by the GUI.
It seems that mDNS doesn't work properly on Android which causes the Winderoo web UI to not work anymore after #36. At least I couldn't get it to work... ๐
It turned out that I cannot resolve http://winderoo.local
on any Android device (7, 12, 13, 14).
Before the change in #36, it was possible to access the web UI with the IP of the ESP32 on Android and the API call was then done towards the IP. With my change in #35, the API call would be done to any domain that was used for the UI (which is of course accessible, otherwise the UI would not load at all).
But now since #36, the API call is always done to http://winderoo.local
, even if the IP is used to load the UI or if a custom non-.local-domain name is used (I can set this with AdGuard Home in my LAN).
I did some research and found some issues where this one seems to be quite similar to my problem:
espressif/arduino-esp32#9051
I can access the .local
domain which is broadcasted from a Raspberry Pi with OpenHAB, but I cannot access the .local
from the ESP32 on Android.
On Linux or iOS it works fine.
Long story short - @mwood77 do you observe the same with an Android device? Or does it work for you on Android? I'm currently not sure if it's an issue in my network or an issue in the combination Android + mDNS on ESP32.
To not be dependent on mDNS, perhaps the web UI could load the API from the IP of the ESP32 instead of the mDNS .local
domain?
Hi, I tried to follow the link for the ESP32 board but it no longer exists. Unfortunately there's a ton of slightly different ESP32 boards at AliExpress and the more inexperienced of us (me on top of that list) are afraid to get a wrong one
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.