Fórum témák

» Több friss téma
Lapozás: OK   122 / 137
(#) ESP-S3-12k hozzászólása Aug 13, 2022 /
 
egy Midi Synth projekten dolgozom.
Arduino környezetben,ESP-S3-12k Dev Kit az alap.
Egyenlöre csak részfeladatokat valósitottam meg a példaprogramokbol kisebb személyreszabásokkal.
(#) Gafly válasza ESP-S3-12k hozzászólására (») Aug 14, 2022 / 1
 
Na most el kellene döntened, hogy itt nyomod tovább a témát, vagy abban a topic-ban, amit pont emiatt nyitottál.
A kettő nem megy egyszerre.

Kérlek jelezd a moderátoroknak, hogy honnan töröljék mint duplikátum...
(#) ESP-S3-12k válasza Gafly hozzászólására (») Aug 15, 2022 / 1
 
értettem,törölték a fórumtémát!
(#) Kastler hozzászólása Aug 15, 2022 /
 
Sziasztok. ESP32 webszervert hogy tudnék internetről,( hálózaton kívülről) elérhetővé tenni?
(#) nedudgi válasza Kastler hozzászólására (») Aug 15, 2022 /
 
Ha a routerednek van publikus IP címe, a "Forwarding" funkciót használhatod.
(#) Firefighter1 hozzászólása Szept 23, 2022 /
 
Sziasztok!

Egy kis segítség kellene! ESP alapú PWM ( RC szervócsatorna) kitöltését szeretném figyelni.
és annak függvényében kimeneteket kapcsolni!
Merre induljak?

Én valahogy úgy kezdeném, hogy:

Figyelném a bemenetet, mintha egy kapcsoló lenne,
elvileg számolnom kellene hogy hány ms-ig magas a bemenet ez 0,5 és 2,5 ms között lehet A teljes jelhossz, az összes csatornával kb 20ms...
Tehát számolni, hogy hány ms-ig magas, utána ha legalább 5 ms alacsony volt akkor nullázni a számlálót, és kezdeni előről a figyelést!
Első körben lcd-re, vagy akár gépen port monitorral kiírtatni az értékeket hogy lehessen utánna számolni és felosztani!
Annó Flow-al PIC re sikerült összehozni, de most esp-re kellene amibe elég béna vagyok! Egy Flow-hoz hasonló folyamatábrás programozót használok...
(#) Firefighter1 válasza Firefighter1 hozzászólására (») Szept 23, 2022 /
 
Jobban belemásztam! és tuti nem lesz időm most kibogarászni, tanulgatni, tesztelni, úgyhogy igazságosabbnak tartottam feltenni az apróhirdetésbe!
(#) Firefighter1 válasza Firefighter1 hozzászólására (») Szept 24, 2022 /
 
Menet közbe csak csak probálkozok énis! :
  1. const int SIG_PIN = D1; // WORKING WITH: D1,D2,D8 -  NOT WORKING WITH: D3,D4,D5,D6,D7,D9,D10      
  2. void setup() {
  3.    // initialize serial communication:
  4.     Serial.begin(115200);      
  5.     pinMode(SIG_PIN,INPUT);  
  6. }
  7.  
  8. void loop() {
  9.   long duration;
  10.   duration = pulseIn(SIG_PIN,HIGH);
  11.   Serial.println(duration);  
  12.   delay(100);
  13. }

Ez eddig elég ígéretesnek tűnik.

Ami a gondom, annó a Flow-nál, be tudtam állítani a macró behívási frekvenciáját. Így pontosan tudtam számolni!
Itt ezt a PulseIn könyvtárat nem ismerem.. nem tudom mi alapján számol, illetve azt sem tudom hogy tudnám "kézzel megirni" ezt a programrészletet, mert ha tudnék egy olyat hogy X frekivel hívjon be egy ellenőrzést!
Na akkor máris egyszerűbb lenne..
(#) Thomas10100 hozzászólása Okt 10, 2022 /
 
Sziasztok!

Felteszem ide is a kérdést, mert eddig 1 helyről kaptam választ, de az sem sikerült.

Szóval ESP32-S3 és ESP32-WROOM-32D az alany, webservert hoztam össze, amivel tudom frissíteni http update segítségével az ESP32-őt és a rácsatlakoztatott Nextion kijelzőt is(ESPNextupload library segítségével).

A hiba amiért írok a Nextion frissítésénél van, ezt megpróbálom leírni érthetően(Kód lejjebb, és videó is):
- ESP32 összekötve Nextion kijelzővel, kiválasztom a feltöltendő fájlt(2Mb kb) kijelző átvált frissítésre, végigcsinálja, majd a weboldal html kód segítségével kiírja hogy sikeres frissítés. Ez így hibátlan

Van kettő hibakijelző html oldal:
- Ha a kapcsolattal van gond, vagy baudrate hiba van, akkor egy hibaüzenet html oldalnak kellene megjelenni, hibaüzenettel. EZ CSAK TELEFONON FIREFOX alatt működik, PC-n nem
- Ha a kiválasztott fájl NEM .tft akkor egy hibaüzenet html oldalnak kellene betöltenie. Ez is CSAK telefonon és CSAK firefox alatt működik.


Ha a fájl mérete kicsi lenne(de sajna 2Mb a lefordított nextion kód) akkor működik minden PC-n is!

Itt lenne a kód részlete amivel ellenőrizhető simán a hiba:
  1. #include <ESPmDNS.h>
  2. #include <WebServer.h>
  3.  
  4.  
  5. const char *host = "esp32";                                                      // Host name
  6. const char *ssid = "ESP_auto";                                                   // SSID
  7. const char *password = "xxx12345";                                               // Password
  8. IPAddress local_ip(192, 168, 10, 150);                                           // ESP32 IP address
  9. IPAddress local_mask(255, 255, 255, 0);                                          // Subnet mask
  10. IPAddress gateway(192, 168, 10, 254);                                            // Gateway address
  11. WebServer server(80);                                                            // Server port number
  12.  
  13. // Updater site--------------------------------------------------------------------------------------
  14. char nextion_index[] PROGMEM = R"=====(
  15. <!DOCTYPE html>
  16. <html>
  17. <head>
  18.    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
  19.    <meta http-eqiv="content-language" content="hu">
  20.    <title>Example 3</title>
  21. </head>
  22. <body>
  23.    <form method="POST" enctype="multipart/form-data" id="upload_form">
  24.        <label><b><h1> Nextion display<br>updater</h1></b></label>
  25.        <input accept=.tft type="file" name="file" id="file" onchange="valSize(this)" style=visibility:hidden>
  26.        <label id="file-input" for="file">Choose the .tft file</label><br><br><br><br>
  27.        <input id="button" type="submit" class=btn value="Update" hidden><br>
  28.        <h3 style="color:black">The update may take a long time for large files. Check the update progress on the display</h3>
  29.        <h3 style="color:red"><br><br>The button only appears after ing a file!</h3></br>
  30.    </form>
  31.    <script>
  32.        function valSize(file) {
  33.            var fileName = file.value.split('\\');
  34.            document.getElementById("file-input").innerHTML = "   " + fileName[fileName.length - 1];
  35.            var fs = file.files[0].size;
  36.            var xhttp = new XMLHttpRequest();
  37.            xhttp.onreadystatechange = function() {
  38.                if (this.readyState == 4 && this.status == 200) {
  39.                    document.getElementById("button").hidden = false;
  40.                }
  41.            };
  42.            xhttp.open("POST", "/fs", true);
  43.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  44.            xhttp.send("fileSize=" + fs);
  45.        }
  46.    </script>
  47. </body>
  48. <style>
  49.    input {width: 100%;height: 100px;border-radius: 4px;font-size: 25px}
  50.    .btn {background: green;color: black;border-radius: 10px}
  51.    body {background: green;font-family: sans-serif;font-size: 18px;color: black}
  52.    #file-input {padding: 10px;border: 5px solid #ddd;line-height: 44px;text-align: center;display: block;cursor: pointer;background: lightgrey}
  53.    form {background: white;max-width: 400px;margin: 50px auto;padding: 150px;border-radius:25px;text-align: center}
  54. </style>
  55. </html>
  56. )=====";
  57. //Finish site----------------------------------------------------------------------------------
  58. char success_html[] PROGMEM = R"=====(
  59. <!DOCTYPE html>
  60. <html>
  61. <head>
  62.    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
  63.    <meta http-eqiv="content-language" content="hu">
  64.    <title>Example 1</title>
  65. </head>
  66. <body>
  67.    <form>
  68.    <label><b><h2>Update is successful</h2></b></label><br>
  69.    </form>
  70. </body>
  71. <style>
  72.    body {background:MediumSeaGreen;font-family:sans-serif;font-size:18px;color:black}
  73.    form {background: LightGray;max-width: 400px;margin: 50px auto;padding: 100px;border-radius: 25px;text-align: center }
  74. </style>
  75. </html>
  76. )=====";
  77. //NOT tft file----------------------------------------------------------------------------------
  78. char tft_html[] PROGMEM = R"=====(
  79. <!DOCTYPE html>
  80. <html>
  81. <head>
  82.    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
  83.    <meta http-eqiv="content-language" content="hu">
  84.    <title>Example 2</title>
  85. </head>
  86. <body>
  87.    <form>
  88.    <label><b><h2>NOT .TFT File!!!</h2></b></label><br>
  89.    </form>
  90. </body>
  91. <style>
  92.    body {background:Tomato;font-family:sans-serif;font-size:18px;color:black}
  93.    form {background: LightGray;max-width: 400px;margin: 50px auto;padding: 100px;border-radius: 25px;text-align: center }
  94. </style>
  95. </html>
  96. )=====";
  97. //-----------------------------------------------------------------------------------------------
  98. // Variables
  99. int led1 = 48;
  100. int led2 = 36;
  101. int ledState = LOW;                                                                                 // ledState used to set the LED
  102. unsigned long previousMillis = 0;                                                                   // will store last time LED was updated
  103. const long interval = 1000;
  104. int fileSize  = 0;                                                                                  // File size
  105. bool result   = true;                                                                               // Result variable
  106.  
  107.  
  108. // File uploading handling
  109. bool nextion_handleFileUpload() {
  110.   HTTPUpload& upload = server.upload();                                                             // HTTP file uploading
  111.   if (!upload.filename.endsWith(F(".tft"))) {                                                       // check file end, if not .tft the
  112.     server.send(200, F("text/html"), tft_html);
  113.     //server.send(500, F("text/plain"), F("CSAK .TFT FAJL MEGENGEDETT!\n"));
  114.     Serial.println("Failure html");
  115.     //Serial.println(upload.filename.endsWith(F(".tft")));
  116.     return false;                                                                                   // return value flase
  117.   }
  118. }
  119. //setup---------------------------------------------------------------------------------------------------------------------------------------------------
  120. void setup(void) {
  121.   pinMode(led1, OUTPUT);
  122.   pinMode(led2, OUTPUT);
  123.   Serial.begin(115200);
  124.   WiFi.mode(WIFI_AP);                                                                               // WIFI Access Point
  125.   WiFi.softAP(ssid, password, 1, 0, 5);                                                             // WIFI config: SSID és Psw, chanel, hide ssid, max connectable devices number
  126.   WiFi.softAPConfig(local_ip,gateway,local_mask);                                                   // IP address
  127.   MDNS.begin(host);                                                                                 // MDNS starting
  128.   // Index site loading
  129.   server.on("/", HTTP_GET, []()
  130.   {
  131.    server.send(200, F("text/html"), nextion_index);
  132.   });
  133.   // Server init
  134.   server.on("/", HTTP_POST, [](){
  135.     server.send(200, F("text/html"), success_html);                                                 // Redirect the client to success site, after handle file
  136.     server.send(303);
  137.     return true; },
  138.     nextion_handleFileUpload                                                                        // Receive file and save to nextion display
  139.   );
  140.   // Receive fileSize once a file is ed
  141.     server.on("/fs", HTTP_POST, [](){
  142.     fileSize = server.arg(F("fileSize")).toInt();                                                   // "fileSize" comes  client
  143.     server.send(200, F("text/plain"), "");
  144.   });
  145.   server.begin();                                                                                  // Server starting
  146. }
  147. // loop
  148. void loop(void) {
  149.   server.handleClient();
  150.   // LEDs blinker
  151.   unsigned long currentMillis = millis();
  152.   if (currentMillis - previousMillis >= interval) {
  153.     previousMillis = currentMillis;
  154.     if (ledState == LOW) {
  155.       ledState = HIGH;
  156.     } else {
  157.       ledState = LOW;
  158.     }
  159.     digitalWrite(led1, ledState);
  160.     digitalWrite(led2, !ledState);
  161.   }
  162. }


Angol komment mert feltettem külföldi csoportokba is. Villogás pedig azért van mert amíg a hibaüzenetre vár, addig leáll a programfutás(megáll a villogás). Ebben csak egy hiba üzenet van.

Itt pedig a videó mit felvettem:
Bővebben: Link


Githubról egy David nevezetű srác írt, hogy az ESP Core amióta 2.0.5 és belekerültek az új ESP procik(S3, stb) azóta ez van, és nem működik a fájl feltöltés, de az 1.0.6 alatti verzióval működnie kellene.
De azzal sem működik, ESP32-S3 és ESP-WROOM-32D esetén sem. A fájl feltöltése működik!!!
De a hibaüzenetek ami a handle függvényben vannak azok nem mennek.

Hátha valaki tudja mi lehet ennek az oka!

Köszönöm a segítséget!
(#) Thomas10100 válasza Thomas10100 hozzászólására (») Okt 10, 2022 /
 
Valami olyasmi kellene szerintem, hogy a kapcsolat ott szakadjon meg, és ne bufferelje a fájlt. Mert úgynéz ki hogy azt csinálja.

Az előző hozzászólásomban elfelejtettem írni a legfontosabbat!
Ha a fájl kisebb, akkor működik a dolog PC-n is! Ha egy 1Mbos fájlt töltök fel akkor mindig jön a hibaüzenet!
(#) kapu48 válasza Thomas10100 hozzászólására (») Okt 10, 2022 /
 
Az ilyen nagyméretű tömböket ESP32 esetén már a FATFS területre kel rakni.
Hiszen ezért van leválasztva a FLASH nagyobb rész a program tárhelyből.
Itt egy pl.: Bővebben: Link

A tömbjeidet előre feltöltöd fájlokba a FAT területre.
A hozzászólás módosítva: Okt 10, 2022
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 10, 2022 /
 
Miért működik telefonról? Nem látom az összefüggést. (amúgy stílus nélkül rövidebb, de akkor se megy)
Egyébként ezt akarnám elkerülni, azt szeretném ha a kód tartalmazná.

Hogy tudnék debugolni? Mit nézhetnék meg firefox konzolban?
Láttam ekkora html kódot tömbben.
Illetve esp32 s3ra hogy tudok feltölteni az spiffs területre? Arduino ide az írja not supported.

Köszönöm hogy írtál!
(#) kapu48 válasza Thomas10100 hozzászólására (») Okt 10, 2022 /
 
(Én direkt nem a SPIFFS-t ajánlottam!)
A fatFS gyorsabb és modernebb.
Bővebben: Link

Nekem ez a telómon minden gond nélkül működik minden böngészőben.
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 10, 2022 /
 
Megnézem majd.
De akkor sem értem miért nem működik, szerintem nem nagy a html oldal, nem tudom az összefüggéseket a hibában.
Miért megy telefonon a hibaüzenet, pcre nem.
De ha minden rendben akkor a fájl feltöltés is működik pcről és mobilról is. Csak az update gomb megnyomása után nem nyílik meg a hiba oldal, gondolom a fájl előkészítése elkezdődik és nem tud másik kérést fogadni a böngésző?
(#) kapu48 válasza Thomas10100 hozzászólására (») Okt 10, 2022 /
 
Ha rákeresel a neten, másoknak is vannak hasonló problémái!
Ez inkább a böngészők közötti különbségek oka lehet.
Ezért jobb ha szabványos fájl rendszert használsz, megszűnnek a problémák.
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 10, 2022 /
 
Hogy kerestél, én nem találtam semmit ☹️
(#) kapu48 válasza Thomas10100 hozzászólására (») Okt 10, 2022 /
 
próbáld megnövelni a 200-as idő túllépéseket: server.send(200, F("text/html"), tft_html);
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 10, 2022 /
 
Az a 200 az http kód eddigi tudásom szerint, mit növeljek meg?
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 10, 2022 /
 
Amúgy alatta kikommentezve a sima szöveges kiiratás is csak telefonon megy.
A server.send(500,....
(#) Thomas10100 válasza kapu48 hozzászólására (») Okt 13, 2022 /
 
Kipróbáltam az eredetiEspnextupload könyvtárat, ebben a html fájlok az spiffsen vannak. Csak a 2 hibaüzenetes nem jelenik meg
Ha nagy a fájl ez sem működik.
Telefonról viszont működik, az enyém és ez is chrome és firefox alól is!
(#) rogers hozzászólása Okt 24, 2022 /
 
Szeretném megkérdezni hogy egy shelly eldobta a wifit valami miatt nincs wifi rajta és ha jól értem az esp8266 nem tárol kódot csak a flash 25q128. Elvileg ugye akkor arról fut a program. Ha kicserélem a esp8266-ot nem ,még meg is javulhat?

)

Shelly
(#) nedudgi válasza rogers hozzászólására (») Okt 24, 2022 /
 
Teljes reszet és újratelepítés megvolt?
Az ESP8266 hibája valószínűtlen, valami más külső alkatrész, csatlakozó hibája esélyes.
(#) rogers válasza nedudgi hozzászólására (») Okt 25, 2022 /
 
Igen reset megvolt. De telepiteni nem tudok semmit se mert nincs wifi rajta. Original firmwaret nem találtam amit fel tudnák tölteni. Alpból visszaállt mert most a bemenetet alp beállitáson kezeli nyomogombként, de wifi továbra sincs. Közelről se látja a wifit hogyha antenna nem lenne. Megnézem még hogy nem e ülteti le az antenna kimenetet valami kondi.
(#) nedudgi válasza rogers hozzászólására (») Okt 25, 2022 /
 
Az ESP WiFi eszköz. Ha nem tud csatlakozni egy rúterhez, akkor ő lesz az AP. Az installáló programnak reszet után meg kellene találni.
(#) Lamprologus hozzászólása Nov 3, 2022 /
 
ESP01-es modulnál nem indul el a program táp ráadásakor.
soros portra ennyit küld:
ets Jan 8 2013,rst cause:2, boot mode3,0)

Reset gomb megnyomása után rendesen fut a program.
Külső felhúzó ellenállások elvileg rendben vannak, másik modul rendben működött abban az áramkörben.

Valami ötlet?
(#) Elektro.on válasza Lamprologus hozzászólására (») Nov 3, 2022 /
 
Szia!
Boot módban indul? lehet, hogy gond van a GPIO 0 felhúzásával. Ott nézz körül.

ESP01s
(#) nedudgi válasza Lamprologus hozzászólására (») Nov 3, 2022 /
 
ESP-01, vagy ESP-01S a modul?
Az eredeti ESP-01 szereti, ha az EN láb kisebb ellenállással van felhúzva.
(#) Lamprologus válasza Lamprologus hozzászólására (») Nov 3, 2022 / 1
 
Némi nyűglődés után egyszer csak csoda történt!
Amikor rátettem a kezem a modulra és úgy indítottam, akkor elindult! Levettem a kezem, nem indult!
Na mondom, most vagy én vagyok Jézus és kézrátétellel tudok gyógyítani, vagy itt valami érintkezési hiba van!
Sajnos ez első esetet gyorsan ki kellett zárnom, márcsak szerénységem miatt is, így maradt a második lehetőség!
Elő a nagyító, és a flash memoria egyik lába mintha nem lenne rendesen beforrasztva ... pákát neki! Azóta indul rendesen!
(#) jefflynn hozzászólása Nov 6, 2022 /
 
Sziasztok,
ESP32 NodeMCU modullal játszom (ESP-WROOM-32 van rajta), és az a problémám, hogy a flash feltöltés sebességét nem tudom 115200 fölé vinni. Ez a maximum, amivel működik. Neten keresgélve azt látom, hogy ennek sokkal gyorsabban kellene működnie, 2-3 megabit is lehetséges. A modulon CP2102 usb-soros átalakító van, a neten talált doksik szerint ennek tudni kellene többet. Drivert cseréltem (Win11), feltettem a legújabbat, de nem oldódott meg. Mi lehet a gond?
A hozzászólás módosítva: Nov 6, 2022
(#) jefflynn válasza jefflynn hozzászólására (») Nov 6, 2022 /
 
Valószínűleg egy ótvar hamis CP2102 van a panelen, mert másik (saját tervezésű) áramkörrel működik 921600 sebességen is.
Következő: »»   122 / 137
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem