Fórum témák
» Több friss téma |
Aha!
Ez ilyen? Azt hittem valamit elszúrok és mennie kellene. Ezeket a gombokat ki lehet vezetni? Azaz tehermentesíthetem egy kölső gombbal, vagy kapcsolóval? Köszi!
Ez a beállítás jó lesz, igy kapod a legnagyobb szabadságot, hogy válasz a neked megfelelő lehetőségeket.
Ki vezetheted akár párhuzamosan is rá köthetsz gombokat. Csak a felhúzó ellenállások és 100nF kondik párhuzamosan a gombokkal meg maradjanak. nem kel kapcsoló mert azokat bekapcsolva felejtheted, és mire elindul a feltöltés addigra már mind a két gombot elkel engedni. Sikeres feltöltés után megint nyomni kel egy resetet, hogy elinduljon a programod. A hozzászólás módosítva: Jún 5, 2023
Köszönöm mindkettőtöknek, mára abbahagyom, mert fáradt vagyok nagyon. Holnap leszek még!
A hozzászólás módosítva: Jún 5, 2023
Ha az usb sorosodon ki van vezetve... az RTS-en(reset) és DTR-gp0 , akkor automatikus a letöltés, nem kell nyomkodni (esp8266, és esp32 is)
https://docs.espressif.com/projects/esptool/en/latest/esp32/advance...t=boot A dev boardokon szokott lenni a lábakon 2 tranyó, de működik annélkül is. De figyelj, az usb soros átalakítód 3V-os jelszintű legyen
Sziasztok.Van egy 8266 alapuló wifi plug-pro 05 nevezetü adatgyüjtöm ami nem hajlandó lanra kapcsolodni.Elözmények,ez egy napelem adatgyüjtő aminek az appját véletlenül kitöröltem a telefonomról.Gondoltam sebaj letöltöm ujra,de már csak frissebb verzió van.A wifi megtalálja rá is kapcsolodik de kiirja hogy nincs internet elérés.A wifi kiirja az azonositóját amivel a telon kapcsolodnia kellene.A telon is offline módot ir ki.Lehet hogy ezt valami módon letiltották?Már egy hónapja turom a netet de nem találok rá választ.Valakinek ötlete?
Hali!
Mitől is lenne a telódon internet elérés, ha a cuccosod wifijére kapcsolódsz.... Ezek általában úgy működnek, hogy a beállításhoz/konfiguráláshoz biztosít "saját" wifi elérést, ezen keresztül felkonfigurálják, megadják az internetes wifi router nevét/jelszavát, majd a cuccos újraindul és felcsatlakozik a router wifijére, utána a mobiloddal is az internetes wifidre csatlakozol, és látják egymást...
Na ez az ami nincs meg.A telon offline az állapot.Az adatgyüjtön sem világít a hálózat led.Valamiért nel látják egymást.A telon ki van osztva az ip cim,MAC cim jel jó de már a telon a wifi már reklamál hogy nincs internet elérés,azt írja vagy a ruter vagy a szolgáltatónál van a probláma.
Nagy piros betükkel irja hogy ruter vagy szolgáltató hiba.
Az lehetséges hogy a szerver ahova kapcsolódott le tudja tiltani a loggert?
Sziasztok!
ESP32 sntp idő lekérése rendben lefut bekapcsolás után, ellenben ha elküldöm deep sleep -be, akkor ébredés után már nem a sntp időt kéri le (nyilván a kód ugyanaz), hanem csak az RTC local időt, ha hardveresen reszetelek, akkor az sntp időt kéri le. Hogy tudom rávenni, hogy akkor is az sntp-s időt kérje le ha deep sleep-ből ébred?
Ennek a kérdésnek így se füle se farka. A programot tedd fel, amivel próbálkozol.
Mivel nem mutattál kódot, így fogalmunk sincs, hogy mit csinálsz. Ebben a topikban van szó hasonlóról, s ha jól értem, egy késleltetést javasoltak, az oldotta meg a problémát (meg kell várni az NTP szerver válaszát). A másik javaslat (az RTC nullázása és megvárni, amíg az NTP lekérés frissíti) kicsit drasztikusnak tűnik.
Nekem kicsit zavaros ki kapcsolódik kihez melyik wifin, hol nincs internet, milyen azonosító...
Múltkor nekem kitartó guglizással sikerült az egyik app-ból 2-vel korábbi verziót begyűjtenem, mint ami g.playon van (mert átment fizetős próbaverzióba)
Na akkor.Van a logger amit elöször a wifire kell kapcsolnom.A wifi felismeri mac cim,ip cim megvan jel jó,kapcsolodáshoz beírom a jelszót,kapcsolodik de kiirja hogy nincs internet elérése a készüléknek.Nagy piros betükkel.Ezek után hiába probálom kapcsolni a webszerverhez kiírja hogy offline hiba.Vagy is már az elején bukik a mutatvány.Az előzetest már leírtam.De ha kéred leírom mégegyszer.
Ezeket általában az alábbi módon kell konfigurálni:
Bekapcsolod a kütyüt, az létrehoz egy hotspot-ot, ehhez kapcsolódsz a telefonnal (nem lesz semmilyen internet elérésed, ez normális). A telefonon lévő alkalmazással (a masina által létrehozott Wifi kapcsolaton keresztül) konfigurálod az eszközt, többek közt azt is, milyen otthoni Wifi hálózatra kapcsolódjon. Ha ezzel megvagy, a rendszer újraindul és jó esetben csatlakozik az otthoni routered-re. Ekkor az eszköz által létrehozott konfiguráló Wifi általában már nem jelenik meg, azt az eszköz kikapcsolja. A konfigurálás után a telefonoddal vissza kell kapcsolódnod az otthoni Wifi hálózatra. Ha mindkét eszköz kapcsolódott, akkor ismét elindítod az alkalmazást és jó esetben látod a korábban konfigurált eszközt. pipi is ezt írta le csak rövidebben.
Itt a teljes program, a setup részben van az érdemi sntp lekérdezés:
#include <WiFi.h> #include "time.h" //#include "esp_sntp.h" struct tm timeinfo; // The name and password of your own server that appears in the wi-fi list const char* ssid = "fenyveshegy"; const char* password = ""; //változók saját //Változók megszakítás volatile int lapoz,szamlalo, szamlalo_kezdet; // IT kezeles eseten fontos a volatile volatile unsigned long ms; // IT kezeles eseten fontos a volatile volatile unsigned long ido; volatile int kiir;//, kiir_2; unsigned long esp_ido; // ESP idő tárolása int lapozo_mp; int esp_mp; int x; byte utolso_perc=0; RTC_DATA_ATTR int ebredes_szamlalo = 1; //megszakítás függvény void impulzus() { ms=millis()-ido; if(ms>5000) { szamlalo=0; szamlalo_kezdet=1; } else { if(ms>10 and lapoz==0) { if (szamlalo_kezdet==2) kiir=1; szamlalo_kezdet=0; } if(ms>=1 and ms<5 and szamlalo_kezdet>0) { szamlalo++; szamlalo_kezdet=2; lapoz=0; //kiir_2=1; } } ido=millis(); } void setup() { pinMode(14, OUTPUT); //óra várakoztatás optocsatoló kimenet digitalWrite(14,LOW); // óra várakoztatás optocsatoló kimenet pinMode(26, OUTPUT); // jelző led kimenet Serial.begin(115200); delay(500); Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); ebredes_szamlalo*=2; //2,4,8,16,32,64 percenként ébreszt újra if (ebredes_szamlalo>64) ebredes_szamlalo=60; // ekkor óeánként ébreszt while (WiFi.status() != WL_CONNECTED) { x++; delay(100); Serial.print("."); digitalWrite(26,!digitalRead(26)); if(x>300) { // kb. 1 peerc Serial.print("lekapcsol: nincs wifi, ébredés perc múlva: ");Serial.println(ebredes_szamlalo); Serial.flush(); delay(1000); esp_sleep_enable_timer_wakeup((uint64_t) 1 * ebredes_szamlalo * 60 * 1000000); //24 óra * 60 perc * 60 másodperc * 10xxxx mikrosec esp_deep_sleep_start(); // mélyalvás } } x=0; Serial.println(""); Serial.println("WiFi connected."); Serial.println("IP address: "); Serial.println(WiFi.localIP()); //IPAddress IP = WiFi.softAPIP(); //Serial.print("AP IP address: "); // Serial.println(IP); // SNTP const char* ntpServer = "hu.pool.ntp.org"; // TimeZone rule for Europe/Budapest including daylight adjustment rules (optional) // See at: https://leo.leung.xyz/wiki/Timezone const char* time_zone = "CET-1CEST,M3.5.0,M10.5.0/3"; settimeofday(0, NULL); //sntp_restart(); //sntp_set_sync_interval(15000); configTzTime(time_zone, ntpServer); Serial.println("Connecting to sntp server"); unsigned long sntp_kapcsolodas_ido; // idő tárolása do { sntp_kapcsolodas_ido=millis(); while (!getLocalTime(&timeinfo)) { x++; Serial.print("."); delay(250); digitalWrite(26,!digitalRead(26)); if(x>10) { // kb. 1 perc Serial.print("lekapcsol: nincs NTP idő, ébredés perc múlva: ");Serial.println(ebredes_szamlalo); Serial.flush(); delay(1000); esp_sleep_enable_timer_wakeup((uint64_t) 1 * ebredes_szamlalo * 60 * 1000000); //24 óra * 60 perc * 60 másodperc * 10xxxx mikrosec esp_deep_sleep_start(); // mélyalvás } } // setTime(&timeinfo); Serial.print(" NTP connected: milliszekundum = ");Serial.println(millis()-sntp_kapcsolodas_ido); } while (millis()-sntp_kapcsolodas_ido>=5000); //addig fut, amíg az sntp időt le nem kérdezi 5mp-en belül esp_ido=millis(); // eltároljuk az esp idejét, amikor megtudtuk az NTP időt Serial.print(" NTP connected: milliszekundum = ");Serial.println(millis()-sntp_kapcsolodas_ido); Serial.println(&timeinfo, "NTP time: %A, %B %d %Y %H:%M:%S"); // WIFI lekapcsol WiFi.disconnect(true); // disconnect WiFi WiFi.mode(WIFI_OFF); // as it's no longer needed */ Serial.println("WiFi lekapcsol"); //megszakításhoz pinMode(12, OUTPUT); //léptető kimenet pinMode(27, INPUT); attachInterrupt(27, impulzus, RISING); ido=millis(); Serial.println("Várom a lapozóóra adatokat..."); ebredes_szamlalo=1; } void loop(){ x++; //Serial.println(x); if(x>300) { // lekapcsol 5 perc után Serial.println("lekapcsol, ébredés 1 óra múlva"); Serial.flush(); delay(1000); esp_sleep_enable_timer_wakeup((uint64_t)1 * 60 * 60 * 1000000); //24 óra * 60 perc * 60 másodperc * 10xxxx mikrosec esp_deep_sleep_start(); // mélyalvás } /*if (szamlalo_kezdet==1 and kiir_2==1) { Serial.print(szamlalo);Serial.print(" : "); Serial.println(ms); kiir_2=0; }*/ if (kiir==1) { //Serial.print(szamlalo);Serial.print(" , "); Serial.println(ms); // hozzáadjuk az eltelt esp időt az ntp időhöz és átszámítjuk másodpercre esp_mp=timeinfo.tm_hour*3600+timeinfo.tm_min*60+timeinfo.tm_sec+((millis()-esp_ido)/1000); if (esp_mp>=86400) esp_mp%=86400; // ha éjfélnél átpördül, akkor nullától számolja a perceket // lapozo idő lapozo_mp=szamlalo*60 + 3 + szamlalo*0.002; // másodpercre váltás + 2mp míg lapoz + 2msec/perc mire kivillogja + 2mp mire újra impulzust ad, amikor érzékeli a megszakítást if (lapozo_mp>=86400) lapozo_mp%=86400; // ha éjfélnél átpördül, akkor nullától számolja a másodperceket kiir=0; x=0; // megvan az idő másodpercben //kiszámoljuk a különbséget int elteres_mp=0; if (lapozo_mp<esp_mp) elteres_mp=esp_mp-lapozo_mp; if (lapozo_mp>esp_mp) elteres_mp=86400-(lapozo_mp-esp_mp); // kiírjuk az időt és az eltérést Serial.print("internet idő másodperc:");Serial.print(esp_mp); Serial.print(" óra: ");Serial.print(esp_mp/3600);Serial.print(":");Serial.print((esp_mp%3600)/60);Serial.print(":");Serial.print((esp_mp%3600)%60); Serial.print(" , lapozó óra idő másodperc:");Serial.print(lapozo_mp); Serial.print(" óra: ");Serial.print(lapozo_mp/3600);Serial.print(":");Serial.print((lapozo_mp%3600)/60);Serial.print(":");Serial.println((lapozo_mp%3600)%60); Serial.print(elteres_mp);Serial.println(" másodperc az eltérés..."); // ha az eltérés nagyobb mint 82680 mp azaz 62 perc sietésnél kisebb, akkor várakoztatjuk az órát if ( elteres_mp>82680 ) { // várakoztatunk int varakozas=86400-elteres_mp; Serial.print("várakoztatunk másodperc:");Serial.println(varakozas); digitalWrite(14,HIGH); // óra várakoztatás optocsatoló kimenet for (int y=0;y<=varakozas;y++) { delay(1000); digitalWrite(26,!digitalRead(26)); // életjel 2mp-enként amíg várakoztat } digitalWrite(14,LOW); // óra várakoztatás optocsatoló kimenet //mélyalvás Serial.println("lekapcsol: idő beállítva, ébredés 10 másodperc múlva"); Serial.flush(); delay(1000); esp_sleep_enable_timer_wakeup((uint64_t) 10 * 1000000); //24 óra * 60 perc * 60 másodperc * 10xxxx mikrosec esp_deep_sleep_start(); // mélyalvás } // ha az eltérés nagyobb mint 10mp és kisebb 82680 mp azaz 62 perc sietésnél nagyobb, akkor lépünk if ( elteres_mp>=10 and elteres_mp<=82680 and utolso_perc==0) { // ha kell léptetünk // ha van maradék idő (utolsó percen belül, akkor lapoz mégegyet if (elteres_mp<59) { utolso_perc=1; delay((58-elteres_mp)*1000); // pontos ídőre állít azaz ennyivel később léptet a késleltetéssel } Serial.print(elteres_mp);Serial.print(" másodperc a lemaradás...");Serial.println("lapozz"); digitalWrite(12,HIGH); delay(1500); digitalWrite(12,LOW); szamlalo=0; szamlalo_kezdet=1; lapoz=1; ido=millis(); Serial.println("lapoztam..."); } // ha az eltérés +/- 1 percnél kevesebb, akkor lekapcsolunk else if ((elteres_mp<60 or elteres_mp>86340)) { // lekapcsolunk Serial.print(elteres_mp);Serial.print(" másodperc az eltérés...");Serial.println("lekapcsol"); delay(2000); digitalWrite(14,LOW); //mélyalvás Serial.println("lekapcsol: idő beállítva, ébredés 1 óra múlva"); Serial.flush(); delay(1000); esp_sleep_enable_timer_wakeup((uint64_t)1 * 6 * 60 * 1000000); //24 óra * 60 perc * 60 másodperc * 10xxxx mikrosec esp_deep_sleep_start(); // mélyalvás } } delay(500); digitalWrite(26,!digitalRead(26)); } // end loop
Hali! Nem lehetne hogy pontosan meghatározva írod le mi merre hány méter??
Idézet: mit jelent a "wifi" szó nálad? Milyen eszköz az ami felismeri? Milyen eszközbe írod, a mihez való jelszót? Milyen eszköz írja ki hogy nincs internet? a cuccodnak nincs kijelzője... „A wifi felismeri mac cim,ip cim megvan jel jó,kapcsolodáshoz beírom a jelszót,kapcsolodik de kiirja hogy nincs internet elérése a készüléknek”
Ha jól értem, akkor egy (minimum) 2.5 másodperces késleltetést kellene betenni, hogy a háttérben legyen ideje frissíteni a belső órát az sntp-s függvénynek.
Akkor ebben a részben kellene a késleltetés, de hova? configTzTime(time_zone, ntpServer); // ITT LEGYEN 2.5mp késleltetés? Serial.println("Connecting to sntp server"); unsigned long sntp_kapcsolodas_ido; // idő tárolása do { sntp_kapcsolodas_ido=millis(); while (!getLocalTime(&timeinfo)) { x++; Serial.print("."); delay(250); // EZ LEGYEN 2.5 mp
Hali!
Mit látsz a soros monitoron reset és ébredés után?
Bekapcsolom a kütyüt felismeri ha nem csatlakozok a wifire az alkalmazás nem kapcsolja össze a ruterrel.Csatlakoztatom beírom a jelszót,kéri a ruter nevét jelszót,megvan,az alkalmazás kiírja hogy OK.Belépek az alkalmazuásba és azt mondja hogy offline a loggerem.
De amikor megadom a kütyünek a jelszavát a wifi ablak nagy piros betükkel kiírja hogy a kütyü nem csatlakozik a netre. Ez az óta van hogy véletlenül töröltem az app ot.Letöltöttem ujra de csak frisseb változat volt, smartESS napelem logger.A loggernek van száma amit a wifi felismer azt kell az app ba beütnöm. Már a wifi felismerésnél vannak problémák.
Reset után: átlag 3mp alatt kérdezi le az sntp-t és az pontos is.
Ébredés után: 0 vagy 1 ms alatt lekéri és az pontatlan, mivel az valószínűleg csak a belső RTC időt adja vissza.
Bocsi a telefon wifijére gondoltam.Áramalá helyezem a készűléket a teló wifije megtalálja kiírja a nevét(blabblabla)mondom kapcsolodjon,beírom a jeszót,és kiírja hogy a készülék nem kapcsolódik a netre.Felkiáltó jel van a végén,kérdi akkor is kapcsolodjon mondom igen erre jön a piros üzenet hogy -Nincs internet elérés.Ellenörizze a rutert vagy keresse az internetszolgáltatóját-.
Ne haragudj, de nagyon zavarosan fogalmazol, egymásnak ellentmondó mondatok.
Be tudsz lépni a Router-ed belső menüjébe? Ha igen, ott látszik, hogy csatlakozott a Router-hez a kütyü?
Mire vonatkozik az, hogy "a készülék nem kapcsolódik a netre"? A telefony sápítozik vagy napelemhez tartozó kis kütyü?
A program tele van serial.print-el, arra voltam kiváncsi pontosan miket ír ki...
próbáld így: https://esp32tutorials.com/esp32-sntp-esp-idf-synchronize-time-ntp/
illetve 2016 helyett pl 2022 A hozzászólás módosítva: Jún 25, 2023
Tudom hogy ellentmondó.Be tudok lépni de hol látom:
Az éppen nem érdekes. Telefonnal a szerkezet által létrehozott hálózathoz kapcsolódsz, természetes, hogy nincs internetelérés.
Kapcsolódás után indítsd el az alkalmazást és állítsd be a szerkezetet. Ha megvan, a kütyü elméletileg újraindul, jó esetben úgy, hogy az otthoni Wifi hálózatodra kapcsolódik. Ezt tudod ellenőrizni a Router menüjében. Ha ez megvan, a telefonnal kapcsolódja z otthoni Wifi-re és indítsd újra az alkalmazást a telefonon.
Most betettem 2 helyre 5mp késleltetést, bekapcsolás után pontos, ahogy eddig is, csak most meg kell várnom, míg ellapoz az aktuális ideig és utána elalszik, majd ébred:
Kódrészlet a 2 késleltetéssel: "configTzTime(time_zone, ntpServer); delay(5000); Serial.println("Connecting to sntp server"); unsigned long sntp_kapcsolodas_ido; // idő tárolása do { sntp_kapcsolodas_ido=millis(); while (!getLocalTime(&timeinfo)) { x++; Serial.print("."); delay(250); delay(5000);" Kimenet a soros monitoron: "21:02:33.564 -> Connecting to fenyveshegy 21:02:33.764 -> ..................... 21:02:35.765 -> WiFi connected. 21:02:35.765 -> IP address: 21:02:35.765 -> 192.168.1.103 21:02:40.765 -> Connecting to sntp server 21:02:40.765 -> NTP connected: milliszekundum = 0 21:02:40.765 -> NTP connected: milliszekundum = 0 21:02:40.765 -> NTP time: Sunday, June 25 2023 21:02:40 21:02:40.765 -> WiFi lekapcsol 21:02:40.765 -> Várom a lapozóóra adatokat... 21:03:24.888 -> internet idő másodperc:75804 óra: 21:3:24 , lapozó óra idő másodperc:60725 óra: 16:52:5 21:03:24.888 -> 15079 másodperc az eltérés... 21:03:24.888 -> 15079 másodperc a lemaradás...lapozz 21:03:26.408 -> lapoztam... 21:03:31.888 -> internet idő másodperc:75811 óra: 21:3:31 , lapozó óra idő másodperc:60785 óra: 16:53:5 21:03:31.928 -> 15026 másodperc az eltérés... 21:03:31.928 -> 15026 másodperc a lemaradás...lapozz 21:03:33.408 -> lapoztam... "
Ha a telefonnal a router wifijére kapcsolódsz, akkor van internet, mert a router lóg az interneten!
Ha a cuccos wifijére kapaszkodsz fel a telefonoddal, akkor NINCS INTERNET - nem is lehet, mert a cuccod nem lóg az interneten EZ a NORMÁLIS. Rá kell lépned a cuccod webkonfigurációs felületére böngészőből, itt beállíthatod hogy a cuccosod a routered által szolgáltatott wifi névvel jelszóval csatlakozzon, ezt a beállítást elmenti a cuccod. Újraindítva a cuccod fel tud kapcsolódni a routered wifijére. A telefonoddal is a routered wifijére kell kapaszkodni, és akkor mindenkinek lesz internetje |
Bejelentkezés
Hirdetés |