Fórum témák

» Több friss téma
Lapozás: OK   102 / 137
(#) szili83 válasza usane hozzászólására (») Szept 11, 2020 /
 
Amit írnak, hogy töltsek le: "ESP8266 Controller"
(#) Kovabe válasza usane hozzászólására (») Szept 11, 2020 /
 
Szia

Nekem eddig telefonon a Network IP scanner app jött be, megkeresi minden működő IPcímet és a hozzáférési portokat is. Egy próbát megér.
(#) usane válasza szili83 hozzászólására (») Szept 11, 2020 /
 
Ha ezt töltötted le akkor nem jót töltöttél le.
Ezzel próbáld:

szerk:
Vagy egyszerűen beírod a böngészőbe: 192.168.4.1?pin=ON1 / OFF1 / ON2 / OFF2
A hozzászólás módosítva: Szept 11, 2020
(#) usane válasza usane hozzászólására (») Szept 11, 2020 /
 
Elég fapados, de ahogy elnézem ennyi pénzért az ESP modult nem kapom meg itthon.
(#) usane válasza Kovabe hozzászólására (») Szept 11, 2020 /
 
Én a net analizert használom. Hasonló.
(#) szili83 válasza usane hozzászólására (») Szept 11, 2020 /
 
Ha beírom a böngészőbe nem megy, és a programmal sem, ha beírom az IP-t.
(#) usane válasza szili83 hozzászólására (») Szept 11, 2020 /
 
Ok. Akkor lehet, nem ez a firmware van rajta. Próbáld a 192.168.4.1/on és /off -ot a böngészőben. Esetleg 192.168.4.1/portal/on és /off.
Egyébként hányas verzió van az alján? V1.0?
A hozzászólás módosítva: Szept 11, 2020
(#) usane válasza usane hozzászólására (») Szept 11, 2020 /
 
És ajánlom figyelmedbe ezt is.
Az összekötést megcsinálhatod az ESP modulon is. Amelyik jobban tetszik.
A hozzászólás módosítva: Szept 11, 2020
(#) szili83 válasza usane hozzászólására (») Szept 11, 2020 /
 
Ugyanaz, mint ami a hirdetésben van: Bővebben: Link

Próbáltam, de böngészöből sem megy.

Nem értem, hogy ha az átkötést megcsinálom, akkor miért lesz jó a kommunikáció. Az ESP moduleom nem ugyanaz mint a videóban, mert csak pl 1db LED van rajta.
(#) szili83 válasza szili83 hozzászólására (») Szept 11, 2020 /
 
Esetleg milyen FW-t lenne érdemes letölteni bele, ami működik is?
(#) szili83 hozzászólása Szept 12, 2020 /
 
A másik kérdésem, hogy ezeket a modulokat ha működik, akkor lehet távolról használni? Úgy hogy nem vagyok otthon, nem az otthoni hálózaton vagyok, és mobilról vezérelem?
(#) Kera_Will válasza szili83 hozzászólására (») Szept 12, 2020 / 1
 
Kell.ruteredben egy fix ip cimet szimulalo server kapcsolatot beallitani.
Ezek manapsag mar fizetosek.
Kerni kell szolgaltatotol fix ip cimes elofizetest.

A routert beallitani a "dedikalt" portok atengedesehez amin keresztul elered az eszkozhoz rendelt belso ip cimet+portot

Ezt tudod megtenni.
(#) proba válasza Kera_Will hozzászólására (») Szept 12, 2020 / 1
 
Hamarabb adnak egy domain nevet, azzal is működnie kellene.
(#) usane válasza szili83 hozzászólására (») Szept 12, 2020 / 1
 
Azért mert a CH_EN pinnek magasan kell lennie. hogy a falshről bootoljon. Bár elvileg, ha látod a wifit bebotolt, de ha lebeg ki tudja hogy viselkedik. Az R2 meg szintén nem engedi bootolni, mert az a rajz szerint lehúzza a GPIO0-t aminek magasan kell lennie, azért kell kivenni.
Nem biztos, hogy a tiéden így van, ki kellene sípolgatni.
Nem tudom milyen firmware van rajta, mit vár bemenő paraméternek, többfajtát láttam a neten.
(#) usane válasza szili83 hozzászólására (») Szept 12, 2020 / 1
 
2 verzió lehetséges, ha nem akarsz fizetni.
1. Nem kell semmilyen domain, vannak ingyenes DDNS szolgáltatók, némely router gyártónak sajátja is van. Olyan router kell ami tud valamilyen VPN szervert futtatni, manapság általában mind tudja valamelyiket. Beállítasz egy DDNS, meg egy VPN-t a routereden, a teleffonodra felteszel egy VPN appot, ami tudja kezelni azt a fajta VPN kapcsolatot amit a routered. Ha távol vagy felcsatlakozol a VPN-re és máris eléred az ESP-t.(böngészővel, vagy appal, ha van vagy készítesz hozzá)
2. Keresel egy ingyenes felhőszolgáltatót. Thingspeak, google mittudomén, (Blynk a legegyszerübb, csak ingyenesen korlátozott) és az ESP-re olyan szoftvert töltesz ami lekérdezgeti a felhőről az adott adatot(pl:kapcsoló állapota) Itt kell persze olyan app ami kezelni tudja a felhőben azt az adatot. A blynknek saját appkészítője van, azért írtam az a legegyszerübb.
(#) neogeo2 válasza szili83 hozzászólására (») Szept 12, 2020 / 1
 
Írtak a kedves forumtarsak itt már sok mindent, ami működik. De leírom hogy nekem hogyan van megoldva és talán a legegyszerűbb ha nem szeretnél pluszban fizetni semmiért (pl. fix IP, stb.)
Amire szükséged van, az egy regisztráció valamelyik dinamikus dns szolgáltatásra. A routeredben be kell állítani az ip címed automatikus frissítését. Célszerű olyan ddns szolgáltatót választani, amelyiket tudja frissíteni a routered. Ha ez megvan, kell még egy portforwardot beállítani az esp modulhoz. Természetesen az esp a helyi hálózatban kapjon fix ip-t. Ezt a routeredben is meg tudod csinálni mégpedig úgy, hogy ennek az eszköznek mindig ugyan azt az ip-t ossza a dhcp szerver. A másik lehetőség az esp-nel beállítani az ip-t és nem a dhcp- szerverről kérni minden bekapcsolaskor (ekkor célszerű olyan ip beállítani amit nem oszt ki a dhcp szerver).
Ha mindent megcsinalsz így, akkor az akármi.dyn.com:1234 címen böngészőből tudod piszkálni az esp modulodat.
(#) rogers hozzászólása Szept 29, 2020 /
 
Sziasztok.

Azt szeretném kérdezni hogy mi miatt csuszik a kommunikáció?

Elküldöm az esp-nek a stringet és kb 5 sec múlva érkezik válasz vissza a kliensnek.
Próbáltam már android,pc alól is, de ugyanúgy késik ezért az esp kódra gondoltam h valami miatt lassú?

  1. #include <ESP8266WiFi.h>
  2. #include <WebSocketClient.h>
  3. #include <WiFiClient.h>
  4.  
  5. /* Set these to your desired credentials. */
  6. const char *AP_ssid = "Ecet";
  7. const char *AP_passkey = "12345678";
  8.  
  9. int status = WL_IDLE_STATUS;
  10. boolean alreadyConnected[2] ; // whether or not the client was connected previously
  11.  
  12. WiFiServer server(6000);
  13. WiFiClient client[2];
  14.  
  15. #define Config_Led D2
  16.  
  17. void setup()
  18. {
  19.     //delay(1000);
  20.     //Serial.begin(115200);
  21.    // Serial.println();
  22.    // Serial.println("\nConfiguring access point...");
  23.    // WiFi.mode(WIFI_AP);
  24.     WiFi.softAP(AP_ssid, AP_passkey);
  25.     //delay(10000);
  26.     IPAddress myIP = WiFi.softAPIP();
  27.    // Serial.print("AP IP address: ");
  28.     //Serial.println(myIP);
  29.  
  30.    // Serial.println("\nStarting server...");
  31.     // start the server:
  32.     server.begin();
  33.    // Serial.println("\nServer Started.");
  34. }
  35.  
  36. void loop()
  37. {
  38.     String szoveg = "safe";
  39.     unsigned int i;
  40.     for (i= 0; i<2; i++)
  41.     {
  42.         // wait for a new client:
  43.         if (!client[i])
  44.         {
  45.             client[i] = server.available();
  46.         }
  47.         else
  48.         {
  49.             if (client[i].status() == CLOSED)
  50.             {
  51.                 client[i].stop();
  52.                // Serial.print("\nConnection closed on client: "  );
  53.                // Serial.println(i);
  54.                // Serial.println();
  55.                 alreadyConnected[i] = false;
  56.             }
  57.  
  58.             else
  59.             {
  60.                 if(!alreadyConnected[i]) // when the client sends the first byte, say hello:
  61.                 {
  62.                     // clean out the input buffer:
  63.                     client[i].flush();
  64.                     //Serial.print("\nNew client: ");
  65.                     client[i].println("Hello, client !");
  66.                    // Serial.println(i);
  67.                     alreadyConnected[i] = true;
  68.                 }
  69.  
  70.                 if (client[i].available())
  71.                 {
  72.                     // read the bytes incoming from the client:
  73.                     String data = client[i].readString();
  74.                     // echo the bytes back to the client:
  75.                     // client[i].print(data);
  76.                     if(szoveg.compareTo(data)==0){
  77.                         client[i].println("ok");
  78.                         client[i].println("ok1");
  79.                         client[i].println("ok2");
  80.                         client[i].println("ok3");
  81.                         client[i].println("ok4");  }
  82.                         //Serial.println("A ket szoveg megegyezik");
  83.                     else
  84.                         //Serial.println("Nem egyformak");
  85.  
  86.                      
  87.                      
  88.                     // echo the bytes to the server as well:
  89.                    client[i].println("nemok");
  90.                    // Serial.println(data);
  91.                 }              
  92.             }
  93.         }
  94.     }
  95. }
(#) phr3ak válasza rogers hozzászólására (») Szept 29, 2020 /
 
pc oldalon milyen sw a vevő? Ez mi WiFiServer server(6000) ? client[i].println("Hello, client !"); végére tegyed az aktuális sorvégjelet. Rendszerfüggő \n vagy \r\n általában. Esetleg egy client[i].flush(); is megfelelő lehet. Ezekre tippelek.
A hozzászólás módosítva: Szept 29, 2020
(#) rogers válasza phr3ak hozzászólására (») Szept 29, 2020 /
 
A server(6000) tcp 6000 port amin kommunikál. Kiprobáltam de még mindig késik a visszaküldés 5mp-t.
A hozzászólás módosítva: Szept 29, 2020
(#) proba hozzászólása Okt 13, 2020 /
 
Összehoztam a példaprogramból az alábbi "eeprom" kezelő teszt programot. Szerintem első bekapcsoláskor az első olvasó résznek valami random ( esetleg 0) tartalmú adatot kellene szolgáltatni, második bekapcsolásra pedig az általam beírt adatokat. A beírás működik, mert a loop ciklusban visszaolvassa a beírt értéket, de mégis van valami hiba a dologban, mert induláskor nem kapom vissza soha a beírt adatokat, csak 00-t. (elvileg a setupban, és a loopban lévő kiolvasó programrész azonos ). Mit nem tudok még az eeprom kezelésről, mit nem állítottam be jól, tud valaki egy kikapcsolás után is visszaolvasható példaprogrammal szolgálni?
  1. #include <EEPROM.h>
  2.  
  3. int addr = 0;
  4.  
  5.  
  6.  void setup()
  7.  
  8. {
  9.   EEPROM.begin(512);  //Initialize EEPROM
  10.   Serial.begin(9600);
  11.  
  12.   addr=0;
  13.   Serial.println("kezd");
  14.   Serial.print(char(EEPROM.read(addr)));
  15.   addr++;                      //Increment address
  16.   Serial.print(char(EEPROM.read(addr)));
  17.   addr++;                      //Increment address
  18.   Serial.println(char(EEPROM.read(addr)));
  19.  
  20.   //Read string from eeprom (testing eeprom)
  21.   String strText;  
  22.   for(int i=0;i<14;i++)
  23.   {
  24.     strText = strText + char(EEPROM.read(0x0F+i)); //Read one by one with starting address of 0x0F    
  25.   }  
  26.  
  27.   Serial.print(strText);  //Print the text
  28.    
  29.   addr = 0;
  30.   // write to EEPROM.
  31.   EEPROM.write(addr, 'a');    
  32.   addr++;                      //Increment address
  33.   EEPROM.write(addr, 'b');  
  34.   addr++;                      //Increment address
  35.   EEPROM.write(addr, 'C');    
  36.  
  37.   //Write string to eeprom
  38.   String sample = "testing eeprom";
  39.   for(int i=0;i<sample.length();i++)
  40.   {
  41.     EEPROM.write(0x0F+i, sample[i]); //Write one by one with starting address of 0x0F
  42.   }
  43.   EEPROM.commit();    //Store data to EEPROM
  44.  
  45.   Serial.print("beirva");
  46. }
  47.  
  48. void loop()  
  49.  {
  50.   addr=0;
  51.  
  52.   Serial.println("");
  53.   Serial.print(char(EEPROM.read(addr)));
  54.   addr++;                      //Increment address
  55.   Serial.print(char(EEPROM.read(addr)));
  56.   addr++;                      //Increment address
  57.   Serial.println(char(EEPROM.read(addr)));
  58.  
  59.   //Read string from eeprom (testing eeprom)
  60.   String strText;  
  61.   for(int i=0;i<14;i++)
  62.   {
  63.     strText = strText + char(EEPROM.read(0x0F+i)); //Read one by one with starting address of 0x0F    
  64.   }  
  65.  
  66.   Serial.print(strText);  //Print the text
  67.   delay(2000);
  68. }
(#) usane válasza proba hozzászólására (») Okt 13, 2020 /
 
Ha jól tudom a commit-et minden írás után végre kell hajtani.

Igen. megnéztem a saját kódomat.
pl:
  1. for(j=0; j<=6; j++)
  2.     {
  3.       EEPROM.write(j,Mod_SET_Temp[j]);
  4.       while(!EEPROM.commit());
  5.     }


Szerk: egyébként van ennél frisebb könyvtár is a non-volatile adatok kezelésére , de nekem is egyszerűbb volt ez elsőre.
A hozzászólás módosítva: Okt 13, 2020
(#) usane válasza usane hozzászólására (») Okt 13, 2020 /
 
Ha byte tömböt akarsz beírni(karaktertömb) akkor lehet, hogy a EEPROM.put parancs jobb választás. Ezt nem használtam, nem tudok róla nyilatkozni.
(#) proba válasza usane hozzászólására (») Okt 13, 2020 /
 
Benne van az is, maximum nincs rá várakozás. Be is írja látszólag valahova, de induláskor akkor sem látszik. Két ( szerintem) egyforma olvasó rutin van ( ctrl-c ctrl-v) , egy induláskor, egy meg a beírás után. A beírás utáni látszólag hiba nélkül visszaolvassa a beírt adatokat akárhányszor, a beírás előtti pedig minden induláskor 00-t ad vissza, az elvárt beírt adatok helyett.
(#) usane válasza proba hozzászólására (») Okt 13, 2020 /
 
sample.length() -> ez mi? Nem használtam, ez mit ad vissza? Nem inkább a sizeof() függvény kellene?
(#) usane válasza usane hozzászólására (») Okt 13, 2020 /
 
Közben megnéztem, karakterek számát adja vissza. Gyűlölöm ezeket a String függvényeket. karaktertömb nem jobb?
Szemre jónak tűnik a kód, de már fáradt vagyok, lehet elnézek valamit.
(#) usane válasza proba hozzászólására (») Okt 13, 2020 /
 
Nincs ezzel semmi baj, nálam működik.
(#) proba válasza usane hozzászólására (») Okt 13, 2020 /
 
Odáig jutottam, mint érdekesség, a te
while(!EEPROM.commit());
sorodra lecserélem a sima EEPROM.commit() sort, a program ott megállt és vár, ha kikommentezem az EEPROM.commit() sort, az utána következő visszaolvasás látszólag akkor is működik.
Ha nálad az újra indítás után már az első visszaolvasás is a módosított adatokat adja, nem nullát, akkor nekem vagy a lib, vagy az ESP rossz.... Kezdem az olcsóbbal, libet cserélek.
(#) usane válasza proba hozzászólására (») Okt 13, 2020 /
 
Nem hiszem, hogy a lib a baja, az EEPROM lib be van építve az ESP hardveres libjei közé, nem kell hoozzá külön libet letölteni.
Nálam gond nélkül megy a NodeMCU-n.
A hozzászólás módosítva: Okt 13, 2020
(#) proba válasza usane hozzászólására (») Okt 13, 2020 /
 
Köszönöm a segítséget, egy másik libet kerestem, az is közölte, amit eddig is gondoltam, a commit false. Ezután az én D1 alaplapnak titulált alaplap beállításomat lecseréltem NodeMCU beállításra, ezzel már azt csinálja amit elgondoltam. Csak azt nem értem, a NEM írás után a visszaolvasás milyen pufferből történt...( mindkét lib visszaolvasta gond nélkül, a fel nem írt adatokat) Ez összezavarta a hibakereső algoritmusomat....
(#) nedudgi válasza usane hozzászólására (») Okt 13, 2020 /
 
A nyelv ismerete nélkül annyit tudok hozzátenni, hogy valószínűleg az egyik a maximális, definiált hosszat, a másik az aktuális hosszúságot adja.
Következő: »»   102 / 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