Fórum témák

» Több friss téma
Lapozás: OK   46 / 137
(#) morzsa15 válasza Bakman hozzászólására (») Okt 14, 2017 /
 
Ezeket néztem csak az a baj hogy 2 ezer forint egy ilyen modul.
(#) pisti hozzászólása Okt 15, 2017 /
 
Szeretném beindítani a D1 mini WiFi modult, hogy majd az Arduino Uno-val működjön. Miután rádugtam az USB-re nem találta meg automatikusan és nem is látja a gép. Letöltöttem egy programot "Nodemcu Firmware Programmer", de itt sem jelenik meg a Com port. Az arduino-m mindig megadja a port számát.
Miket kellene letelepíteni? Mikor kell 3,3 V-ot adni neki? Gondolom, ha az arduino 3,3 V-os pontjairól levehetem a feszültséget?
(#) Tardief válasza pisti hozzászólására (») Okt 15, 2017 /
 
Próbáld meg ezt.
Ha minden igaz, akkor ilyen serial converter van rajta.
A hozzászólás módosítva: Okt 15, 2017
(#) TavIR-AVR válasza pisti hozzászólására (») Okt 16, 2017 /
 
Nem. Az UNO 3.3V@150mA kevés neki.
A WiFi ~250 mA áramigénnyel is fellép!
(#) pisti válasza Tardief hozzászólására (») Okt 16, 2017 /
 
Szia! Köszönöm, most már megvan a kapcsolat! Most jöhet a további lépések keresése. Jó lenne valami kezdő információ, alap leírás. Ilyenek keresését kezdem meg.
A hozzászólás módosítva: Okt 16, 2017
(#) pisti hozzászólása Okt 16, 2017 /
 
Sziasztok! Ráakadtam a Roboremo alkalmazásra. Szeretném, ha telefonról tudnék kapcsolgatni LED-eket. Elővettem egy már nam használt TP routert, meg van a ESP8266 D1 mini is. A D6, D7, és D8 kivezetéseket használnám. Ez így működő képes-e?
(#) nedudgi válasza pisti hozzászólására (») Okt 16, 2017 /
 
Valószínűleg működőképes összeállítást is lehet csinálni vele, de minek hozzá a router? Ott a telefon.
(#) gerleimarci válasza pisti hozzászólására (») Okt 17, 2017 /
 
Én is szerettem volna RC autót csinálni azzal az APP-al, de nekem nem tűnt stabilnak. Random megszűnt a kommunikáció, stb.
(#) gabilow hozzászólása Okt 17, 2017 /
 
Üdv!
Blynkkel nem lehet még DirectConnenctet csinálni? Próbáltam ezzel,de a golyócskák csak pörögtek,nem akart csatlakozni. Felhő nélkül nem megy? Wemosd1 minim van.Köszi.
(#) pisti válasza gerleimarci hozzászólására (») Okt 19, 2017 /
 
De miért?
A leakadásoknak nem jöttél rá az okára?
Meddig jutottál el az autóval? Én is ezt terveztem a végén.
(#) Firefighter1 hozzászólása Okt 20, 2017 /
 
Sziasztok!

Belefutottam egy "érdekes" folyamatábrás online programozókörnyezetbe.
csináltam neki egy topicot

Használja valaki? Esetleg van rola tapasztalatotok? Elég sok tutorial is van fent rola...
(#) andyka hozzászólása Okt 20, 2017 /
 
Hello
Segitsetek ki a kovetkezo (kiserleti) koddal
Azt szeretnem hogy a „Temp =” villogjon amikor a „blinkStatus == 1” es ne villogjon amikor az erteke nulla.
A „blinkStatus” erteket helyesen megjeleniti a web-lapon, de a villogas az elmarad.
Innen van az inspiracio
Vagy szukseg lenne az on-line mod, csak AP modba ellenoriztem
  1. const char root_web[] PROGMEM = R"=====(
  2. </HTML>
  3. <SCRIPT type='text/javascript'>
  4. var xmlHttp=createXmlHttpObject();
  5. var value;
  6. function createXmlHttpObject(){ if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); }
  7.                                 return xmlHttp; }
  8. function process(){ if(xmlHttp.readyState==0 || xmlHttp.readyState==4){ xmlHttp.open('PUT','xml',true);
  9.                                                                         xmlHttp.onreadystatechange=handleServerResponse;
  10.                                                                         xmlHttp.send(null); }
  11.                     setTimeout('process()',5000);   }
  12. function handleServerResponse(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ xmlResponse=xmlHttp.responseXML;
  13.                                                                                    xmldoc = xmlResponse.getElementsByTagName('response_MEL');
  14.                                                                                    message = xmldoc[0].firstChild.nodeValue;
  15.                                                                                    document.getElementById('MELEGIT').innerHTML=message;
  16.                                                                                    xmldoc = xmlResponse.getElementsByTagName('responseLDR');
  17.                                                                                    message = xmldoc[0].firstChild.nodeValue;
  18.                                                                                    document.getElementById('LDR').innerHTML=message;
  19.                                                                                    xmldoc = xmlResponse.getElementsByTagName('response_temp');
  20.                                                                                    message = xmldoc[0].firstChild.nodeValue;
  21.                                                                                    document.getElementById('temp').innerHTML=message;
  22.                                                                                    xmldoc = xmlResponse.getElementsByTagName('response_blinkStatus');
  23.                                                                                    message = xmldoc[0].firstChild.nodeValue;
  24.                                                                                    document.getElementById('blinkStatus').innerHTML=message;  
  25.                                                                                    
  26.                                                                                     value = response_blinkStatus;
  27.                                                                                    }  }
  28.  
  29.                    
  30. var Blinker = { interval: null,
  31.                 start: function() {  if (this.interval) return;
  32.                                      this.interval = setInterval(function() { $('#blink').toggle(); },
  33.                                      250);  },
  34.                                      stop: function() { clearInterval(this.interval);
  35.                                                         $('#blink').show();
  36.                                                         this.interval = null;  } }
  37.  
  38. setInterval(function() { if (value == 1) { Blinker.start(); } else { Blinker.stop(); } }, 250);                    
  39.                    
  40.        
  41. </SCRIPT>
  42. <BODY onload='process()' style='font-size: 35pt;'><BR>
  43. <BR>This is the ESP website ...<BR><BR>
  44. Melegit = <b><A id='MELEGIT'></A></b><BR>
  45. LDR = <b><A id='LDR'></A></b><br>
  46. Blinkk = <b><A id='blinkStatus'></A></b><br>
  47. <p id="blink">Temp = </p><b><A id='temp'></A></b><br>
  48. <a href='/login?DISCONNECT=YES'><b>DISCONNECT</b></a>
  49. </BODY>
  50. </HTML>
  51. )=====";
A hozzászólás módosítva: Okt 20, 2017

kod.txt
    
(#) gerleimarci válasza pisti hozzászólására (») Okt 21, 2017 /
 
Nem igazán jöttem rá az okára, de úgy vettem észre, hogy a telefonos alkalmazásban van valami hiba. Ja és van egy minimális késése, amit bluetooth-al nem vettem észre.
Egy csúszókormányos autót terveztem vele, ami 2 csúszkával ment volna, és az akku feszültségét is visszaküldi. Előkerestem a kódot. A kommenteket ne nézd, az benne maradt az eredetiből. A végén van az akkus rész, ami egyelőre csak random számokat küld.
  1. // 4-channel RC receiver for controlling
  2. // an RC car / boat / plane / quadcopter / etc.
  3. // using an ESP8266 and an Android phone with RoboRemo app
  4.  
  5. // Disclaimer: Don't use RoboRemo for life support systems
  6. // or any other situations where system failure may affect
  7. // user or environmental safety.
  8. int randval;
  9. #include <ESP8266WiFi.h>
  10. #include <WiFiClient.h>
  11.  
  12. // config:
  13.  
  14. const char *ssid = "mywifi";  // You will connect your phone to this Access Point
  15. const char *pw = "qwerty123"; // and this is the password
  16. IPAddress ip(192, 168, 0, 1); // From RoboRemo app, connect to this IP
  17. IPAddress netmask(255, 255, 255, 0);
  18. const int port = 9876; // and this port
  19.  
  20. const int chCount = 2; // 4 channels, you can add more if you have GPIOs
  21. int chPinA[] = {D5, D7}; // ESP pins: GPIO 0, 2, 14, 12
  22. int chPinB[] = {D6, D8};
  23. int chVal[] = {0, 0}; // default value (middle)
  24.  
  25.  
  26. WiFiServer server(port);
  27. WiFiClient client;
  28.  
  29.  
  30. char cmd[100]; // stores the command chars received from RoboRemo
  31. int cmdIndex;
  32. unsigned long lastCmdTime = 60000;
  33. unsigned long aliveSentTime = 0;
  34.  
  35.  
  36. boolean cmdStartsWith(const char *st) { // checks if cmd starts with st
  37.   for (int i = 0; ; i++) {
  38.     if (st[i] == 0) return true;
  39.     if (cmd[i] == 0) return false;
  40.     if (cmd[i] != st[i]) return false;;
  41.   }
  42.   return false;
  43. }
  44.  
  45.  
  46. void exeCmd() { // executes the command from cmd
  47.  
  48.   lastCmdTime = millis();
  49.  
  50.   // example: set RoboRemo slider id to "ch0", set min 1000 and set max 2000
  51.  
  52.   if ( cmdStartsWith("ch") ) {
  53.     int ch = cmd[2] - '0';
  54.     if (ch >= 0 && ch <= 9 && cmd[3] == ' ') {
  55.       chVal[ch] = (int)atof(cmd + 4);
  56.       if (chVal[ch] >= 0)
  57.       {
  58.         analogWrite(chPinA[ch], chVal[ch]);
  59.         analogWrite(chPinB[ch], 0);
  60.       }
  61.       else
  62.       {
  63.         analogWrite(chPinA[ch], 0);
  64.         analogWrite(chPinB[ch], chVal[ch] * (-1));
  65.       };
  66.       Serial.print(ch);
  67.       Serial.print(' ');
  68.       Serial.println(chVal[ch]);
  69.  
  70.     }
  71.   }
  72. }
  73.  
  74.  
  75.  
  76. void setup() {
  77.  
  78.   delay(1000);
  79.  
  80.   cmdIndex = 0;
  81.   pinMode(A0, INPUT);
  82.   Serial.begin(115200);
  83.  
  84.   WiFi.softAPConfig(ip, ip, netmask); // configure ip address for softAP
  85.   WiFi.softAP(ssid, pw); // configure ssid and password for softAP
  86.   server.begin(); // start TCP server
  87.  
  88.   Serial.println("ESP8266 RC receiver 1.1 powered by RoboRemo");
  89.   Serial.println((String)"SSID: " + ssid + "  PASS: " + pw);
  90.   Serial.println((String)"RoboRemo app must connect to " + ip.toString() + ":" + port);
  91.  
  92.   for (int ch = 0; ch < chCount; ch++) {
  93.     pinMode(chPinA[ch], OUTPUT);
  94.     pinMode(chPinA[ch], OUTPUT);
  95.     analogWrite(chPinA[ch], 0);
  96.     analogWrite(chPinB[ch], 0);
  97.   }
  98. }
  99.  
  100.  
  101. void loop() {
  102.  
  103.   // if contact lost for more than half second
  104.   if (millis() - lastCmdTime > 500) {
  105.     for (int ch = 0; ch < chCount; ch++) {
  106.     analogWrite(chPinA[ch], 0);
  107.     analogWrite(chPinB[ch], 0);
  108.   }
  109.       // set all values to middle
  110.    
  111.   }
  112.  
  113.  
  114.  
  115.   if (!client.connected()) {
  116.     client = server.available();
  117.     return;
  118.   }
  119.  
  120.   // here we have a connected client
  121.  
  122.   if (client.available()) {
  123.     char c = (char)client.read(); // read char from client (RoboRemo app)
  124.  
  125.     if (c == '\n') { // if it is command ending
  126.       cmd[cmdIndex] = 0;
  127.       exeCmd();  // execute the command
  128.       cmdIndex = 0; // reset the cmdIndex
  129.     } else {
  130.       cmd[cmdIndex] = c; // add to the cmd buffer
  131.       if (cmdIndex < 99) cmdIndex++;
  132.     }
  133.   }
  134.  
  135.   if (millis() - aliveSentTime > 500) { // every 500ms
  136.     client.write("alive 1\n");
  137.     // send the alibe signal, so the "connected" LED in RoboRemo will stay ON
  138.     // (the LED must have the id set to "alive")
  139.  
  140.     randval = random(0, 101);
  141.     String str = (String)"batt " + randval + "\n";
  142.     client.print(str);
  143.     aliveSentTime = millis();
  144.     // if the connection is lost, the RoboRemo will not receive the alive signal anymore,
  145.     // and the LED will turn off (because it has the "on timeout" set to 700 (ms) )
  146.   }
  147.  
  148. }
A hozzászólás módosítva: Okt 21, 2017
(#) andyka válasza andyka hozzászólására (») Okt 23, 2017 /
 
Hali, ugyanazzal kuszkodok,
Segitsetek ki, hogyan tudnam atadni a „blinkStatus” erteket a „value”-nak, hogy majd felhasznaljam ezt a blinker fuggvenybe ?
  1. function handleServerResponse(){
  2.      if(xmlHttp.readyState==4 && xmlHttp.status==200){
  3.         xmlResponse=xmlHttp.responseXML;
  4.         xmldoc = xmlResponse.getElementsByTagName('response_blinkStatus');
  5.         message = xmldoc[0].firstChild.nodeValue;
  6.         document.getElementById('blinkStatus').innerHTML=message;  }  }
  7.  
  8.  var value = ???
  9.  if(value == 1){ var blink_speed = 250;
  10.                  var t = setInterval(function () {
  11.                        var ele = document.getElementById('blinker');
  12.                        ele.style.visibility = (ele.style.visibility == 'hidden' ? '' : 'hidden'); }, blink_speed); }
A hozzászólás módosítva: Okt 23, 2017
(#) sanyisay válasza andyka hozzászólására (») Okt 23, 2017 /
 
egy tipp:
létrehozod a /value/ változót aztán a
/handleServerResponse()/ függvényt, aztán azon belül a
/message/ tartalmazza a kapott érétket így azt kellene value-be tölteni, aztán
felhasználod ahogy szeretnéd.

Utolsó példádban azt is érdemes lenne átgondolni hogy az "if(value == 1)" és handleServerResponse() mikor fut ? Nincs loop(), kell valami esemény hogy valami többször fusson.
A hozzászólás módosítva: Okt 23, 2017
(#) andyka válasza sanyisay hozzászólására (») Okt 23, 2017 /
 
Koszi a tippet, de azt hiszem nem sikerult egeszen ertheto legyek a kerdessel.
A kod reszlet az a html -bol van , a
  1. const char root_web[] PROGMEM = R"=====(
  2. -------------------------------------------------
  3.    function handleServerResponse(){
  4.         if(xmlHttp.readyState==4 && xmlHttp.status==200){
  5.            xmlResponse=xmlHttp.responseXML;
  6.            xmldoc = xmlResponse.getElementsByTagName('response_blinkStatus');
  7.            message = xmldoc[0].firstChild.nodeValue;
  8.            document.getElementById('blinkStatus').innerHTML=message;  }  }
  9.    
  10.     var value = ???
  11.     if(value == 1){ var blink_speed = 250;
  12.                     var t = setInterval(function () {
  13.                           var ele = document.getElementById('blinker');
  14.                           ele.style.visibility = (ele.style.visibility == 'hidden' ? '' : 'hidden'); }, blink_speed); }
  15. ---------------------------------------------------------
  16. )=====";

Ami ide kellene az csak a browser feluleten futna.
Vagyis, az ESP8266 elkuldi rendesen az adatokat, amelyek mind meg is jelennek rendesen.
Azt szeretnem elerni hogy a „blinkStatus” erteket felhasznaljam a blink fuggveny inditasahoz. Ha megadom a „var value = 1;” erteket mar a kodba, vagis az 1-et akkor mukodik
Lenyegebe HTML, AJAX kodolasra lenne szukseg
A hozzászólás módosítva: Okt 23, 2017
(#) andyka válasza andyka hozzászólására (») Okt 23, 2017 /
 
Pontositas: a fenti kod az a weblap script -jebol valo.
A „handleServerResponse” megvan, csak valahogy a kapott erteket, a „blinkStatus” nem tudom egyebre hasznalni mint hogy kiiratom a weblapon.
At szertnem adni az erteket a „value” -nak. javascript
A hozzászólás módosítva: Okt 23, 2017
(#) sanyisay válasza andyka hozzászólására (») Okt 23, 2017 /
 
Rossz hír, hogy én erre válaszoltam.

Azt kellene tudnod hol kapod meg az esp-felől érkező adatot.

  1. document.getElementById('blinkStatus').innerHTML=message;

Mivel ez a sor változtatja meg a blinkStatus értékét így a message tartalmazza azt ami neked kell.

  1. message = xmldoc[0].firstChild.nodeValue;

Ebben a sorban töltjük fel a message változót az esp felől érkező adattal.
Ugyanígy a value is feltölthető.

Aztán már csak ellenőrizni kell a value értékét. Az az if ami ezt ellenőrizné a te kódodban valószínű, hogy csak egyszer fut le az oldal betöltődésekor, pedig az lenne a jó ha mindig lefutna ha adat jön az esp felől. Tehát amikor a message (most már value) értéket kap, közvetlen utána kell ellenőrizni.
Még a function handleServerResponse() függvényen bellül.


Alert vagy console log használatával könnyen ellenőrizhetet hol mit csinál épp a kódod.
Bővebben: Link
(#) andyka válasza sanyisay hozzászólására (») Okt 24, 2017 /
 
Hali
Koszi a segitseget, hasznos info volt es hala neki megoldottam . Ugy volt ahogy irtad.
Mellekelem ha esetleg erdekelne meg valakit
A hozzászólás módosítva: Okt 24, 2017

kod1.txt
    
(#) sanyisay válasza andyka hozzászólására (») Okt 24, 2017 /
 
Szívesen..
Viszont én továbbra is erősen javasolnám, HTML tanuláshoz és fejlesztéshez az offline magoldást.
ESP akkor is küldi az adatokat ha az oldalt és a hozzá tartozó fájlokat nem az esp-n tartod hanem a kliensen (pc-n). Aztán amikor kész az oldal akkor csak áttöltöd az esp-re, mondjuk akár a fájlrendszerére, és kész is, de ha olyan html szerkesztőt használsz ami egyből ftp-re tölti a mentett, változtatott weboldal fájlt, akkor még a feltöltésre sem kell időt fordítanod, és bármikor könnyen módosíthatod. Valamint a másolata megmarad PC-n. Visual Studio Code Nálam most épp ez a favorit. "Egyszerű használni", rendezi a sorokat, ellenőrzi a hibákat, felajánlja a lehetőségeket. Nagy segítség ez mikor belendül az ember.
Szerintem.
(#) Pepebá hozzászólása Okt 26, 2017 /
 
Üdv.
Tud valaki segíteni?
ESP-12S-vel nem boldogulok. RX-TX összezárva WIFI működik.Az ip cím meg van, de nem tudok belépni. (web lap nem megjeleníthető) putty-al sem.
Soros kommunikációnál nincs válasz, esetenként vissza jön a parancs mintha a rx-tx össze lenne kötve.
Esploler azt mondja 'nem megfelelő válasz, nem megfelelő firmware.
FlashDowload pedig nincs szinkron.
Táp megfelelő áramú, van 10mikrós kondi, soros kommunikáció ipari USB/RS232, de próbáltam a Pl-s szériával is.
(#) dokidoki válasza Pepebá hozzászólására (») Okt 26, 2017 /
 
Idézet:
„soros kommunikáció ipari USB/RS232,”

Ezt úgy érted, hogy rendes +12 -12Voltal kommunikáló kábelt kötöttél az ESP-re?
Mert ide inkább TTL - UART kell.
(#) nedudgi válasza Pepebá hozzászólására (») Okt 26, 2017 /
 
Milyen firmware van rajta?
(#) Pepebá válasza dokidoki hozzászólására (») Okt 26, 2017 /
 
Ez egy MOXA USB to serial adapter, +-5V-t lehet mérni az rx-tx-en.
Félre tettem és próbálkozom újra a TTL- UAtRT-al, de ugyan az a helyzet.
Induláskor GPIO0,GPIO2 high akkor folyamatosan küld valami értelmezhetetlen adatokat és a kék led is villog.
De programozói módba nem lép be, reset+GPIO0 low-ra
(#) Pepebá válasza nedudgi hozzászólására (») Okt 26, 2017 /
 
Azt honnan (hogyan) tudom meg ha nincs kommunikáció?
(#) nedudgi válasza Pepebá hozzászólására (») Okt 26, 2017 /
 
Az RS232 +/- 5V feszültsége lehet hogy sok volt a +3,3V feszültségre tervezett lábaknak. Az ESP12S milyen panelra van forrasztva?
Először egy terminál program (PUTTy, TeraTerm, HyperTerminal), 74800Bd sebességel ellenőrizd, hogy tud-e még adni. Ekkor lejátssza a bevezetőt, kiírja, milyen lábkombinációt érzékel.
Ha ez még működik, meg lehet próbálkozni a 9600Bd, 19200Bd, 112500Bd sebességgel. Valamit látnod kell.
(#) dokidoki válasza Pepebá hozzászólására (») Okt 26, 2017 /
 
Ha jól értem, +5 és mínusz 5 Volt van az adapteren. Ez még megfelel az ipari elvárásoknak, de nem felel meg ide. Ha van USB - UART-TTL kábeled, akkor a TX-RX vonallal sorban 1-3,3K ellenállás elviselhetővé tenné a modulnak az 0 - 5Volt jelet.
Nálam 74800 körül kezd, de átvált 115200 Baudra és ott kommunikál.
(#) Pepebá válasza nedudgi hozzászólására (») Okt 26, 2017 /
 
A TávIR-nál vásároltam az ESP-ket és panelt is. Először TTL-UART-l próbálkoztam 1. ESP-vel sikertelenség miatt próbálkoztam meg az RS232-t a 2. ESP-vel. Mindét esetben ugyan az az eredmény, vagyis nincs eredmény.
Jelenleg 74800Bd-vel van bevezető, (gpio0 low): rst cause:2, mode (1,0)
(gpio0 high): rst cause:2, mode (3,0) utána még sok adat, majd folyamatosan HEX karakterek
(#) nedudgi válasza Pepebá hozzászólására (») Okt 26, 2017 /
 
Szerintem TávIR-t kérdezd meg, milyen firmware van rajta.
Odáig eljutottunk, hogy az adás vonal jó. A övetkező lépés, hogy újraindítjuk, de már 9600(19200,115200)Bd sebességel figyelve. Az elején a bootloader él, most a rátöltött fimware szövege a fontos. A sok adat, meg a hexadecimális izéket kellene emészthető formába hozni, valószínűleg elég lesz a sebesség változtatása.
A hozzászólás módosítva: Okt 26, 2017
(#) Pepebá válasza dokidoki hozzászólására (») Okt 26, 2017 /
 
74800 Baudnál nálam is kezd már, de valószínű mikor átvált 115200-ra csak értelmezhetetlen jelek jönnek.
Következő: »»   46 / 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