[Vraag over RTC] DayOfWeek register

@Gradtje :
Ik heb helemaal geen bezwaar tegen het aandragen van andere opties. Ik vind het juist interessant en niet k*t. Wat mijn beperking is, is dat ik niet altijd gemakkelijk informatie kan vinden met uitleg. Of nog beter, makkelijk te begrijpen voorbeelden die ik kan uitproberen. Bedenk dat ik net nieuw ben in de wereld van Arduino. Ik heb de afgelopen 2 weken aardig wat zitten stoeien. Ik moet erkennen dat het bijzonder flexibel is. Aan de andere kant erger ik me dood als ik een foutmelding krijg vanwege het vergeten van een haakje, een ";" of een accolade, of case-sensitive variabelen. Het zal ongetwijfeld een beginners-ding zijn.
Dus ik sta aan de basis en heb nog veel te leren, al begrijp ik de kracht van de Arduino.

Verder is het internet-gedeelte van dit project, niets anders dan om eventueel met een mobieltje in de woonkamer de timers in te stellen. Maar omdat de ESP ook in Station-mode kan,. nou ja, ook vanaf een thuis-netwerk vanachter de computer. Het internet-gebeuren is puur om een LCD'tje te vervangen.

buckfast-beekeeper:
In dit ontwerp heb ik inderdaad ook rekening gehouden met een aansluiting van een LDR. Echter, ik was tijdens het ontwerp vergeten om rekening te houden met de max. spanning voor de ADC : 1 Volt. Balen, maar goed, niet erg. Misschien dat ik later iets ga bedenken om dat op te lossen ipv een nieuwe pcb maken.

Van elk bezoek aan CO leer ik weer meer...

Aan de andere kant erger ik me dood als ik een foutmelding krijg vanwege het vergeten van een haakje, een ";" of een accolade, of case-sensitive variabelen. Het zal ongetwijfeld een beginners-ding zijn.
Dus ik sta aan de basis en heb nog veel te leren, al begrijp ik de kracht van de Arduino.

Bekend verhaal...

Het is een tikkeltje intimiderend, maar misschien moest je eens naar PlatformIO in Visual Studio Code kijken (extension). Dit is een Arduino alternatief waardoor je meteen de beschikking krijgt over een hoop tools die voor VsCode beschikbaar zijn waaronder code-checking. Deze doet suggesties voor je, waarschuwt bij fouten en geeft extra info weer zoals types welke uit functies komen en de verwachte waardes die je moet meegeven. Ook library management is beter geregeld omdat dit op project-noveau wordt gedaan.

Studio Code heeft standaard Git-integratie en honderden extensions, waarvan enkele zeer handig kunnen zijn.

Aanvankelijk is het wat groot, maar eenmaal gewend maakt het het Arduino-leven een stuk gemakkelijker.

Ja... en toen ?

Zo, na ruim een maand, ben ik een stuk wijzer geworden met Arduino en over de ESP8266. HTML-files opgeslagen via LittleFS, die ik inlees en bewerk met actuele data. Verder sla ik bepaalde gegevens deels op in EEPROM, deels via de RTC. Het is allemaal benaderbaar / bestuurbaar met een mobieltje.

Kortom, ik nader het einde van dit projectje. Toch zie ik nog een paar probleempjes :

1) SoftAP + Paswoord
Wanneer ik in softAP-mode start met een paswoord, blijkt dat het stationsnaam onherkenbaar te zijn geworden.

Als voorbeeld :

code:

String AP_SSID = "DitStation";
String AP_PASS = "";           // Geen paswoord

WiFi.softAP(AP_SSID.c_str(), AP_PASS.c_str());

=> Resultaat : "DitStation" is zichtbaar.

Maar doe ik :

code:

String AP_SSID = "DitStation";
String AP_PASS = "EenPaswoord";

WiFi.softAP(AP_SSID.c_str(), AP_PASS.c_str());

=> Resultaat : "ESPxxxxxx" is zichtbaar (xxx is een nummer).
Overigens, ik heb verder niet geprobeerd om in te loggen, omdat ik eerst wil begrijpen waar dit probleem vandaan komt.

2) https
Mijn mobieltje heeft soms de neiging om het ingevoerde IP-adres, vooraf aan te vullen met "https://".
Zoals ik heb begrepen, is https invoeren op de ESP8266 eigenlijk niet te doen. Te weinig rekenkracht. Hoe hebben jullie dat opgelost ? Of accepteer je dat het via "http://" verloopt ?

Van elk bezoek aan CO leer ik weer meer...
buckfast_beekeeper

Golden Member

Fijn dat je er stilaan uit komt.

1) Daar loop ik ook soms tegenaan. Waarom? Zodra ze op de router zijn aangemeld krijgen ze een vast IP en concrete naam. Wat me verbaast is dat je een gedefinieerde string nog een keer moet invoeren als string

c code:


String AP_SSID = "DitStation";

WiFi.softAP(AP_SSID.c_str(), 

2) Stel eerder de vraag is het nodig dat het via https verloopt? Wat verstuur ik dat absoluut niet mag gekend zijn? Al mijn ESP zitten binnen het thuis netwerk. Iemand moet dan al op dat netwerk geraken. Er is maar 1 ESP bereikbaar van buiten het netwerk. En dan moet je de correcte poort ook nog kennen. Dat is alleszins geen 80 of 8080.

Van Lambiek wordt goede geuze gemaakt.

1. Wat BuckFast zegt, kan, maar ik zou dan niet verwachten dat hij dit ook als draadloos netwerk adverteert. Wellicht iets in de SDK.

2. Dit komt doordat browsers stilaan alles wat geen https als onveilig gaan bestempelen. Het zou met niet verbazen wanneer er over paar jaar alleen nog https verbindingen worden toegestaan tenzij expliciet anders aangegeven. Wel zie ik hier en daar wel uitzonderingen voor lokale netwerken.

Je schijnt wel SSL op de 8266 te kunnen doen, maar wat je al zegt, denk dat het niet erg vlot is, ik heb het nog niet geprobeerd.
Wat ik zelf doe is er HaProxy voor zetten, en die SSL te laten doen. Dus het certificaat op de HaProxy-server. Nadeel is natuurlijk dat je daar een server voor moet laten draaien. (kan gewoon op een pc of raspberry)

Ja... en toen ?

OK, bedankt voor de antwoorden.

Wat betreft probleem 1) : dit gebeurde terwijl er niet eens ingelogd was op een router via Station-mode. Dit gebeurde terwijl het als AccesPoint ingesteld was (en stand-alone).

Gezien de antwoorden op puntje 2) heb ik een idee hoe ik het nu ga oplossen.

Wat betreft die c_str(), dat is waarschijnlijk niet nodig. Ik had het voorheen zonder die optie gebruikt. Alleen, omdat ik het "hidden SSID"-probleem tegen kwam, ging ik dit proberen. Ik postte daarom de meest recente en gebruikte code.

Van elk bezoek aan CO leer ik weer meer...